--- a/src/devices/wifi/adhoc-wifi-mac.cc Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/adhoc-wifi-mac.cc Tue Sep 02 13:19:21 2008 -0700
@@ -227,6 +227,11 @@
m_dca->Queue (packet, hdr);
}
+bool
+AdhocWifiMac::SupportsSendFrom (void) const
+{
+ return true;
+}
void
AdhocWifiMac::ForwardUp (Ptr<Packet> packet, WifiMacHeader const *hdr)
--- a/src/devices/wifi/adhoc-wifi-mac.h Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/adhoc-wifi-mac.h Tue Sep 02 13:19:21 2008 -0700
@@ -69,6 +69,7 @@
virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to);
+ virtual bool SupportsSendFrom (void) const;
virtual void SetForwardUpCallback (Callback<void,Ptr<Packet>, const Mac48Address &> upCallback);
virtual void SetLinkUpCallback (Callback<void> linkUp);
virtual void SetLinkDownCallback (Callback<void> linkDown);
--- a/src/devices/wifi/nqap-wifi-mac.cc Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/nqap-wifi-mac.cc Tue Sep 02 13:19:21 2008 -0700
@@ -296,6 +296,11 @@
NS_LOG_FUNCTION (this << packet << to);
ForwardDown (packet, to, m_low->GetAddress ());
}
+bool
+NqapWifiMac::SupportsSendFrom (void) const
+{
+ return true;
+}
SupportedRates
NqapWifiMac::GetSupportedRates (void) const
{
--- a/src/devices/wifi/nqap-wifi-mac.h Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/nqap-wifi-mac.h Tue Sep 02 13:19:21 2008 -0700
@@ -75,6 +75,7 @@
virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to);
+ virtual bool SupportsSendFrom (void) const;
virtual void SetForwardUpCallback (Callback<void,Ptr<Packet>, const Mac48Address &> upCallback);
virtual void SetLinkUpCallback (Callback<void> linkUp);
virtual void SetLinkDownCallback (Callback<void> linkDown);
--- a/src/devices/wifi/nqsta-wifi-mac.cc Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/nqsta-wifi-mac.cc Tue Sep 02 13:19:21 2008 -0700
@@ -461,7 +461,11 @@
hdr.SetDsTo ();
m_dca->Queue (packet, hdr);
}
-
+bool
+NqstaWifiMac::SupportsSendFrom (void) const
+{
+ return true;
+}
void
--- a/src/devices/wifi/nqsta-wifi-mac.h Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/nqsta-wifi-mac.h Tue Sep 02 13:19:21 2008 -0700
@@ -75,6 +75,7 @@
virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to);
+ virtual bool SupportsSendFrom (void) const;
virtual void SetForwardUpCallback (Callback<void,Ptr<Packet>, const Mac48Address &> upCallback);
virtual void SetLinkUpCallback (Callback<void> linkUp);
virtual void SetLinkDownCallback (Callback<void> linkDown);
--- a/src/devices/wifi/wifi-mac.h Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/wifi-mac.h Tue Sep 02 13:19:21 2008 -0700
@@ -142,6 +142,7 @@
*/
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from) = 0;
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to) = 0;
+ virtual bool SupportsSendFrom (void) const = 0;
/**
* \param phy the physical layer attached to this MAC.
*/
--- a/src/devices/wifi/wifi-net-device.cc Tue Sep 02 13:16:34 2008 -0700
+++ b/src/devices/wifi/wifi-net-device.cc Tue Sep 02 13:19:21 2008 -0700
@@ -361,7 +361,7 @@
bool
WifiNetDevice::SupportsSendFrom (void) const
{
- return false; // TODO
+ return m_mac->SupportsSendFrom ();
}
} // namespace ns3