28 #ifndef NDN_CXX_NET_ETHERNET_HPP
29 #define NDN_CXX_NET_ETHERNET_HPP
52 class Address :
public std::array<uint8_t, ADDR_LEN>
59 Address(uint8_t a1, uint8_t a2, uint8_t a3,
60 uint8_t a4, uint8_t a5, uint8_t a6);
121 struct hash<
ndn::ethernet::Address>
Represents an Ethernet hardware address.
Address()
Constructs a null Ethernet address (00:00:00:00:00:00).
std::string toString(char sep=':') const
Converts the address to a human-readable string.
bool isMulticast() const
True if this is a multicast address.
bool isBroadcast() const
True if this is a broadcast address (ff:ff:ff:ff:ff:ff).
bool isNull() const
True if this is a null address (00:00:00:00:00:00).
static Address fromString(const std::string &str)
Creates an Address from a string containing an Ethernet address in hexadecimal notation,...
const size_t CRC_LEN
Octets in Ethernet frame check sequence.
const size_t MIN_DATA_LEN
Min octets in Ethernet payload (assuming no 802.1Q tag)
Address getDefaultMulticastAddress()
Returns the default Ethernet multicast address for NDN.
const size_t TAG_LEN
Octets in 802.1Q tag (TPID + priority + VLAN)
const size_t TYPE_LEN
Octets in Ethertype field.
const uint16_t ETHERTYPE_NDN
const size_t ADDR_LEN
Octets in one Ethernet address.
const size_t MAX_DATA_LEN
Max octets in Ethernet payload.
const size_t HDR_LEN
Total octets in Ethernet header (without 802.1Q tag)
Address getBroadcastAddress()
Returns the Ethernet broadcast address (ff:ff:ff:ff:ff:ff).
std::ostream & operator<<(std::ostream &o, const Address &a)