From 84601556c186ae9eecd67723cb326cd1131841ad Mon Sep 17 00:00:00 2001 From: Kirill Andreev Date: Wed, 22 Apr 2009 21:40:06 +0400 Subject: [PATCH] Bugfixes --- src/devices/mesh/dot11s/peer-management-plugin.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/devices/mesh/dot11s/peer-management-plugin.cc b/src/devices/mesh/dot11s/peer-management-plugin.cc index 3c4723673..cbe8216f0 100644 --- a/src/devices/mesh/dot11s/peer-management-plugin.cc +++ b/src/devices/mesh/dot11s/peer-management-plugin.cc @@ -90,21 +90,24 @@ PeerManagerMacPlugin::Receive (Ptr const_packet, const WifiMacHeader & h fields = peerFrame.GetFields(); NS_ASSERT(fields.subtype == actionValue.peerLink); } - if (actionValue.peerLink != WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) - { - if(!(m_parent->CheckSupportedRates(fields.rates))) + if ( + (actionValue.peerLink != WifiMeshMultihopActionHeader::PEER_LINK_CLOSE) && + !(m_parent->CheckSupportedRates(fields.rates)) + ) { m_protocol->ConfigurationMismatch (m_ifIndex, peerAddress); // Broken peer link frame - drop it return false; } - if (!fields.meshId.IsEqual(m_parent->GetSsid())) + if ( + (actionValue.peerLink != WifiMeshMultihopActionHeader::PEER_LINK_CONFIRM) && + !fields.meshId.IsEqual(m_parent->GetSsid()) + ) { m_protocol->ConfigurationMismatch (m_ifIndex, peerAddress); // Broken peer link frame - drop it return false; } - } IePeerManagement peerElement; packet->RemoveHeader(peerElement); //Check taht frame subtype corresponds peer link subtype