Routing table entry. More...
#include "dsdv-rtable.h"
Collaboration diagram for ns3::dsdv::RoutingTableEntry: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(), m_entriesChanged, m_flag, m_hops, m_iface, m_ipv4Route, m_lifeTime, m_seqNo, m_settlingTime, and ns3::dsdv::VALID.
Here is the call graph for this function:| 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().
Here is the caller graph for this function:
|
inline |
Get entries changed.
Definition at line 259 of file dsdv-rtable.h.
References m_entriesChanged.
Referenced by ns3::dsdv::RoutingProtocol::MergeTriggerPeriodicUpdates().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
inline |
Get interface address.
Definition at line 142 of file dsdv-rtable.h.
References m_iface.
Referenced by DsdvTableTestCase::DoRun().
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function: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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
inline |
Get settling time.
Definition at line 223 of file dsdv-rtable.h.
References m_settlingTime.
Referenced by ns3::dsdv::RoutingProtocol::GetSettlingTime().
Here is the caller graph for this function:
|
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 m_hops, m_iface, m_ipv4Route, m_lifeTime, m_seqNo, m_settlingTime, and ns3::Simulator::Now().
Here is the call graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function: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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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 RoutingTableEntry(), GetEntriesChanged(), and SetEntriesChanged().
|
private |
Routing flags: valid, invalid or in search.
Definition at line 304 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), GetFlag(), and SetFlag().
|
private |
Hop Count (number of hops needed to reach destination)
Definition at line 286 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), GetHop(), Print(), and SetHop().
|
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 RoutingTableEntry(), GetLifeTime(), Print(), and SetLifeTime().
|
private |
Destination Sequence Number.
Definition at line 284 of file dsdv-rtable.h.
Referenced by RoutingTableEntry(), 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 RoutingTableEntry(), GetSettlingTime(), Print(), and SetSettlingTime().