24 #ifndef NDN_NET_NETWORK_INTERFACE_HPP 25 #define NDN_NET_NETWORK_INTERFACE_HPP 78 mutable util::Signal<NetworkInterface, uint32_t , uint32_t >
onMtuChanged;
142 return m_etherAddress;
150 return m_etherBrdAddress;
155 const std::set<NetworkAddress>&
158 return m_netAddresses;
166 return (m_flags & IFF_LOOPBACK) != 0;
174 return (m_flags & IFF_POINTOPOINT) != 0;
182 return (m_flags & IFF_BROADCAST) != 0;
190 return (m_flags & IFF_MULTICAST) != 0;
198 return (m_flags & IFF_UP) != 0;
212 setName(
const std::string& name);
218 setFlags(uint32_t flags);
221 setState(InterfaceState state);
224 setMtu(uint32_t mtu);
240 InterfaceState m_state;
244 std::set<NetworkAddress> m_netAddresses;
255 #endif // NDN_NET_NETWORK_INTERFACE_HPP interface is administratively down
interface can be used to send and receive packets
bool isLoopback() const
Returns true if the interface is a loopback interface.
interface is administratively up but has no carrier
bool canMulticast() const
Returns true if the interface supports multicast communication.
uint32_t getMtu() const
Returns the MTU (maximum transmission unit) of the interface.
util::Signal< NetworkInterface, InterfaceState, InterfaceState > onStateChanged
Fires when interface state changes.
InterfaceType
Indicates the hardware type of a network interface.
util::Signal< NetworkInterface, uint32_t, uint32_t > onMtuChanged
Fires when interface mtu changes.
InterfaceState
Indicates the state of a network interface.
util::Signal< NetworkInterface, NetworkAddress > onAddressRemoved
Fires when a network-layer address is removed from the interface.
ethernet::Address getEthernetBroadcastAddress() const
Returns the link-layer (Ethernet) broadcast address of the interface.
Represents one network interface attached to the host.
Stores one IP address supported by a network interface.
int getIndex() const
Returns an opaque ID that uniquely identifies the interface on the system.
InterfaceType getType() const
Returns the hardware type of the interface.
std::string getName() const
Returns the name of the interface, unique on the system.
const std::set< NetworkAddress > & getNetworkAddresses() const
Returns a list of all network-layer addresses present on the interface.
interface has a carrier but it cannot send or receive normal user traffic yet
represents an Ethernet hardware address
uint32_t getFlags() const
Returns a bitset of platform-specific flags enabled on the interface.
bool isUp() const
Returns true if the interface is administratively up.
std::ostream & operator<<(std::ostream &os, AddressScope scope)
ethernet::Address getEthernetAddress() const
Returns the link-layer (Ethernet) address of the interface.
bool isPointToPoint() const
Returns true if the interface is a point-to-point interface.
InterfaceState getState() const
Returns the current state of the interface.
bool canBroadcast() const
Returns true if the interface supports broadcast communication.
util::Signal< NetworkInterface, NetworkAddress > onAddressAdded
Fires when a network-layer address is added to the interface.