24 #ifndef NDN_NET_NETWORK_INTERFACE_HPP 25 #define NDN_NET_NETWORK_INTERFACE_HPP 29 #include "../util/signal.hpp" 141 return m_etherAddress;
149 return m_etherBrdAddress;
154 const std::set<NetworkAddress>&
157 return m_netAddresses;
165 return (m_flags & IFF_LOOPBACK) != 0;
173 return (m_flags & IFF_POINTOPOINT) != 0;
181 return (m_flags & IFF_BROADCAST) != 0;
189 return (m_flags & IFF_MULTICAST) != 0;
197 return (m_flags & IFF_UP) != 0;
243 std::set<NetworkAddress> m_netAddresses;
254 #endif // NDN_NET_NETWORK_INTERFACE_HPP interface is administratively down
ethernet::Address getEthernetBroadcastAddress() const
Returns the link-layer (Ethernet) broadcast address of the interface.
Copyright (c) 2011-2015 Regents of the University of California.
InterfaceType getType() const
Returns the hardware type of the interface.
InterfaceState getState() const
Returns the current state of the interface.
interface is in an unknown state
interface can be used to send and receive packets
interface is administratively up but has no carrier
void setState(InterfaceState state)
std::string getName() const
Returns the name of the interface, unique on the system.
void setMtu(uint32_t mtu)
util::Signal< NetworkInterface, InterfaceState, InterfaceState > onStateChanged
Fires when interface state changes.
bool isPointToPoint() const
Returns true if the interface is a point-to-point interface.
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.
bool canBroadcast() const
Returns true if the interface supports broadcast communication.
void setEthernetAddress(const ethernet::Address &address)
provides a lightweight signal / event system
void setEthernetBroadcastAddress(const ethernet::Address &address)
util::Signal< NetworkInterface, NetworkAddress > onAddressRemoved
Fires when a network-layer address is removed from the interface.
Represents one network interface attached to the host.
Stores one IP address supported by a network interface.
bool removeNetworkAddress(const NetworkAddress &address)
bool canMulticast() const
Returns true if the interface supports multicast communication.
bool isUp() const
Returns true if the interface is administratively up.
void setName(const std::string &name)
void setFlags(uint32_t flags)
uint32_t getMtu() const
Returns the MTU (maximum transmission unit) of the interface.
interface has a carrier but it cannot send or receive normal user traffic yet
bool addNetworkAddress(const NetworkAddress &address)
represents an Ethernet hardware address
std::ostream & operator<<(std::ostream &os, AddressScope scope)
ethernet::Address getEthernetAddress() const
Returns the link-layer (Ethernet) address of the interface.
uint32_t getFlags() const
Returns a bitset of platform-specific flags enabled on the interface.
void setType(InterfaceType type)
int getIndex() const
Returns an opaque ID that uniquely identifies the interface on the system.
const std::set< NetworkAddress > & getNetworkAddresses() const
Returns a list of all network-layer addresses present on the interface.
bool isLoopback() const
Returns true if the interface is a loopback interface.
util::Signal< NetworkInterface, NetworkAddress > onAddressAdded
Fires when a network-layer address is added to the interface.