an EUI-48 address More...
#include "mac48-address.h"
| Public Types | |
| typedef void(* | TracedCallback) (Mac48Address value) | 
| TracedCallback signature for Mac48Address.  More... | |
| Public Member Functions | |
| Mac48Address () | |
| Mac48Address (const char *str) | |
| void | CopyFrom (const uint8_t buffer[6]) | 
| void | CopyTo (uint8_t buffer[6]) const | 
| bool | IsBroadcast (void) const | 
| bool | IsGroup (void) const | 
| operator Address () const | |
| Static Public Member Functions | |
| static Mac48Address | Allocate (void) | 
| Allocate a new Mac48Address.  More... | |
| static Mac48Address | ConvertFrom (const Address &address) | 
| static Mac48Address | GetBroadcast (void) | 
| static Mac48Address | GetMulticast (Ipv4Address address) | 
| static Mac48Address | GetMulticast (Ipv6Address address) | 
| Get multicast address from IPv6 address.  More... | |
| static Mac48Address | GetMulticast6Prefix (void) | 
| Get the multicast prefix for IPv6 (33:33:00:00:00:00).  More... | |
| static Mac48Address | GetMulticastPrefix (void) | 
| static bool | IsMatchingType (const Address &address) | 
| Private Member Functions | |
| Address | ConvertTo (void) const | 
| Static Private Member Functions | |
| static uint8_t | GetType (void) | 
| Return the Type of address.  More... | |
| Private Attributes | |
| uint8_t | m_address [6] | 
| address value  More... | |
| Friends | |
| bool | operator!= (const Mac48Address &a, const Mac48Address &b) | 
| Not equal to operator.  More... | |
| bool | operator< (const Mac48Address &a, const Mac48Address &b) | 
| Less than operator.  More... | |
| std::ostream & | operator<< (std::ostream &os, const Mac48Address &address) | 
| Stream insertion operator.  More... | |
| bool | operator== (const Mac48Address &a, const Mac48Address &b) | 
| Equal to operator.  More... | |
| std::istream & | operator>> (std::istream &is, Mac48Address &address) | 
| Stream extraction operator.  More... | |
an EUI-48 address
This class can contain 48 bit IEEE addresses.
Definition at line 43 of file mac48-address.h.
| typedef void(* ns3::Mac48Address::TracedCallback) (Mac48Address value) | 
TracedCallback signature for Mac48Address.
| [in] | value | Current value of the Mac48Address | 
Definition at line 137 of file mac48-address.h.
| ns3::Mac48Address::Mac48Address | ( | ) | 
Definition at line 60 of file mac48-address.cc.
References m_address, and NS_LOG_FUNCTION.
Referenced by GetBroadcast(), GetMulticast6Prefix(), and GetMulticastPrefix().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| ns3::Mac48Address::Mac48Address | ( | const char * | str | ) | 
| str | a string representing the new Mac48Address | 
The format of the string is "xx:xx:xx:xx:xx:xx"
Definition at line 65 of file mac48-address.cc.
References ASCII_a, ASCII_COLON, ASCII_ZERO, ns3::AsciiToLowCase(), m_address, NS_ASSERT, and NS_LOG_FUNCTION.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | static | 
Allocate a new Mac48Address.
Definition at line 135 of file mac48-address.cc.
References first::address, and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::NoBackhaulEpcHelper::NoBackhaulEpcHelper(), ns3::TapFdNetDeviceHelper::TapFdNetDeviceHelper(), AddSimpleNetDevice(), BuildSimpleTopology(), ns3::WifiMacHelper::Create(), ns3::MeshHelper::CreateInterface(), ns3::WaveHelper::Install(), ns3::AdhocAlohaNoackIdealPhyHelper::Install(), ns3::WimaxHelper::Install(), ns3::PointToPointHelper::Install(), ns3::FdNetDeviceHelper::InstallPriv(), ns3::CsmaHelper::InstallPriv(), ns3::SimpleNetDeviceHelper::InstallPriv(), ns3::LteSimpleHelper::InstallSingleEnbDevice(), and ns3::LteSimpleHelper::InstallSingleUeDevice().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
| address | a polymorphic address | 
This function performs a type check and asserts if the type of the input address is not compatible with an Mac48Address.
Definition at line 126 of file mac48-address.cc.
References first::address, GetType(), m_address, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::BridgeNetDevice::AddBridgePort(), ns3::MeshPointDevice::AddInterface(), AddSimpleNetDevice(), ContextToMac(), ns3::TapBridge::CreateTap(), ns3::TapBridge::ForwardToBridgedDevice(), ns3::dot11s::HwmpProtocol::Install(), ns3::dot11s::PeerManagementProtocol::Install(), ns3::flame::FlameProtocol::Install(), ns3::aodv::Neighbors::LookupMacAddress(), ns3::dsr::DsrRouteCache::LookupMacAddress(), ns3::Ipv6Address::MakeAutoconfiguredAddress(), ns3::Ipv6Address::MakeAutoconfiguredLinkLocalAddress(), ns3::Ipv6AddressHelper::NewAddress(), ns3::dsr::DsrRouting::PromiscReceive(), ns3::TapBridge::ReceiveFromBridgedDevice(), ns3::BridgeNetDevice::ReceiveFromDevice(), ns3::MeshPointDevice::ReceiveFromDevice(), ns3::MeshHelper::Report(), ns3::LoopbackNetDevice::Send(), ns3::MeshPointDevice::Send(), ns3::WaveNetDevice::Send(), ns3::WimaxNetDevice::Send(), ns3::WifiNetDevice::Send(), ns3::BridgeNetDevice::SendFrom(), ns3::CsmaNetDevice::SendFrom(), ns3::FdNetDevice::SendFrom(), ns3::LoopbackNetDevice::SendFrom(), ns3::MeshPointDevice::SendFrom(), ns3::SimpleNetDevice::SendFrom(), ns3::AlohaNoackNetDevice::SendFrom(), ns3::WimaxNetDevice::SendFrom(), ns3::WifiNetDevice::SendFrom(), ns3::WaveNetDevice::SendX(), ns3::MeshPointDevice::SetAddress(), ns3::BridgeNetDevice::SetAddress(), ns3::CsmaNetDevice::SetAddress(), ns3::FdNetDevice::SetAddress(), ns3::LoopbackNetDevice::SetAddress(), ns3::LrWpanNetDevice::SetAddress(), ns3::SimpleNetDevice::SetAddress(), ns3::PointToPointNetDevice::SetAddress(), ns3::AlohaNoackNetDevice::SetAddress(), ns3::TapBridge::SetAddress(), ns3::WaveNetDevice::SetAddress(), ns3::WimaxNetDevice::SetAddress(), and ns3::WifiNetDevice::SetAddress().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Convert an instance of this class to a polymorphic Address instance.
Definition at line 120 of file mac48-address.cc.
References GetType(), m_address, and NS_LOG_FUNCTION.
 Here is the call graph for this function:
 Here is the call graph for this function:| void ns3::Mac48Address::CopyFrom | ( | const uint8_t | buffer[6] | ) | 
| buffer | address in network order | 
Copy the input address to our internal buffer.
Definition at line 97 of file mac48-address.cc.
References m_address, and NS_LOG_FUNCTION.
Referenced by ns3::LrWpanNetDevice::BuildPseudoMacAddress(), ns3::TapBridge::CreateTap(), ns3::dot11s::HwmpTag::Deserialize(), ns3::flame::FlameTag::Deserialize(), ns3::SimpleTag::Deserialize(), GetMulticast(), and ns3::ReadFrom().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::Mac48Address::CopyTo | ( | uint8_t | buffer[6] | ) | const | 
| buffer | address in network order | 
Copy the internal address to the input buffer.
Definition at line 103 of file mac48-address.cc.
References m_address, and NS_LOG_FUNCTION.
Referenced by SwitchFlowTableTestCase::DoRun(), GetMulticast(), ns3::Ipv6Address::MakeAutoconfiguredAddress(), ns3::Ipv6Address::MakeAutoconfiguredLinkLocalAddress(), ns3::dot11s::HwmpTag::Serialize(), ns3::flame::FlameTag::Serialize(), ns3::SimpleTag::Serialize(), ns3::LrWpanNetDevice::SetAddress(), and ns3::WriteTo().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 170 of file mac48-address.cc.
References Mac48Address(), and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::NoBackhaulEpcHelper::AddEnb(), ns3::dot11s::PeerLink::ConfirmAccept(), ns3::dot11s::PeerLink::ConfirmReject(), ns3::MeshWifiBeacon::CreateHeader(), ns3::dot11s::HwmpRtable::DeleteProactivePath(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::dot11s::HwmpProtocol::ForwardUnicast(), ns3::BlockAckManager::GetBar(), ns3::LteNetDevice::GetBroadcast(), ns3::MockNetDevice::GetBroadcast(), ns3::WaveNetDevice::GetBroadcast(), ns3::WimaxNetDevice::GetBroadcast(), ns3::WifiNetDevice::GetBroadcast(), ns3::dot11s::HwmpProtocol::GetBroadcastReceivers(), ns3::dot11s::HwmpProtocol::GetPreqReceivers(), ns3::flame::FlameProtocol::HandleDataFrame(), IsBroadcast(), ns3::dot11s::HwmpRtable::LookupResult::IsValid(), ns3::flame::FlameRtable::LookupResult::IsValid(), ns3::dot11s::IePreq::MayAddAddress(), ns3::dot11s::PeerLink::OpenAccept(), ns3::dot11s::PeerLink::OpenReject(), ns3::dot11s::HwmpProtocol::ProactivePathResolved(), ns3::dot11s::HwmpProtocol::ReactivePathResolved(), ns3::flame::FlameProtocolMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::dot11s::PeerManagementProtocol::ReceiveBeacon(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::dot11s::HwmpProtocol::ReceivePrep(), ns3::dot11s::HwmpProtocol::ReceivePreq(), ns3::flame::FlameProtocol::RemoveRoutingStuff(), ns3::dot11s::HwmpProtocol::RequestRoute(), ns3::flame::FlameProtocol::RequestRoute(), ns3::dot11s::HwmpProtocol::RetryPathDiscovery(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::MeshWifiInterfaceMac::SendManagementFrame(), ns3::ApWifiMac::SendOneBeacon(), WaveNetDeviceExample::SendOneWsmpPacket(), ns3::dot11s::HwmpProtocol::SendProactivePreq(), ns3::StaWifiMac::SendProbeRequest(), WaveNetDeviceExample::SendWsaExample(), ns3::dot11s::PeerLink::StateMachine(), ns3::RrMultiUserScheduler::TrySendingBasicTf(), ns3::RrMultiUserScheduler::TrySendingBsrpTf(), and ns3::flame::FlameProtocolMac::UpdateOutcomingFrame().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
| address | base IPv4 address | 
Definition at line 191 of file mac48-address.cc.
References CopyFrom(), CopyTo(), GetMulticastPrefix(), NS_LOG_FUNCTION, and ns3::Ipv4Address::Serialize().
Referenced by ns3::LteNetDevice::GetMulticast(), ns3::AlohaNoackNetDevice::GetMulticast(), ns3::BridgeNetDevice::GetMulticast(), ns3::CsmaNetDevice::GetMulticast(), ns3::FdNetDevice::GetMulticast(), ns3::LoopbackNetDevice::GetMulticast(), ns3::MeshPointDevice::GetMulticast(), ns3::SimpleNetDevice::GetMulticast(), ns3::MockNetDevice::GetMulticast(), ns3::TapBridge::GetMulticast(), ns3::WaveNetDevice::GetMulticast(), ns3::WimaxNetDevice::GetMulticast(), and ns3::WifiNetDevice::GetMulticast().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Get multicast address from IPv6 address.
| address | base IPv6 address | 
Definition at line 227 of file mac48-address.cc.
References CopyFrom(), CopyTo(), GetMulticast6Prefix(), NS_LOG_FUNCTION, and ns3::Ipv6Address::Serialize().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | static | 
Get the multicast prefix for IPv6 (33:33:00:00:00:00).
Definition at line 184 of file mac48-address.cc.
References Mac48Address(), and NS_LOG_FUNCTION_NOARGS.
Referenced by GetMulticast().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Definition at line 177 of file mac48-address.cc.
References Mac48Address(), and NS_LOG_FUNCTION_NOARGS.
Referenced by GetMulticast().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | staticprivate | 
Return the Type of address.
Definition at line 150 of file mac48-address.cc.
References NS_LOG_FUNCTION_NOARGS, and ns3::Address::Register().
Referenced by ConvertFrom(), ConvertTo(), and IsMatchingType().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::Mac48Address::IsBroadcast | ( | void | ) | const | 
Definition at line 158 of file mac48-address.cc.
References GetBroadcast(), and NS_LOG_FUNCTION.
Referenced by MeshTest::CreateNodes(), ns3::TapBridge::CreateTap(), ns3::MeshPointDevice::DoSend(), ns3::WaveNetDevice::ForwardUp(), ns3::WifiNetDevice::ForwardUp(), ns3::FdNetDevice::ForwardUp(), ns3::MpduAggregator::GetNextAmpdu(), ns3::MsduAggregator::GetNextAmsdu(), ns3::QosTxop::GetNextMpdu(), ns3::AlohaNoackNetDevice::NotifyReceptionEndOk(), ns3::CsmaNetDevice::Receive(), ns3::LoopbackNetDevice::Receive(), ns3::SimpleNetDevice::Receive(), ns3::ApWifiMac::Receive(), ns3::HeFrameExchangeManager::ReceiveMpdu(), and ns3::LoopbackNetDevice::SendFrom().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::Mac48Address::IsGroup | ( | void | ) | const | 
Definition at line 164 of file mac48-address.cc.
References m_address, and NS_LOG_FUNCTION.
Referenced by ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::ApWifiMac::Enqueue(), ns3::WaveNetDevice::ForwardUp(), ns3::WifiNetDevice::ForwardUp(), ns3::FdNetDevice::ForwardUp(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetAssociationId(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::MacTxMiddle::GetNextSequenceNumberFor(), ns3::MacRxMiddle::Lookup(), ns3::AlohaNoackNetDevice::NotifyReceptionEndOk(), ns3::MacTxMiddle::PeekNextSequenceNumberFor(), ns3::CsmaNetDevice::Receive(), ns3::LoopbackNetDevice::Receive(), ns3::SimpleNetDevice::Receive(), ns3::OcbWifiMac::Receive(), ns3::MacRxMiddle::Receive(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::FrameExchangeManager::Receive(), ns3::MeshPointDevice::ReceiveFromDevice(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiRemoteStationManager::ReportFinalRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsOk(), ns3::BridgeNetDevice::SendFrom(), ns3::VsaManager::SendVsa(), ns3::MacTxMiddle::SetSequenceNumberFor(), ns3::HtFrameExchangeManager::StartFrameExchange(), ns3::WifiDefaultAckManager::TryAddMpdu(), and ns3::dot11s::PeerManagementProtocolMac::UpdateOutcomingFrame().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
| address | address to test | 
Definition at line 110 of file mac48-address.cc.
References first::address, GetType(), and NS_LOG_FUNCTION.
Referenced by ns3::BridgeNetDevice::AddBridgePort(), ns3::MeshPointDevice::AddInterface(), ns3::SixLowPanNetDevice::DoSend(), ns3::SixLowPanNetDevice::Get16MacFrom48Mac(), ns3::MockNetDevice::GetBroadcast(), ns3::MockNetDevice::GetMulticast(), ns3::Ipv6Address::MakeAutoconfiguredAddress(), ns3::Ipv6Address::MakeAutoconfiguredLinkLocalAddress(), ns3::Ipv6AddressHelper::NewAddress(), ns3::SixLowPanNetDevice::ReceiveFromDevice(), ns3::LrWpanNetDevice::Send(), ns3::WifiNetDevice::Send(), ns3::WifiNetDevice::SendFrom(), ns3::LrWpanNetDevice::SetAddress(), and ns3::TapBridge::SetBridgedNetDevice().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| ns3::Mac48Address::operator Address | ( | ) | const | 
Convert an instance of this class to a polymorphic Address instance.
Definition at line 115 of file mac48-address.cc.
| 
 | friend | 
Not equal to operator.
| a | the first operand | 
| b | the first operand | 
Definition at line 207 of file mac48-address.h.
| 
 | friend | 
Less than operator.
| a | the first operand | 
| b | the first operand | 
Definition at line 211 of file mac48-address.h.
| 
 | friend | 
Stream insertion operator.
| os | the stream | 
| address | the address | 
Definition at line 249 of file mac48-address.cc.
| 
 | friend | 
Equal to operator.
| a | the first operand | 
| b | the first operand | 
Definition at line 203 of file mac48-address.h.
| 
 | friend | 
Stream extraction operator.
| is | the stream | 
| address | the address | 
Definition at line 267 of file mac48-address.cc.
| 
 | private | 
address value
Definition at line 198 of file mac48-address.h.
Referenced by Mac48Address(), ConvertFrom(), ConvertTo(), CopyFrom(), CopyTo(), IsGroup(), ns3::operator!=(), ns3::operator<(), and ns3::operator==().