Routing table entry. More...
#include "dsdv-rtable.h"
Public Member Functions | |
RoutingTableEntry (Ptr< NetDevice > dev=nullptr, Ipv4Address dst=Ipv4Address(), uint32_t seqNo=0, Ipv4InterfaceAddress iface=Ipv4InterfaceAddress(), uint32_t hops=0, Ipv4Address nextHop=Ipv4Address(), Time lifetime=Simulator::Now(), Time settlingTime=Simulator::Now(), bool changedEntries=false) | |
c-tor | |
~RoutingTableEntry () | |
Ipv4Address | GetDestination () const |
Get destination IP address. | |
bool | GetEntriesChanged () const |
Get entries changed. | |
RouteFlags | GetFlag () const |
Get route flags. | |
uint32_t | GetHop () const |
Get hop. | |
Ipv4InterfaceAddress | GetInterface () const |
Get interface address. | |
Time | GetLifeTime () const |
Get lifetime. | |
Ipv4Address | GetNextHop () const |
Get next hop. | |
Ptr< NetDevice > | GetOutputDevice () const |
Get output device. | |
Ptr< Ipv4Route > | GetRoute () const |
Get route. | |
uint32_t | GetSeqNo () const |
Get sequence number. | |
Time | GetSettlingTime () const |
Get settling time. | |
bool | operator== (const Ipv4Address destination) const |
Compare destination address. | |
void | Print (Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S) const |
Print routing table entry. | |
void | SetEntriesChanged (bool entriesChanged) |
Set entries changed indicator. | |
void | SetFlag (RouteFlags flag) |
Set route flags. | |
void | SetHop (uint32_t hopCount) |
Set hop. | |
void | SetInterface (Ipv4InterfaceAddress iface) |
Set interface address. | |
void | SetLifeTime (Time lifeTime) |
Set lifetime. | |
void | SetNextHop (Ipv4Address nextHop) |
Set next hop. | |
void | SetOutputDevice (Ptr< NetDevice > device) |
Set output device. | |
void | SetRoute (Ptr< Ipv4Route > route) |
Set route. | |
void | SetSeqNo (uint32_t sequenceNumber) |
Set sequence number. | |
void | SetSettlingTime (Time settlingTime) |
Set settling time. | |
Private Attributes | |
bool | m_entriesChanged |
Flag to show if any of the routing table entries were changed with the routing update. | |
RouteFlags | m_flag |
Routing flags: valid, invalid or in search. | |
uint32_t | m_hops |
Hop Count (number of hops needed to reach destination) | |
Ipv4InterfaceAddress | m_iface |
Output interface address. | |
Ptr< Ipv4Route > | m_ipv4Route |
Ip route, include. | |
Time | m_lifeTime |
Expiration or deletion time of the route Lifetime field in the routing table plays dual role – for an active route it is the expiration time, and for an invalid route it is the deletion time. | |
uint32_t | m_seqNo |
Destination Sequence Number. | |
Time | m_settlingTime |
Time for which the node retains an update with changed metric before broadcasting it. | |
Routing table entry.
Definition at line 47 of file dsdv-rtable.h.
ns3::dsdv::RoutingTableEntry::RoutingTableEntry | ( | Ptr< NetDevice > | dev = nullptr, |
Ipv4Address | dst = Ipv4Address(), | ||
uint32_t | seqNo = 0, | ||
Ipv4InterfaceAddress | iface = Ipv4InterfaceAddress(), | ||
uint32_t | hops = 0, | ||
Ipv4Address | nextHop = Ipv4Address(), | ||
Time | lifetime = Simulator::Now(), | ||
Time | settlingTime = Simulator::Now(), | ||
bool | changedEntries = false ) |
c-tor
dev | the net device |
dst | the destination IP address |
seqNo | the sequence number |
iface | the interface |
hops | the number of hops |
nextHop | the IP address of the next hop |
lifetime | the lifetime |
settlingTime | the settling time |
changedEntries | flag for changed entries |
Definition at line 33 of file dsdv-rtable.cc.
References ns3::Create(), ns3::Ipv4InterfaceAddress::GetLocal(), m_iface, and m_ipv4Route.
ns3::dsdv::RoutingTableEntry::~RoutingTableEntry | ( | ) |
Definition at line 57 of file dsdv-rtable.cc.
|
inline |
Get destination IP address.
Definition at line 79 of file dsdv-rtable.h.
References m_ipv4Route.
Referenced by ns3::dsdv::RoutingTable::AddRoute(), DsdvTableTestCase::DoRun(), ns3::dsdv::RoutingProtocol::LookForQueuedPackets(), ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates(), ns3::dsdv::RoutingProtocol::SendTriggeredUpdate(), and ns3::dsdv::RoutingTable::Update().
|
inline |
Get entries changed.
Definition at line 259 of file dsdv-rtable.h.
References m_entriesChanged.
Referenced by ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates().
|
inline |
Get route flags.
Definition at line 241 of file dsdv-rtable.h.
References m_flag.
|
inline |
Get hop.
Definition at line 187 of file dsdv-rtable.h.
References m_hops.
Referenced by DsdvTableTestCase::DoRun(), ns3::dsdv::RoutingProtocol::LookForQueuedPackets(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::dsdv::RoutingProtocol::RouteOutput(), and ns3::dsdv::RoutingProtocol::SendTriggeredUpdate().
|
inline |
Get interface address.
Definition at line 142 of file dsdv-rtable.h.
References m_iface.
Referenced by DsdvTableTestCase::DoRun().
|
inline |
Get lifetime.
Definition at line 205 of file dsdv-rtable.h.
References m_lifeTime, and ns3::Simulator::Now().
Referenced by ns3::dsdv::RoutingProtocol::GetSettlingTime().
|
inline |
Get next hop.
Definition at line 115 of file dsdv-rtable.h.
References m_ipv4Route.
Referenced by ns3::dsdv::RoutingProtocol::LookForQueuedPackets(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::dsdv::RoutingProtocol::RouteInput(), and ns3::dsdv::RoutingProtocol::RouteOutput().
Get output device.
Definition at line 133 of file dsdv-rtable.h.
References m_ipv4Route.
Get route.
Definition at line 88 of file dsdv-rtable.h.
References m_ipv4Route.
Referenced by ns3::dsdv::RoutingProtocol::LookForQueuedPackets(), ns3::dsdv::RoutingProtocol::RouteInput(), and ns3::dsdv::RoutingProtocol::RouteOutput().
|
inline |
Get sequence number.
Definition at line 169 of file dsdv-rtable.h.
References m_seqNo.
Referenced by DsdvTableTestCase::DoRun(), ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates(), ns3::dsdv::RoutingProtocol::RecvDsdv(), and ns3::dsdv::RoutingProtocol::SendTriggeredUpdate().
|
inline |
Get settling time.
Definition at line 223 of file dsdv-rtable.h.
References m_settlingTime.
Referenced by ns3::dsdv::RoutingProtocol::GetSettlingTime().
|
inline |
Compare destination address.
destination | destination node IP address |
Definition at line 269 of file dsdv-rtable.h.
References m_ipv4Route.
void ns3::dsdv::RoutingTableEntry::Print | ( | Ptr< OutputStreamWrapper > | stream, |
Time::Unit | unit = Time::S ) const |
Print routing table entry.
stream | the output stream |
unit | the Time unit |
Definition at line 181 of file dsdv-rtable.cc.
References ns3::Time::As(), ns3::Ipv4InterfaceAddress::GetLocal(), m_hops, m_iface, m_ipv4Route, m_lifeTime, m_seqNo, m_settlingTime, and ns3::Simulator::Now().
|
inline |
Set entries changed indicator.
entriesChanged |
Definition at line 250 of file dsdv-rtable.h.
References m_entriesChanged.
Referenced by ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::dsdv::RoutingProtocol::SendTriggeredUpdate(), and ns3::dsdv::RoutingProtocol::SetIpv4().
|
inline |
Set route flags.
flag | the route flags |
Definition at line 232 of file dsdv-rtable.h.
References m_flag.
Referenced by ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates(), ns3::dsdv::RoutingProtocol::RecvDsdv(), ns3::dsdv::RoutingProtocol::SendTriggeredUpdate(), and ns3::dsdv::RoutingProtocol::SetIpv4().
|
inline |
Set hop.
hopCount | the hop count |
Definition at line 178 of file dsdv-rtable.h.
References m_hops.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv().
|
inline |
Set interface address.
iface | the IPv4 interface address |
Definition at line 151 of file dsdv-rtable.h.
References m_iface.
|
inline |
Set lifetime.
lifeTime | the lifetime value |
Definition at line 196 of file dsdv-rtable.h.
References m_lifeTime.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv().
|
inline |
Set next hop.
nextHop | the IPv4 address of the next hop |
Definition at line 106 of file dsdv-rtable.h.
References m_ipv4Route.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv().
Set output device.
device | the output device |
Definition at line 124 of file dsdv-rtable.h.
References m_ipv4Route.
Set route.
route | the IPv4 route |
Definition at line 97 of file dsdv-rtable.h.
References m_ipv4Route.
|
inline |
Set sequence number.
sequenceNumber | the sequence number |
Definition at line 160 of file dsdv-rtable.h.
References m_seqNo.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv(), and ns3::dsdv::RoutingProtocol::SendPeriodicUpdate().
|
inline |
Set settling time.
settlingTime | the settling time |
Definition at line 214 of file dsdv-rtable.h.
References m_settlingTime.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv().
|
private |
Flag to show if any of the routing table entries were changed with the routing update.
Definition at line 309 of file dsdv-rtable.h.
Referenced by GetEntriesChanged(), and SetEntriesChanged().
|
private |
Routing flags: valid, invalid or in search.
Definition at line 304 of file dsdv-rtable.h.
|
private |
Hop Count (number of hops needed to reach destination)
Definition at line 286 of file dsdv-rtable.h.
|
private |
Output interface address.
Definition at line 302 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), GetInterface(), Print(), and SetInterface().
Ip route, include.
Definition at line 300 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), GetDestination(), GetNextHop(), GetOutputDevice(), GetRoute(), operator==(), Print(), SetNextHop(), SetOutputDevice(), and SetRoute().
|
private |
Expiration or deletion time of the route Lifetime field in the routing table plays dual role – for an active route it is the expiration time, and for an invalid route it is the deletion time.
Definition at line 293 of file dsdv-rtable.h.
Referenced by GetLifeTime(), Print(), and SetLifeTime().
|
private |
Destination Sequence Number.
Definition at line 284 of file dsdv-rtable.h.
Referenced by GetSeqNo(), Print(), and SetSeqNo().
|
private |
Time for which the node retains an update with changed metric before broadcasting it.
A node does that in hope of receiving a better update.
Definition at line 307 of file dsdv-rtable.h.
Referenced by GetSettlingTime(), Print(), and SetSettlingTime().