--- a/src/wifi/model/mac-low.cc Mon Jul 04 12:12:43 2011 +0200
+++ b/src/wifi/model/mac-low.cc Mon May 16 22:12:39 2011 +0200
@@ -366,6 +366,7 @@
NS_LOG_FUNCTION (this);
m_lastNavDuration = Seconds (0);
m_lastNavStart = Seconds (0);
+ m_promisc = false;
}
MacLow::~MacLow ()
@@ -522,6 +523,11 @@
{
m_bssid = bssid;
}
+void
+MacLow::SetPromisc (void)
+{
+ m_promisc = true;
+}
Mac48Address
MacLow::GetAddress (void) const
{
@@ -893,6 +899,14 @@
// DROP
}
}
+ else if (m_promisc)
+ {
+ NS_ASSERT (hdr.GetAddr1 () != m_self);
+ if (hdr.IsData ())
+ {
+ goto rxPacket;
+ }
+ }
else
{
//NS_LOG_DEBUG_VERBOSE ("rx not-for-me from %d", GetSource (packet));