Outgoing data packets are dropped if there is no active link, MultihopAction
renamed to Action (as it should be)
--- a/src/devices/mesh/dot11s/dot11s-mac-header.cc Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/dot11s-mac-header.cc Wed Apr 29 16:56:28 2009 +0400
@@ -178,18 +178,18 @@
);
}
/**********************************************************
- * MultihopActionFrame
+ * ActionFrame
**********************************************************/
-WifiMeshMultihopActionHeader::WifiMeshMultihopActionHeader ()
+WifiMeshActionHeader::WifiMeshActionHeader ()
{
}
-WifiMeshMultihopActionHeader::~WifiMeshMultihopActionHeader ()
+WifiMeshActionHeader::~WifiMeshActionHeader ()
{
}
void
-WifiMeshMultihopActionHeader::SetAction (
- WifiMeshMultihopActionHeader::CategoryValue type,
- WifiMeshMultihopActionHeader::ActionValue action)
+WifiMeshActionHeader::SetAction (
+ WifiMeshActionHeader::CategoryValue type,
+ WifiMeshActionHeader::ActionValue action)
{
m_category = type;
@@ -211,8 +211,8 @@
break;
};
}
-WifiMeshMultihopActionHeader::CategoryValue
-WifiMeshMultihopActionHeader::GetCategory ()
+WifiMeshActionHeader::CategoryValue
+WifiMeshActionHeader::GetCategory ()
{
switch (m_category)
{
@@ -231,8 +231,8 @@
return MESH_PEER_LINK_MGT;
}
}
-WifiMeshMultihopActionHeader::ActionValue
-WifiMeshMultihopActionHeader::GetAction ()
+WifiMeshActionHeader::ActionValue
+WifiMeshActionHeader::GetAction ()
{
ActionValue retval;
switch (m_category)
@@ -284,36 +284,36 @@
}
}
TypeId
-WifiMeshMultihopActionHeader::GetTypeId ()
+WifiMeshActionHeader::GetTypeId ()
{
- static TypeId tid = TypeId ("ns3::WifiMeshMultihopActionHeader")
+ static TypeId tid = TypeId ("ns3::WifiMeshActionHeader")
.SetParent<Header> ()
- .AddConstructor<WifiMeshMultihopActionHeader> ()
+ .AddConstructor<WifiMeshActionHeader> ()
;
return tid;
}
TypeId
-WifiMeshMultihopActionHeader::GetInstanceTypeId () const
+WifiMeshActionHeader::GetInstanceTypeId () const
{
return GetTypeId ();
}
void
-WifiMeshMultihopActionHeader::Print (std::ostream &os) const
+WifiMeshActionHeader::Print (std::ostream &os) const
{
}
uint32_t
-WifiMeshMultihopActionHeader::GetSerializedSize () const
+WifiMeshActionHeader::GetSerializedSize () const
{
return 2;
}
void
-WifiMeshMultihopActionHeader::Serialize (Buffer::Iterator start) const
+WifiMeshActionHeader::Serialize (Buffer::Iterator start) const
{
start.WriteU8 (m_category);
start.WriteU8 (m_actionValue);
}
uint32_t
-WifiMeshMultihopActionHeader::Deserialize (Buffer::Iterator start)
+WifiMeshActionHeader::Deserialize (Buffer::Iterator start)
{
Buffer::Iterator i = start;
m_category = i.ReadU8 ();
--- a/src/devices/mesh/dot11s/dot11s-mac-header.h Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/dot11s-mac-header.h Wed Apr 29 16:56:28 2009 +0400
@@ -79,16 +79,16 @@
* Multichop action frame consists of Mesh header, Action, and
* the last information. Mesh header is present within all data
* frames and multihop action frames, so Mesh header is a
- * separate structure. Each MultihopAction frames (frames like
+ * separate structure. Each Action frames (frames like
* PREQ, PREP and other) start form Category field and Action
* value field, so the Multihop Action Frame should containt
* three fields: Category, Action Value.
*/
-class WifiMeshMultihopActionHeader : public Header
+class WifiMeshActionHeader : public Header
{
public:
- WifiMeshMultihopActionHeader ();
- ~WifiMeshMultihopActionHeader ();
+ WifiMeshActionHeader ();
+ ~WifiMeshActionHeader ();
/* Compatible with open80211s implementation */
enum CategoryValue //table 7-24 staring from 4
--- a/src/devices/mesh/dot11s/hwmp-mac-plugin.cc Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-mac-plugin.cc Wed Apr 29 16:56:28 2009 +0400
@@ -85,16 +85,14 @@
}
if(header.IsAction())
{
- // TODO don't use multihop header
- //parse multihop action header:
- WifiMeshMultihopActionHeader multihopHdr;
- packet->RemoveHeader (multihopHdr);
- WifiMeshMultihopActionHeader::ActionValue actionValue = multihopHdr.GetAction ();
- if(multihopHdr.GetCategory () != WifiMeshMultihopActionHeader::MESH_PATH_SELECTION)
+ WifiMeshActionHeader actionHdr;
+ packet->RemoveHeader (actionHdr);
+ WifiMeshActionHeader::ActionValue actionValue = actionHdr.GetAction ();
+ if(actionHdr.GetCategory () != WifiMeshActionHeader::MESH_PATH_SELECTION)
return true;
switch (actionValue.pathSelection)
{
- case WifiMeshMultihopActionHeader::PATH_REQUEST:
+ case WifiMeshActionHeader::PATH_REQUEST:
{
IePreq preq;
packet->RemoveHeader (preq);
@@ -106,7 +104,7 @@
m_protocol->ReceivePreq (preq, header.GetAddr2 (), m_ifIndex, m_parent->GetLinkMetric(header.GetAddr2 ()));
return false;
}
- case WifiMeshMultihopActionHeader::PATH_REPLY:
+ case WifiMeshActionHeader::PATH_REPLY:
{
IePrep prep;
packet->RemoveHeader (prep);
@@ -116,14 +114,14 @@
m_protocol->ReceivePrep (prep, header.GetAddr2 (), m_ifIndex, m_parent->GetLinkMetric(header.GetAddr2 ()));
return false;
}
- case WifiMeshMultihopActionHeader::PATH_ERROR:
+ case WifiMeshActionHeader::PATH_ERROR:
{
IePerr perr;
packet->RemoveHeader (perr);
m_protocol->ReceivePerr (perr, header.GetAddr2 (), m_ifIndex);
return false;
}
- case WifiMeshMultihopActionHeader::ROOT_ANNOUNCEMENT:
+ case WifiMeshActionHeader::ROOT_ANNOUNCEMENT:
return false;
}
}
@@ -187,12 +185,12 @@
m_preqTimer = Simulator::Schedule (m_protocol->GetPreqMinInterval (), &HwmpMacPlugin::SendOnePreq, this);
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader(m_preqQueue[0]);
- //Multihop action header:
- WifiMeshMultihopActionHeader multihopHdr;
- WifiMeshMultihopActionHeader::ActionValue action;
- action.pathSelection = WifiMeshMultihopActionHeader::PATH_REQUEST;
- multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PATH_SELECTION, action);
- packet->AddHeader (multihopHdr);
+ //Action header:
+ WifiMeshActionHeader actionHdr;
+ WifiMeshActionHeader::ActionValue action;
+ action.pathSelection = WifiMeshActionHeader::PATH_REQUEST;
+ actionHdr.SetAction (WifiMeshActionHeader::MESH_PATH_SELECTION, action);
+ packet->AddHeader (actionHdr);
//create 802.11 header:
WifiMacHeader hdr;
hdr.SetAction ();
@@ -224,12 +222,12 @@
//Create packet
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader(m_myPerr.perr);
- //Multihop action header:
- WifiMeshMultihopActionHeader multihopHdr;
- WifiMeshMultihopActionHeader::ActionValue action;
- action.pathSelection = WifiMeshMultihopActionHeader::PATH_ERROR;
- multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PATH_SELECTION, action);
- packet->AddHeader (multihopHdr);
+ //Action header:
+ WifiMeshActionHeader actionHdr;
+ WifiMeshActionHeader::ActionValue action;
+ action.pathSelection = WifiMeshActionHeader::PATH_ERROR;
+ actionHdr.SetAction (WifiMeshActionHeader::MESH_PATH_SELECTION, action);
+ packet->AddHeader (actionHdr);
//create 802.11 header:
WifiMacHeader hdr;
hdr.SetAction ();
@@ -252,12 +250,12 @@
//Create packet
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader(prep);
- //Multihop action header:
- WifiMeshMultihopActionHeader multihopHdr;
- WifiMeshMultihopActionHeader::ActionValue action;
- action.pathSelection = WifiMeshMultihopActionHeader::PATH_REPLY;
- multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PATH_SELECTION, action);
- packet->AddHeader (multihopHdr);
+ //Action header:
+ WifiMeshActionHeader actionHdr;
+ WifiMeshActionHeader::ActionValue action;
+ action.pathSelection = WifiMeshActionHeader::PATH_REPLY;
+ actionHdr.SetAction (WifiMeshActionHeader::MESH_PATH_SELECTION, action);
+ packet->AddHeader (actionHdr);
//create 802.11 header:
WifiMacHeader hdr;
hdr.SetAction ();
--- a/src/devices/mesh/dot11s/hwmp-protocol.cc Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-protocol.cc Wed Apr 29 16:56:28 2009 +0400
@@ -132,7 +132,7 @@
)
.AddAttribute ("doFlag",
"Destination only HWMP flag",
- BooleanValue (true),
+ BooleanValue (false),
MakeUintegerAccessor (&HwmpProtocol::m_doFlag),
MakeUintegerChecker<bool> ()
)
--- a/src/devices/mesh/dot11s/peer-link-frame.cc Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/peer-link-frame.cc Wed Apr 29 16:56:28 2009 +0400
@@ -48,15 +48,15 @@
{
m_subtype = fields.subtype;
m_protocol = fields.protocol;
- if(m_subtype != (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE))
+ if(m_subtype != (uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE))
m_capability = fields.capability;
- if(m_subtype == (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM))
+ if(m_subtype == (uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM))
m_aid = fields.aid;
- if(m_subtype != (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE))
+ if(m_subtype != (uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE))
m_rates = fields.rates;
- if(m_subtype != (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM))
+ if(m_subtype != (uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM))
m_meshId = fields.meshId;
- if(m_subtype != (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE))
+ if(m_subtype != (uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE))
m_config = fields.config;
else
m_reasonCode = fields.reasonCode;
@@ -121,15 +121,15 @@
{
uint32_t size = 3; //Peering protocol
NS_ASSERT(m_subtype < 3);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
size += 2; //capability
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) == m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM) == m_subtype)
size += 2; //AID of remote peer
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
size += m_rates.GetSerializedSize ();
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM) != m_subtype)
size += m_meshId.GetSerializedSize ();
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
size += m_config.GetSerializedSize ();
else
size += 2; //reasonCode
@@ -143,15 +143,15 @@
NS_ASSERT(m_subtype < 3);
m_protocol.Serialize (i);
i.Next (m_protocol.GetSerializedSize ());
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
i.WriteHtonU16(m_capability);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) == m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM) == m_subtype)
i.WriteHtonU16 (m_aid);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
i = m_rates.Serialize (i);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM) != m_subtype)
i = m_meshId.Serialize (i);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
{
m_config.Serialize (i);
i.Next(m_config.GetSerializedSize ());
@@ -167,15 +167,15 @@
NS_ASSERT(m_subtype < 3);
m_protocol.Deserialize (i);
i.Next (m_protocol.GetSerializedSize ());
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
m_capability = i.ReadNtohU16();
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) == m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM) == m_subtype)
m_aid = i.ReadNtohU16 ();
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
i = m_rates.Deserialize (i);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM) != m_subtype)
i = m_meshId.Deserialize (i);
- if ((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) != m_subtype)
+ if ((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE) != m_subtype)
{
m_config.Deserialize (i);
i.Next (m_config.GetSerializedSize ());
@@ -213,7 +213,7 @@
{
PeerLinkFrameStart a;
PeerLinkFrameStart::PlinkFrameStartFields fields;
- fields.subtype = (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_OPEN);
+ fields.subtype = (uint8_t)(WifiMeshActionHeader::PEER_LINK_OPEN);
fields.aid = 101;
fields.reasonCode = 12;
fields.meshId = Ssid("qwertyuiop");
@@ -221,14 +221,14 @@
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader (a);
PeerLinkFrameStart b;
- b.SetPlinkFrameSubtype((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_OPEN));
+ b.SetPlinkFrameSubtype((uint8_t)(WifiMeshActionHeader::PEER_LINK_OPEN));
packet->RemoveHeader (b);
NS_TEST_ASSERT_EQUAL (a, b);
}
{
PeerLinkFrameStart a;
PeerLinkFrameStart::PlinkFrameStartFields fields;
- fields.subtype = (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM);
+ fields.subtype = (uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM);
fields.aid = 1234;
fields.reasonCode = 12;
fields.meshId = Ssid("qwerty");
@@ -236,14 +236,14 @@
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader (a);
PeerLinkFrameStart b;
- b.SetPlinkFrameSubtype((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM));
+ b.SetPlinkFrameSubtype((uint8_t)(WifiMeshActionHeader::PEER_LINK_CONFIRM));
packet->RemoveHeader (b);
NS_TEST_ASSERT_EQUAL (a, b);
}
{
PeerLinkFrameStart a;
PeerLinkFrameStart::PlinkFrameStartFields fields;
- fields.subtype = (uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE);
+ fields.subtype = (uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE);
fields.aid = 10;
fields.meshId = Ssid("qqq");
fields.reasonCode = 12;
@@ -251,7 +251,7 @@
Ptr<Packet> packet = Create<Packet> ();
packet->AddHeader (a);
PeerLinkFrameStart b;
- b.SetPlinkFrameSubtype((uint8_t)(WifiMeshMultihopActionHeader::PEER_LINK_CLOSE));
+ b.SetPlinkFrameSubtype((uint8_t)(WifiMeshActionHeader::PEER_LINK_CLOSE));
packet->RemoveHeader (b);
NS_TEST_ASSERT_EQUAL (a, b);
}
--- a/src/devices/mesh/dot11s/peer-management-plugin.cc Wed Apr 29 16:18:50 2009 +0400
+++ b/src/devices/mesh/dot11s/peer-management-plugin.cc Wed Apr 29 16:56:28 2009 +0400
@@ -73,12 +73,11 @@
}
if(header.IsAction())
{
- WifiMeshMultihopActionHeader multihopHdr;
- //parse multihop action header:
- packet->RemoveHeader (multihopHdr);
- WifiMeshMultihopActionHeader::ActionValue actionValue = multihopHdr.GetAction ();
+ WifiMeshActionHeader actionHdr;
+ packet->RemoveHeader (actionHdr);
+ WifiMeshActionHeader::ActionValue actionValue = actionHdr.GetAction ();
// If can not handle - just return;
- if(multihopHdr.GetCategory () != WifiMeshMultihopActionHeader::MESH_PEER_LINK_MGT)
+ if(actionHdr.GetCategory () != WifiMeshActionHeader::MESH_PEER_LINK_MGT)
return true;
Mac48Address peerAddress = header.GetAddr2 ();
Mac48Address peerMpAddress = header.GetAddr3 ();
@@ -91,7 +90,7 @@
NS_ASSERT(fields.subtype == actionValue.peerLink);
}
if (
- (actionValue.peerLink != WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) &&
+ (actionValue.peerLink != WifiMeshActionHeader::PEER_LINK_CLOSE) &&
!(m_parent->CheckSupportedRates(fields.rates))
)
{
@@ -100,7 +99,7 @@
return false;
}
if (
- (actionValue.peerLink != WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) &&
+ (actionValue.peerLink != WifiMeshActionHeader::PEER_LINK_CONFIRM) &&
!fields.meshId.IsEqual(m_parent->GetSsid())
)
{
@@ -113,15 +112,15 @@
//Check taht frame subtype corresponds peer link subtype
if(peerElement.SubtypeIsOpen ())
{
- NS_ASSERT(actionValue.peerLink == WifiMeshMultihopActionHeader::PEER_LINK_OPEN);
+ NS_ASSERT(actionValue.peerLink == WifiMeshActionHeader::PEER_LINK_OPEN);
}
if(peerElement.SubtypeIsConfirm ())
{
- NS_ASSERT(actionValue.peerLink == WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM);
+ NS_ASSERT(actionValue.peerLink == WifiMeshActionHeader::PEER_LINK_CONFIRM);
}
if(peerElement.SubtypeIsClose ())
{
- NS_ASSERT(actionValue.peerLink == WifiMeshMultihopActionHeader::PEER_LINK_CLOSE);
+ NS_ASSERT(actionValue.peerLink == WifiMeshActionHeader::PEER_LINK_CLOSE);
}
//Deliver Peer link management frame to protocol:
m_protocol->ReceivePeerLinkFrame(m_ifIndex, peerAddress, peerMpAddress, fields.aid, peerElement, fields.config);
@@ -134,7 +133,12 @@
bool
PeerManagerMacPlugin::UpdateOutcomingFrame (Ptr<Packet> packet, WifiMacHeader & header, Mac48Address from, Mac48Address to) const
{
- return true;
+ if(header.IsData ())
+ return true;
+ if(header.GetAddr1 ().IsGroup ())
+ return true;
+ else
+ return m_protocol->IsActiveLink(m_ifIndex,header.GetAddr1());
}
void
@@ -163,33 +167,33 @@
PeerLinkFrameStart plinkFrame;
//Create an 802.11 frame header:
//Send management frame to MAC:
- WifiMeshMultihopActionHeader multihopHdr;
+ WifiMeshActionHeader actionHdr;
if (peerElement.SubtypeIsOpen ())
{
- WifiMeshMultihopActionHeader::ActionValue action;
- action.peerLink = WifiMeshMultihopActionHeader::PEER_LINK_OPEN;
- fields.subtype = WifiMeshMultihopActionHeader::PEER_LINK_OPEN;
- multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PEER_LINK_MGT, action);
+ WifiMeshActionHeader::ActionValue action;
+ action.peerLink = WifiMeshActionHeader::PEER_LINK_OPEN;
+ fields.subtype = WifiMeshActionHeader::PEER_LINK_OPEN;
+ actionHdr.SetAction (WifiMeshActionHeader::MESH_PEER_LINK_MGT, action);
}
if (peerElement.SubtypeIsConfirm ())
{
- WifiMeshMultihopActionHeader::ActionValue action;
- action.peerLink = WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM;
+ WifiMeshActionHeader::ActionValue action;
+ action.peerLink = WifiMeshActionHeader::PEER_LINK_CONFIRM;
fields.aid = aid;
- fields.subtype = WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM;
- multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PEER_LINK_MGT, action);
+ fields.subtype = WifiMeshActionHeader::PEER_LINK_CONFIRM;
+ actionHdr.SetAction (WifiMeshActionHeader::MESH_PEER_LINK_MGT, action);
}
if (peerElement.SubtypeIsClose ())
{
- WifiMeshMultihopActionHeader::ActionValue action;
- action.peerLink = WifiMeshMultihopActionHeader::PEER_LINK_CLOSE;
- fields.subtype = WifiMeshMultihopActionHeader::PEER_LINK_CLOSE;
+ WifiMeshActionHeader::ActionValue action;
+ action.peerLink = WifiMeshActionHeader::PEER_LINK_CLOSE;
+ fields.subtype = WifiMeshActionHeader::PEER_LINK_CLOSE;
fields.reasonCode = peerElement.GetReasonCode ();
- multihopHdr.SetAction (WifiMeshMultihopActionHeader::MESH_PEER_LINK_MGT, action);
+ actionHdr.SetAction (WifiMeshActionHeader::MESH_PEER_LINK_MGT, action);
}
plinkFrame.SetPlinkFrameStart(fields);
packet->AddHeader (plinkFrame);
- packet->AddHeader (multihopHdr);
+ packet->AddHeader (actionHdr);
// Wifi Mac header:
WifiMacHeader hdr;
hdr.SetAction ();