22 #ifndef IPV4_INTERFACE_H 23 #define IPV4_INTERFACE_H 27 #include "ns3/object.h" 35 class Ipv4InterfaceAddress;
38 class TrafficControlLayer;
122 bool IsUp (
void)
const;
void SetDown(void)
Disable this interface.
void SetForwarding(bool val)
Ipv4Interface()
By default, Ipv4 interface are created in the "down" state with no IP addresses.
void Send(Ptr< Packet > p, const Ipv4Header &hdr, Ipv4Address dest)
The IPv4 representation of a network interface.
Ipv4InterfaceAddress RemoveAddress(uint32_t index)
bool AddAddress(Ipv4InterfaceAddress address)
Ipv4InterfaceAddress GetAddress(uint32_t index) const
Ptr< NetDevice > m_device
The associated NetDevice.
Ptr< ArpCache > m_cache
ARP cache.
void SetNode(Ptr< Node > node)
Set node associated with interface.
std::list< Ipv4InterfaceAddress >::const_iterator Ipv4InterfaceAddressListCI
Container Iterator for the Ipv4InterfaceAddresses.
bool m_forwarding
Forwarding state.
static TypeId GetTypeId(void)
Get the type ID.
void SetTrafficControl(Ptr< TrafficControlLayer > tc)
Set the TrafficControlLayer.
std::list< Ipv4InterfaceAddress > Ipv4InterfaceAddressList
Container for the Ipv4InterfaceAddresses.
Ptr< TrafficControlLayer > m_tc
The associated TrafficControlLayer.
void SetDevice(Ptr< NetDevice > device)
Set the NetDevice.
Ipv4InterfaceAddressList m_ifaddrs
Address list.
Ipv4Interface & operator=(const Ipv4Interface &o)
Assignment operator.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< NetDevice > GetDevice(void) const
Ptr< ArpCache > GetArpCache() const
bool IsForwarding(void) const
std::list< Ipv4InterfaceAddress >::iterator Ipv4InterfaceAddressListI
Const Container Iterator for the Ipv4InterfaceAddresses.
Ptr< Node > m_node
The associated node.
bool IsUp(void) const
These are IP interface states and may be distinct from NetDevice states, such as found in real implem...
uint16_t GetMetric(void) const
uint16_t m_metric
Interface metric.
Ipv4 addresses are stored in host order in this class.
void SetArpCache(Ptr< ArpCache > arpCache)
Set ARP cache used by this interface.
a class to store IPv4 address information on an interface
bool m_ifup
The state of this interface.
void SetMetric(uint16_t metric)
A base class which provides memory management and object aggregation.
void DoSetup(void)
Initialize interface.
uint32_t GetNAddresses(void) const
virtual void DoDispose(void)
Destructor implementation.
a unique identifier for an interface.
void SetUp(void)
Enable this interface.