Routing table entry. More...
#include "dsdv-rtable.h"
Public Member Functions | |
RoutingTableEntry (Ptr< NetDevice > dev=0, 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== (Ipv4Address const 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 | |
uint32_t | 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 56 of file dsdv-rtable.h.
ns3::dsdv::RoutingTableEntry::RoutingTableEntry | ( | Ptr< NetDevice > | dev = 0 , |
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 41 of file dsdv-rtable.cc.
References ns3::Ipv4InterfaceAddress::GetLocal(), m_iface, and m_ipv4Route.
ns3::dsdv::RoutingTableEntry::~RoutingTableEntry | ( | ) |
Definition at line 64 of file dsdv-rtable.cc.
|
inline |
Get destination IP address.
Definition at line 82 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 262 of file dsdv-rtable.h.
References m_entriesChanged.
Referenced by ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates().
|
inline |
Get route flags.
Definition at line 244 of file dsdv-rtable.h.
References m_flag.
|
inline |
Get hop.
Definition at line 190 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 145 of file dsdv-rtable.h.
References m_iface.
Referenced by DsdvTableTestCase::DoRun().
|
inline |
Get lifetime.
Definition at line 208 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 118 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 136 of file dsdv-rtable.h.
References m_ipv4Route.
Get route.
Definition at line 91 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 172 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 226 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 272 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 198 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 253 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 235 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 181 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 154 of file dsdv-rtable.h.
References m_iface.
|
inline |
Set lifetime.
lifeTime | the lifetime value |
Definition at line 199 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 109 of file dsdv-rtable.h.
References m_ipv4Route.
Referenced by ns3::dsdv::RoutingProtocol::RecvDsdv().
Set output device.
device | the output device |
Definition at line 127 of file dsdv-rtable.h.
References m_ipv4Route.
Set route.
route | the IPv4 route |
Definition at line 100 of file dsdv-rtable.h.
References m_ipv4Route.
|
inline |
Set sequence number.
sequenceNumber | the sequence number |
Definition at line 163 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 217 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 312 of file dsdv-rtable.h.
Referenced by GetEntriesChanged(), and SetEntriesChanged().
|
private |
Routing flags: valid, invalid or in search.
Definition at line 307 of file dsdv-rtable.h.
|
private |
Hop Count (number of hops needed to reach destination)
Definition at line 289 of file dsdv-rtable.h.
|
private |
Output interface address.
Definition at line 305 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), GetInterface(), Print(), and SetInterface().
Ip route, include.
Definition at line 303 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 296 of file dsdv-rtable.h.
Referenced by GetLifeTime(), Print(), and SetLifeTime().
|
private |
Destination Sequence Number.
Definition at line 287 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 310 of file dsdv-rtable.h.
Referenced by GetSettlingTime(), Print(), and SetSettlingTime().