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 More... | |
~RoutingTableEntry () | |
Ipv4Address | GetDestination () const |
Get destination IP address. More... | |
bool | GetEntriesChanged () const |
Get entries changed. More... | |
RouteFlags | GetFlag () const |
Get route flags. More... | |
uint32_t | GetHop () const |
Get hop. More... | |
Ipv4InterfaceAddress | GetInterface () const |
Get interface address. More... | |
Time | GetLifeTime () const |
Get lifetime. More... | |
Ipv4Address | GetNextHop () const |
Get next hop. More... | |
Ptr< NetDevice > | GetOutputDevice () const |
Get output device. More... | |
Ptr< Ipv4Route > | GetRoute () const |
Get route. More... | |
uint32_t | GetSeqNo () const |
Get sequence number. More... | |
Time | GetSettlingTime () const |
Get settling time. More... | |
bool | operator== (const Ipv4Address destination) const |
Compare destination address. More... | |
void | Print (Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S) const |
Print routing table entry. More... | |
void | SetEntriesChanged (bool entriesChanged) |
Set entries changed indicator. More... | |
void | SetFlag (RouteFlags flag) |
Set route flags. More... | |
void | SetHop (uint32_t hopCount) |
Set hop. More... | |
void | SetInterface (Ipv4InterfaceAddress iface) |
Set interface address. More... | |
void | SetLifeTime (Time lifeTime) |
Set lifetime. More... | |
void | SetNextHop (Ipv4Address nextHop) |
Set next hop. More... | |
void | SetOutputDevice (Ptr< NetDevice > device) |
Set output device. More... | |
void | SetRoute (Ptr< Ipv4Route > route) |
Set route. More... | |
void | SetSeqNo (uint32_t sequenceNumber) |
Set sequence number. More... | |
void | SetSettlingTime (Time settlingTime) |
Set settling time. More... | |
Private Attributes | |
bool | m_entriesChanged |
Flag to show if any of the routing table entries were changed with the routing update. More... | |
RouteFlags | m_flag |
Routing flags: valid, invalid or in search. More... | |
uint32_t | m_hops |
Hop Count (number of hops needed to reach destination) More... | |
Ipv4InterfaceAddress | m_iface |
Output interface address. More... | |
Ptr< Ipv4Route > | m_ipv4Route |
Ip route, include. More... | |
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. More... | |
uint32_t | m_seqNo |
Destination Sequence Number. More... | |
Time | m_settlingTime |
Time for which the node retains an update with changed metric before broadcasting it. More... | |
Routing table entry.
Definition at line 58 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 44 of file dsdv-rtable.cc.
References ns3::Ipv4InterfaceAddress::GetLocal(), m_iface, and m_ipv4Route.
ns3::dsdv::RoutingTableEntry::~RoutingTableEntry | ( | ) |
Definition at line 68 of file dsdv-rtable.cc.
|
inline |
Get destination IP address.
Definition at line 90 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 270 of file dsdv-rtable.h.
References m_entriesChanged.
Referenced by ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates().
|
inline |
Get route flags.
Definition at line 252 of file dsdv-rtable.h.
References m_flag.
|
inline |
Get hop.
Definition at line 198 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 153 of file dsdv-rtable.h.
References m_iface.
Referenced by DsdvTableTestCase::DoRun().
|
inline |
Get lifetime.
Definition at line 216 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 126 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 144 of file dsdv-rtable.h.
References m_ipv4Route.
Get route.
Definition at line 99 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 180 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 234 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 280 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 192 of file dsdv-rtable.cc.
References ns3::Time::As(), ns3::Ipv4InterfaceAddress::GetLocal(), ns3::OutputStreamWrapper::GetStream(), 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 261 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 243 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 189 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 162 of file dsdv-rtable.h.
References m_iface.
|
inline |
Set lifetime.
lifeTime | the lifetime value |
Definition at line 207 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 117 of file dsdv-rtable.h.
References m_ipv4Route.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv().
Set output device.
device | the output device |
Definition at line 135 of file dsdv-rtable.h.
References m_ipv4Route.
Set route.
route | the IPv4 route |
Definition at line 108 of file dsdv-rtable.h.
References m_ipv4Route.
|
inline |
Set sequence number.
sequenceNumber | the sequence number |
Definition at line 171 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 225 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 320 of file dsdv-rtable.h.
Referenced by GetEntriesChanged(), and SetEntriesChanged().
|
private |
Routing flags: valid, invalid or in search.
Definition at line 315 of file dsdv-rtable.h.
|
private |
Hop Count (number of hops needed to reach destination)
Definition at line 297 of file dsdv-rtable.h.
|
private |
Output interface address.
Definition at line 313 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), GetInterface(), Print(), and SetInterface().
Ip route, include.
Definition at line 311 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 304 of file dsdv-rtable.h.
Referenced by GetLifeTime(), Print(), and SetLifeTime().
|
private |
Destination Sequence Number.
Definition at line 295 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 318 of file dsdv-rtable.h.
Referenced by GetSettlingTime(), Print(), and SetSettlingTime().