diff --git a/bindings/python/wscript b/bindings/python/wscript index 8b1272ac7..9b37f64a7 100644 --- a/bindings/python/wscript +++ b/bindings/python/wscript @@ -22,7 +22,7 @@ else: os.environ['PYTHONPATH'] = LOCAL_PYBINDGEN_PATH ## https://launchpad.net/pybindgen/ -REQUIRED_PYBINDGEN_VERSION = (0, 9, 0, 593) +REQUIRED_PYBINDGEN_VERSION = (0, 9, 0, 595) REQUIRED_PYGCCXML_VERSION = (0, 9, 5) diff --git a/src/common/packet.cc b/src/common/packet.cc index cda5fbe8e..f2ba95ea8 100644 --- a/src/common/packet.cc +++ b/src/common/packet.cc @@ -200,7 +200,7 @@ Packet::RemoveHeader (Header &header) return deserialized; } uint32_t -Packet::PeekHeader (Header &header) +Packet::PeekHeader (Header &header) const { NS_LOG_FUNCTION (this << &header); uint32_t deserialized = header.Deserialize (m_buffer.Begin ()); diff --git a/src/common/packet.h b/src/common/packet.h index 428297028..454da94b6 100644 --- a/src/common/packet.h +++ b/src/common/packet.h @@ -210,7 +210,7 @@ public: * \param header a reference to the header to read from the internal buffer. * \returns the number of bytes read from the packet. */ - uint32_t PeekHeader (Header &header); + uint32_t PeekHeader (Header &header) const; /** * Add trailer to this packet. This method invokes the * Trailer::GetSerializedSize and Trailer::Serialize diff --git a/src/devices/wifi/adhoc-wifi-mac.cc b/src/devices/wifi/adhoc-wifi-mac.cc index f0194f56d..1c7df1e9d 100644 --- a/src/devices/wifi/adhoc-wifi-mac.cc +++ b/src/devices/wifi/adhoc-wifi-mac.cc @@ -180,14 +180,15 @@ AdhocWifiMac::GetSsid (void) const Mac48Address AdhocWifiMac::GetBssid (void) const { - // XXX the bssid should be generated by the procedure - // described in ieee802.11 section 11.1.3 - return Mac48Address::GetBroadcast (); + return m_low->GetBssid (); } void AdhocWifiMac::SetAddress (Mac48Address address) { m_low->SetAddress (address); + m_low->SetBssid (address); + // XXX the bssid should be generated by the procedure + // described in ieee802.11 section 11.1.3 } void AdhocWifiMac::SetSsid (Ssid ssid) diff --git a/src/devices/wifi/adhoc-wifi-mac.h b/src/devices/wifi/adhoc-wifi-mac.h index 5805ae709..d5d5f4b44 100644 --- a/src/devices/wifi/adhoc-wifi-mac.h +++ b/src/devices/wifi/adhoc-wifi-mac.h @@ -77,7 +77,7 @@ public: virtual Ssid GetSsid (void) const; virtual void SetAddress (Mac48Address address); virtual void SetSsid (Ssid ssid); - + virtual Mac48Address GetBssid (void) const; private: // inherited from Object base class. @@ -86,7 +86,6 @@ private: void ForwardUp (Ptr packet, WifiMacHeader const*hdr); AdhocWifiMac (const AdhocWifiMac & ctor_arg); AdhocWifiMac &operator = (const AdhocWifiMac &o); - Mac48Address GetBssid (void) const; Ptr m_dca; Callback, Mac48Address, Mac48Address> m_upCallback; diff --git a/src/devices/wifi/nqap-wifi-mac.cc b/src/devices/wifi/nqap-wifi-mac.cc index a79cd7200..8d4f61c4c 100644 --- a/src/devices/wifi/nqap-wifi-mac.cc +++ b/src/devices/wifi/nqap-wifi-mac.cc @@ -49,7 +49,7 @@ NqapWifiMac::GetTypeId (void) &NqapWifiMac::SetBeaconInterval), MakeTimeChecker ()) .AddAttribute ("BeaconGeneration", "Whether or not beacons are generated.", - BooleanValue (false), + BooleanValue (true), MakeBooleanAccessor (&NqapWifiMac::SetBeaconGeneration, &NqapWifiMac::GetBeaconGeneration), MakeBooleanChecker ()) @@ -251,6 +251,11 @@ NqapWifiMac::SetSsid (Ssid ssid) NS_LOG_FUNCTION (ssid); m_ssid = ssid; } +Mac48Address +NqapWifiMac::GetBssid (void) const +{ + return m_low->GetBssid (); +} void diff --git a/src/devices/wifi/nqap-wifi-mac.h b/src/devices/wifi/nqap-wifi-mac.h index 5b1948255..496342df6 100644 --- a/src/devices/wifi/nqap-wifi-mac.h +++ b/src/devices/wifi/nqap-wifi-mac.h @@ -83,7 +83,7 @@ public: virtual Ssid GetSsid (void) const; virtual void SetAddress (Mac48Address address); virtual void SetSsid (Ssid ssid); - + virtual Mac48Address GetBssid (void) const; /** * \param interval the interval between two beacon transmissions. diff --git a/src/devices/wifi/nqsta-wifi-mac.cc b/src/devices/wifi/nqsta-wifi-mac.cc index aec3e65b9..1b956b4ca 100644 --- a/src/devices/wifi/nqsta-wifi-mac.cc +++ b/src/devices/wifi/nqsta-wifi-mac.cc @@ -248,7 +248,6 @@ NqstaWifiMac::SetSsid (Ssid ssid) NS_LOG_FUNCTION (this << ssid); m_ssid = ssid; } - void NqstaWifiMac::SetMaxMissedBeacons (uint32_t missed) { diff --git a/src/devices/wifi/nqsta-wifi-mac.h b/src/devices/wifi/nqsta-wifi-mac.h index 16e2064c4..5408d0429 100644 --- a/src/devices/wifi/nqsta-wifi-mac.h +++ b/src/devices/wifi/nqsta-wifi-mac.h @@ -83,7 +83,7 @@ public: virtual Ssid GetSsid (void) const; virtual void SetAddress (Mac48Address address); virtual void SetSsid (Ssid ssid); - + virtual Mac48Address GetBssid (void) const; /** * \param missed the number of beacons which must be missed @@ -126,7 +126,6 @@ private: void MissedBeacons (void); void RestartBeaconWatchdog (Time delay); SupportedRates GetSupportedRates (void) const; - Mac48Address GetBssid (void) const; virtual void DoDispose (void); NqstaWifiMac (const NqstaWifiMac & ctor_arg); NqstaWifiMac &operator = (const NqstaWifiMac & ctor_arg); diff --git a/src/devices/wifi/wifi-mac.h b/src/devices/wifi/wifi-mac.h index 47a4f6076..3c9112b22 100644 --- a/src/devices/wifi/wifi-mac.h +++ b/src/devices/wifi/wifi-mac.h @@ -129,6 +129,10 @@ public: * \param ssid the current ssid of this MAC layer. */ virtual void SetSsid (Ssid ssid) = 0; + /** + * \returns the bssid of the network this device belongs to. + */ + virtual Mac48Address GetBssid (void) const = 0; private: friend class WifiNetDevice;