From 79f85cdf942f701ec0850433eea25e8ac38ca122 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Tue, 2 Sep 2008 13:19:21 -0700 Subject: [PATCH] implement SupportsSendFrom --- src/devices/wifi/adhoc-wifi-mac.cc | 5 +++++ src/devices/wifi/adhoc-wifi-mac.h | 1 + src/devices/wifi/nqap-wifi-mac.cc | 5 +++++ src/devices/wifi/nqap-wifi-mac.h | 1 + src/devices/wifi/nqsta-wifi-mac.cc | 6 +++++- src/devices/wifi/nqsta-wifi-mac.h | 1 + src/devices/wifi/wifi-mac.h | 1 + src/devices/wifi/wifi-net-device.cc | 2 +- 8 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/devices/wifi/adhoc-wifi-mac.cc b/src/devices/wifi/adhoc-wifi-mac.cc index 6afd7f7d4..0f6a86ae8 100644 --- a/src/devices/wifi/adhoc-wifi-mac.cc +++ b/src/devices/wifi/adhoc-wifi-mac.cc @@ -227,6 +227,11 @@ AdhocWifiMac::Enqueue (Ptr packet, Mac48Address to) m_dca->Queue (packet, hdr); } +bool +AdhocWifiMac::SupportsSendFrom (void) const +{ + return true; +} void AdhocWifiMac::ForwardUp (Ptr packet, WifiMacHeader const *hdr) diff --git a/src/devices/wifi/adhoc-wifi-mac.h b/src/devices/wifi/adhoc-wifi-mac.h index 397d37366..c277da122 100644 --- a/src/devices/wifi/adhoc-wifi-mac.h +++ b/src/devices/wifi/adhoc-wifi-mac.h @@ -69,6 +69,7 @@ public: virtual void SetWifiRemoteStationManager (Ptr stationManager); virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from); virtual void Enqueue (Ptr packet, Mac48Address to); + virtual bool SupportsSendFrom (void) const; virtual void SetForwardUpCallback (Callback, const Mac48Address &> upCallback); virtual void SetLinkUpCallback (Callback linkUp); virtual void SetLinkDownCallback (Callback linkDown); diff --git a/src/devices/wifi/nqap-wifi-mac.cc b/src/devices/wifi/nqap-wifi-mac.cc index 2ba74a6b9..600080382 100644 --- a/src/devices/wifi/nqap-wifi-mac.cc +++ b/src/devices/wifi/nqap-wifi-mac.cc @@ -296,6 +296,11 @@ NqapWifiMac::Enqueue (Ptr packet, Mac48Address to) NS_LOG_FUNCTION (this << packet << to); ForwardDown (packet, to, m_low->GetAddress ()); } +bool +NqapWifiMac::SupportsSendFrom (void) const +{ + return true; +} SupportedRates NqapWifiMac::GetSupportedRates (void) const { diff --git a/src/devices/wifi/nqap-wifi-mac.h b/src/devices/wifi/nqap-wifi-mac.h index a5d36d463..82bbb3e09 100644 --- a/src/devices/wifi/nqap-wifi-mac.h +++ b/src/devices/wifi/nqap-wifi-mac.h @@ -75,6 +75,7 @@ public: virtual void SetWifiRemoteStationManager (Ptr stationManager); virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from); virtual void Enqueue (Ptr packet, Mac48Address to); + virtual bool SupportsSendFrom (void) const; virtual void SetForwardUpCallback (Callback, const Mac48Address &> upCallback); virtual void SetLinkUpCallback (Callback linkUp); virtual void SetLinkDownCallback (Callback linkDown); diff --git a/src/devices/wifi/nqsta-wifi-mac.cc b/src/devices/wifi/nqsta-wifi-mac.cc index 73ade6e14..15f6299c3 100644 --- a/src/devices/wifi/nqsta-wifi-mac.cc +++ b/src/devices/wifi/nqsta-wifi-mac.cc @@ -461,7 +461,11 @@ NqstaWifiMac::Enqueue (Ptr packet, Mac48Address to) hdr.SetDsTo (); m_dca->Queue (packet, hdr); } - +bool +NqstaWifiMac::SupportsSendFrom (void) const +{ + return true; +} void diff --git a/src/devices/wifi/nqsta-wifi-mac.h b/src/devices/wifi/nqsta-wifi-mac.h index 0a49e4f99..47ba69928 100644 --- a/src/devices/wifi/nqsta-wifi-mac.h +++ b/src/devices/wifi/nqsta-wifi-mac.h @@ -75,6 +75,7 @@ public: virtual void SetWifiRemoteStationManager (Ptr stationManager); virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from); virtual void Enqueue (Ptr packet, Mac48Address to); + virtual bool SupportsSendFrom (void) const; virtual void SetForwardUpCallback (Callback, const Mac48Address &> upCallback); virtual void SetLinkUpCallback (Callback linkUp); virtual void SetLinkDownCallback (Callback linkDown); diff --git a/src/devices/wifi/wifi-mac.h b/src/devices/wifi/wifi-mac.h index 8dfa08ec0..602aff3a9 100644 --- a/src/devices/wifi/wifi-mac.h +++ b/src/devices/wifi/wifi-mac.h @@ -142,6 +142,7 @@ private: */ virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from) = 0; virtual void Enqueue (Ptr packet, Mac48Address to) = 0; + virtual bool SupportsSendFrom (void) const = 0; /** * \param phy the physical layer attached to this MAC. */ diff --git a/src/devices/wifi/wifi-net-device.cc b/src/devices/wifi/wifi-net-device.cc index bbf627136..913649f16 100644 --- a/src/devices/wifi/wifi-net-device.cc +++ b/src/devices/wifi/wifi-net-device.cc @@ -361,7 +361,7 @@ WifiNetDevice::SetPromiscReceiveCallback (PromiscReceiveCallback cb) bool WifiNetDevice::SupportsSendFrom (void) const { - return false; // TODO + return m_mac->SupportsSendFrom (); } } // namespace ns3