NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::net::NetworkInterface Class Reference

Represents one network interface attached to the host. More...

#include <network-interface.hpp>

Collaboration diagram for ndn::net::NetworkInterface:

Public Member Functions

int getIndex () const
 Returns an opaque ID that uniquely identifies the interface on the system. More...
 
std::string getName () const
 Returns the name of the interface, unique on the system. More...
 
InterfaceType getType () const
 Returns the hardware type of the interface. More...
 
uint32_t getFlags () const
 Returns a bitset of platform-specific flags enabled on the interface. More...
 
InterfaceState getState () const
 Returns the current state of the interface. More...
 
uint32_t getMtu () const
 Returns the MTU (maximum transmission unit) of the interface. More...
 
ethernet::Address getEthernetAddress () const
 Returns the link-layer (Ethernet) address of the interface. More...
 
ethernet::Address getEthernetBroadcastAddress () const
 Returns the link-layer (Ethernet) broadcast address of the interface. More...
 
const std::set< NetworkAddress > & getNetworkAddresses () const
 Returns a list of all network-layer addresses present on the interface. More...
 
bool isLoopback () const
 Returns true if the interface is a loopback interface. More...
 
bool isPointToPoint () const
 Returns true if the interface is a point-to-point interface. More...
 
bool canBroadcast () const
 Returns true if the interface supports broadcast communication. More...
 
bool canMulticast () const
 Returns true if the interface supports multicast communication. More...
 
bool isUp () const
 Returns true if the interface is administratively up. More...
 
bool addNetworkAddress (const NetworkAddress &address)
 
bool removeNetworkAddress (const NetworkAddress &address)
 
void setIndex (int index)
 
void setName (const std::string &name)
 
void setType (InterfaceType type)
 
void setFlags (uint32_t flags)
 
void setState (InterfaceState state)
 
void setMtu (uint32_t mtu)
 
void setEthernetAddress (const ethernet::Address &address)
 
void setEthernetBroadcastAddress (const ethernet::Address &address)
 

Public Attributes

util::Signal< NetworkInterface, InterfaceState, InterfaceStateonStateChanged
 Fires when interface state changes. More...
 
util::Signal< NetworkInterface, uint32_t, uint32_t > onMtuChanged
 Fires when interface mtu changes. More...
 
util::Signal< NetworkInterface, NetworkAddressonAddressAdded
 Fires when a network-layer address is added to the interface. More...
 
util::Signal< NetworkInterface, NetworkAddressonAddressRemoved
 Fires when a network-layer address is removed from the interface. More...
 

Friends

class NetworkMonitorImpl
 

Detailed Description

Represents one network interface attached to the host.

Each network interface has a unique index, a name, and a set of flags indicating its capabilities and current state. It may contain one hardware (Ethernet) address, and zero or more network-layer (IP) addresses. Specific signals are emitted when the interface data change.

Definition at line 69 of file network-interface.hpp.

Member Function Documentation

◆ getIndex()

int ndn::net::NetworkInterface::getIndex ( ) const
inline

Returns an opaque ID that uniquely identifies the interface on the system.

Definition at line 92 of file network-interface.hpp.

Referenced by nfd::face::UdpFactory::createMulticastFace(), nfd::face::MulticastUdpTransport::openTxSocket(), and ndn::net::operator<<().

◆ getName()

std::string ndn::net::NetworkInterface::getName ( ) const
inline

◆ getType()

InterfaceType ndn::net::NetworkInterface::getType ( ) const
inline

Returns the hardware type of the interface.

Definition at line 108 of file network-interface.hpp.

Referenced by ndn::net::operator<<().

◆ getFlags()

uint32_t ndn::net::NetworkInterface::getFlags ( ) const
inline

Returns a bitset of platform-specific flags enabled on the interface.

Definition at line 116 of file network-interface.hpp.

Referenced by ndn::net::operator<<(), and ndn::net::updateInterfaceState().

◆ getState()

InterfaceState ndn::net::NetworkInterface::getState ( ) const
inline

Returns the current state of the interface.

Definition at line 124 of file network-interface.hpp.

Referenced by ndn::net::operator<<().

◆ getMtu()

uint32_t ndn::net::NetworkInterface::getMtu ( ) const
inline

◆ getEthernetAddress()

ethernet::Address ndn::net::NetworkInterface::getEthernetAddress ( ) const
inline

Returns the link-layer (Ethernet) address of the interface.

Definition at line 140 of file network-interface.hpp.

Referenced by nfd::doesNetifMatchRule(), and ndn::net::operator<<().

◆ getEthernetBroadcastAddress()

ethernet::Address ndn::net::NetworkInterface::getEthernetBroadcastAddress ( ) const
inline

Returns the link-layer (Ethernet) broadcast address of the interface.

Definition at line 148 of file network-interface.hpp.

Referenced by ndn::net::operator<<().

◆ getNetworkAddresses()

const std::set<NetworkAddress>& ndn::net::NetworkInterface::getNetworkAddresses ( ) const
inline

Returns a list of all network-layer addresses present on the interface.

Definition at line 156 of file network-interface.hpp.

Referenced by nfd::doesNetifMatchRule(), ndn::net::operator<<(), and nfd::face::pickAddress().

◆ isLoopback()

bool ndn::net::NetworkInterface::isLoopback ( ) const
inline

Returns true if the interface is a loopback interface.

Definition at line 164 of file network-interface.hpp.

◆ isPointToPoint()

bool ndn::net::NetworkInterface::isPointToPoint ( ) const
inline

Returns true if the interface is a point-to-point interface.

Definition at line 172 of file network-interface.hpp.

◆ canBroadcast()

bool ndn::net::NetworkInterface::canBroadcast ( ) const
inline

Returns true if the interface supports broadcast communication.

Definition at line 180 of file network-interface.hpp.

Referenced by ndn::net::operator<<().

◆ canMulticast()

bool ndn::net::NetworkInterface::canMulticast ( ) const
inline

Returns true if the interface supports multicast communication.

Definition at line 188 of file network-interface.hpp.

◆ isUp()

bool ndn::net::NetworkInterface::isUp ( ) const
inline

Returns true if the interface is administratively up.

Definition at line 196 of file network-interface.hpp.

◆ addNetworkAddress()

bool ndn::net::NetworkInterface::addNetworkAddress ( const NetworkAddress address)

Definition at line 46 of file network-interface.cpp.

References ndn::net::NetworkAddress::getIp(), and NDN_LOG_DEBUG.

◆ removeNetworkAddress()

bool ndn::net::NetworkInterface::removeNetworkAddress ( const NetworkAddress address)

Definition at line 63 of file network-interface.cpp.

References NDN_LOG_DEBUG.

◆ setIndex()

void ndn::net::NetworkInterface::setIndex ( int  index)

Definition at line 74 of file network-interface.cpp.

◆ setName()

void ndn::net::NetworkInterface::setName ( const std::string &  name)

Definition at line 80 of file network-interface.cpp.

◆ setType()

void ndn::net::NetworkInterface::setType ( InterfaceType  type)

Definition at line 87 of file network-interface.cpp.

◆ setFlags()

void ndn::net::NetworkInterface::setFlags ( uint32_t  flags)

Definition at line 93 of file network-interface.cpp.

◆ setState()

void ndn::net::NetworkInterface::setState ( InterfaceState  state)

Definition at line 99 of file network-interface.cpp.

References nonstd::any_lite::swap().

Referenced by ndn::net::updateInterfaceState().

◆ setMtu()

void ndn::net::NetworkInterface::setMtu ( uint32_t  mtu)

Definition at line 108 of file network-interface.cpp.

References nonstd::any_lite::swap().

◆ setEthernetAddress()

void ndn::net::NetworkInterface::setEthernetAddress ( const ethernet::Address address)

Definition at line 117 of file network-interface.cpp.

◆ setEthernetBroadcastAddress()

void ndn::net::NetworkInterface::setEthernetBroadcastAddress ( const ethernet::Address address)

Definition at line 123 of file network-interface.cpp.

Friends And Related Function Documentation

◆ NetworkMonitorImpl

friend class NetworkMonitorImpl
friend

Definition at line 246 of file network-interface.hpp.

Member Data Documentation

◆ onStateChanged

util::Signal<NetworkInterface, InterfaceState , InterfaceState > ndn::net::NetworkInterface::onStateChanged
mutable

Fires when interface state changes.

Definition at line 74 of file network-interface.hpp.

Referenced by nfd::face::EthernetTransport::EthernetTransport().

◆ onMtuChanged

util::Signal<NetworkInterface, uint32_t , uint32_t > ndn::net::NetworkInterface::onMtuChanged
mutable

Fires when interface mtu changes.

Definition at line 78 of file network-interface.hpp.

◆ onAddressAdded

util::Signal<NetworkInterface, NetworkAddress> ndn::net::NetworkInterface::onAddressAdded
mutable

Fires when a network-layer address is added to the interface.

Definition at line 82 of file network-interface.hpp.

◆ onAddressRemoved

util::Signal<NetworkInterface, NetworkAddress> ndn::net::NetworkInterface::onAddressRemoved
mutable

Fires when a network-layer address is removed from the interface.

Definition at line 86 of file network-interface.hpp.


The documentation for this class was generated from the following files: