diff --git a/src/node/mac48-address.cc b/src/node/mac48-address.cc index 998bb2b11..4b3382199 100644 --- a/src/node/mac48-address.cc +++ b/src/node/mac48-address.cc @@ -133,6 +133,17 @@ Mac48Address::GetType (void) return type; } +bool +Mac48Address::IsBroadcast (void) const +{ + static Mac48Address broadcast = Mac48Address ("ff:ff:ff:ff:ff:ff"); + return *this == broadcast; +} +bool +Mac48Address::IsMulticast (void) const +{ + return (m_address[0] & 0x01) == 0x01; +} bool operator == (const Mac48Address &a, const Mac48Address &b) { uint8_t ada[6]; diff --git a/src/node/mac48-address.h b/src/node/mac48-address.h index 1a290dad3..84da4c423 100644 --- a/src/node/mac48-address.h +++ b/src/node/mac48-address.h @@ -79,6 +79,9 @@ public: * Allocate a new Mac48Address. */ static Mac48Address Allocate (void); + + bool IsBroadcast (void) const; + bool IsMulticast (void) const; private: /** * \returns a new Address instance