Routing table entry. More...
#include "aodv-rtable.h"
 Collaboration diagram for ns3::aodv::RoutingTableEntry:Public Member Functions | |
| RoutingTableEntry (Ptr< NetDevice > dev=0, Ipv4Address dst=Ipv4Address(), bool vSeqNo=false, uint32_t m_seqNo=0, Ipv4InterfaceAddress iface=Ipv4InterfaceAddress(), uint16_t hops=0, Ipv4Address nextHop=Ipv4Address(), Time lifetime=Simulator::Now()) | |
| c-to  More... | |
| ~RoutingTableEntry () | |
| Time | GetBlacklistTimeout () const | 
| Ipv4Address | GetDestination () const | 
| RouteFlags | GetFlag () const | 
| uint16_t | GetHop () const | 
| Ipv4InterfaceAddress | GetInterface () const | 
| Time | GetLifeTime () const | 
| Ipv4Address | GetNextHop () const | 
| Ptr< NetDevice > | GetOutputDevice () const | 
| Ptr< Ipv4Route > | GetRoute () const | 
| uint8_t | GetRreqCnt () const | 
| uint32_t | GetSeqNo () const | 
| bool | GetValidSeqNo () const | 
| void | IncrementRreqCnt () | 
| void | Invalidate (Time badLinkLifetime) | 
| Mark entry as "down" (i.e. disable it)  More... | |
| bool | IsUnidirectional () const | 
| bool | operator== (Ipv4Address const dst) const | 
| Compare destination address.  More... | |
| void | Print (Ptr< OutputStreamWrapper > stream) const | 
| void | SetBalcklistTimeout (Time t) | 
| void | SetFlag (RouteFlags flag) | 
| void | SetHop (uint16_t hop) | 
| void | SetInterface (Ipv4InterfaceAddress iface) | 
| void | SetLifeTime (Time lt) | 
| void | SetNextHop (Ipv4Address nextHop) | 
| void | SetOutputDevice (Ptr< NetDevice > dev) | 
| void | SetRoute (Ptr< Ipv4Route > r) | 
| void | SetRreqCnt (uint8_t n) | 
| void | SetSeqNo (uint32_t sn) | 
| void | SetUnidirectional (bool u) | 
| void | SetValidSeqNo (bool s) | 
Precursors management  | |
| bool | InsertPrecursor (Ipv4Address id) | 
| Insert precursor in precursor list if it doesn't yet exist in the list.  More... | |
| bool | LookupPrecursor (Ipv4Address id) | 
| Lookup precursor by address.  More... | |
| bool | DeletePrecursor (Ipv4Address id) | 
| Delete precursor.  More... | |
| void | DeleteAllPrecursors () | 
| Delete all precursors.  More... | |
| bool | IsPrecursorListEmpty () const | 
| Check that precursor list empty.  More... | |
| void | GetPrecursors (std::vector< Ipv4Address > &prec) const | 
| Inserts precursors in vector prec if they does not yet exist in vector.  More... | |
Public Attributes | |
| Timer | m_ackTimer | 
| RREP_ACK timer.  More... | |
Private Attributes | |
| bool | m_blackListState | 
| Indicate if this entry is in "blacklist".  More... | |
| Time | m_blackListTimeout | 
| Time for which the node is put into the blacklist.  More... | |
| RouteFlags | m_flag | 
| Routing flags: valid, invalid or in search.  More... | |
| uint16_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... | |
| std::vector< Ipv4Address > | m_precursorList | 
| List of precursors.  More... | |
| uint8_t | m_reqCount | 
| Number of route requests.  More... | |
| Time | m_routeRequestTimout | 
| When I can send another request.  More... | |
| uint32_t | m_seqNo | 
| Destination Sequence Number, if m_validSeqNo = true.  More... | |
| bool | m_validSeqNo | 
| Valid Destination Sequence Number flag.  More... | |
Routing table entry.
Definition at line 59 of file aodv-rtable.h.
| ns3::aodv::RoutingTableEntry::RoutingTableEntry | ( | Ptr< NetDevice > | dev = 0,  | 
        
| Ipv4Address | dst = Ipv4Address (),  | 
        ||
| bool | vSeqNo = false,  | 
        ||
| uint32_t | m_seqNo = 0,  | 
        ||
| Ipv4InterfaceAddress | iface = Ipv4InterfaceAddress (),  | 
        ||
| uint16_t | hops = 0,  | 
        ||
| Ipv4Address | nextHop = Ipv4Address (),  | 
        ||
| Time | lifetime = Simulator::Now ()  | 
        ||
| ) | 
c-to
Definition at line 47 of file aodv-rtable.cc.
References ns3::Ipv4InterfaceAddress::GetLocal(), m_iface, m_ipv4Route, ns3::Ipv4Route::SetDestination(), ns3::Ipv4Route::SetGateway(), ns3::Ipv4Route::SetOutputDevice(), and ns3::Ipv4Route::SetSource().
 Here is the call graph for this function:| ns3::aodv::RoutingTableEntry::~RoutingTableEntry | ( | ) | 
Definition at line 61 of file aodv-rtable.cc.
| void ns3::aodv::RoutingTableEntry::DeleteAllPrecursors | ( | ) | 
Delete all precursors.
Definition at line 115 of file aodv-rtable.cc.
References m_precursorList, and NS_LOG_FUNCTION.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTableEntry::DeletePrecursor | ( | Ipv4Address | id | ) | 
Delete precursor.
| id | precursor address | 
Definition at line 96 of file aodv-rtable.cc.
References m_precursorList, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 131 of file aodv-rtable.h.
References m_blackListTimeout.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 106 of file aodv-rtable.h.
References ns3::Ipv4Route::GetDestination(), and m_ipv4Route.
Referenced by ns3::aodv::RoutingTable::AddRoute(), ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), ns3::aodv::RoutingProtocol::SendReply(), ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode(), ns3::aodv::RoutingProtocol::SendRerrMessage(), and ns3::aodv::RoutingTable::Update().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 124 of file aodv-rtable.h.
References m_flag.
Referenced by ns3::aodv::RoutingTable::AddRoute(), ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), ns3::aodv::RoutingProtocol::Forwarding(), ns3::aodv::RoutingTable::LookupValidRoute(), ns3::aodv::RoutingProtocol::RecvReply(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::RouteRequestTimerExpire(), and ns3::aodv::RoutingProtocol::UpdateRouteLifeTime().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 120 of file aodv-rtable.h.
References m_hops.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode(), ns3::aodv::RoutingProtocol::SendRequest(), and ns3::aodv::RoutingProtocol::UpdateRouteToNeighbor().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 113 of file aodv-rtable.h.
References m_iface.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::RecvReply(), ns3::aodv::RoutingProtocol::SendReply(), ns3::aodv::RoutingProtocol::SendReplyAck(), ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode(), ns3::aodv::RoutingProtocol::SendRerrMessage(), and ns3::aodv::RoutingProtocol::SendRerrWhenNoRouteToForward().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 122 of file aodv-rtable.h.
References m_lifeTime, and ns3::Simulator::Now().
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::RecvReply(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode(), ns3::aodv::RoutingProtocol::UpdateRouteLifeTime(), and ns3::aodv::RoutingProtocol::UpdateRouteToNeighbor().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 110 of file aodv-rtable.h.
References ns3::Ipv4Route::GetGateway(), and m_ipv4Route.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::RecvReply(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::RouteInput(), ns3::aodv::RoutingProtocol::SendReply(), ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode(), and ns3::aodv::RoutingProtocol::SendRerrWhenNoRouteToForward().
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 112 of file aodv-rtable.h.
References ns3::Ipv4Route::GetOutputDevice(), and m_ipv4Route.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::UpdateRouteToNeighbor().
 Here is the call graph for this function:
 Here is the caller graph for this function:| void ns3::aodv::RoutingTableEntry::GetPrecursors | ( | std::vector< Ipv4Address > & | prec | ) | const | 
Inserts precursors in vector prec if they does not yet exist in vector.
Definition at line 128 of file aodv-rtable.cc.
References IsPrecursorListEmpty(), m_precursorList, and NS_LOG_FUNCTION.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::RecvError(), and ns3::aodv::RoutingProtocol::SendRerrWhenBreaksLinkToNextHop().
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 107 of file aodv-rtable.h.
References m_ipv4Route.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::Forwarding(), ns3::aodv::RoutingProtocol::RouteOutput(), and ns3::aodv::RoutingProtocol::RouteRequestTimerExpire().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 126 of file aodv-rtable.h.
References m_reqCount.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::RouteRequestTimerExpire(), and ns3::aodv::RoutingProtocol::ScheduleRreqRetry().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 118 of file aodv-rtable.h.
References m_seqNo.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::Forwarding(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode(), ns3::aodv::RoutingProtocol::SendRequest(), and ns3::aodv::RoutingProtocol::SendRerrWhenBreaksLinkToNextHop().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 116 of file aodv-rtable.h.
References m_validSeqNo.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::Forwarding(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::SendRequest(), and ns3::aodv::RoutingProtocol::UpdateRouteToNeighbor().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 127 of file aodv-rtable.h.
References m_reqCount.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::ScheduleRreqRetry().
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTableEntry::InsertPrecursor | ( | Ipv4Address | id | ) | 
Insert precursor in precursor list if it doesn't yet exist in the list.
| id | precursor address | 
Definition at line 66 of file aodv-rtable.cc.
References LookupPrecursor(), m_precursorList, and NS_LOG_FUNCTION.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), ns3::aodv::RoutingProtocol::RecvReply(), and ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode().
 Here is the call graph for this function:
 Here is the caller graph for this function:| void ns3::aodv::RoutingTableEntry::Invalidate | ( | Time | badLinkLifetime | ) | 
Mark entry as "down" (i.e. disable it)
Definition at line 149 of file aodv-rtable.cc.
References ns3::Time::GetSeconds(), ns3::aodv::INVALID, m_flag, m_lifeTime, m_reqCount, ns3::Simulator::Now(), and NS_LOG_FUNCTION.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
 Here is the call graph for this function:
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTableEntry::IsPrecursorListEmpty | ( | ) | const | 
Check that precursor list empty.
Definition at line 122 of file aodv-rtable.cc.
References m_precursorList.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and GetPrecursors().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 129 of file aodv-rtable.h.
References m_blackListState.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), and ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTableEntry::LookupPrecursor | ( | Ipv4Address | id | ) | 
Lookup precursor by address.
| id | precursor address | 
Definition at line 79 of file aodv-rtable.cc.
References m_precursorList, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and InsertPrecursor().
 Here is the caller graph for this function:
      
  | 
  inline | 
Compare destination address.
Definition at line 139 of file aodv-rtable.h.
References ns3::Ipv4Route::GetDestination(), and m_ipv4Route.
 Here is the call graph for this function:| void ns3::aodv::RoutingTableEntry::Print | ( | Ptr< OutputStreamWrapper > | stream | ) | const | 
Definition at line 160 of file aodv-rtable.cc.
References ns3::Ipv4Route::GetDestination(), ns3::Ipv4Route::GetGateway(), ns3::Ipv4InterfaceAddress::GetLocal(), ns3::OutputStreamWrapper::GetStream(), ns3::aodv::IN_SEARCH, ns3::aodv::INVALID, m_flag, m_hops, m_iface, m_ipv4Route, m_lifeTime, ns3::Simulator::Now(), and ns3::aodv::VALID.
 Here is the call graph for this function:
      
  | 
  inline | 
Definition at line 130 of file aodv-rtable.h.
References m_blackListTimeout.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 123 of file aodv-rtable.h.
References m_flag.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::RoutingProtocol::RecvReplyAck(), ns3::aodv::RoutingProtocol::RecvRequest(), and ns3::aodv::RoutingProtocol::SendRequest().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 119 of file aodv-rtable.h.
References m_hops.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), and ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 114 of file aodv-rtable.h.
References m_iface.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 121 of file aodv-rtable.h.
References m_lifeTime, and ns3::Simulator::Now().
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), ns3::aodv::AodvRtableTest::DoRun(), ns3::aodv::RoutingProtocol::RecvReply(), ns3::aodv::RoutingProtocol::RecvRequest(), ns3::aodv::RoutingProtocol::UpdateRouteLifeTime(), and ns3::aodv::RoutingProtocol::UpdateRouteToNeighbor().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 109 of file aodv-rtable.h.
References m_ipv4Route, and ns3::Ipv4Route::SetGateway().
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 111 of file aodv-rtable.h.
References m_ipv4Route, and ns3::Ipv4Route::SetOutputDevice().
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 108 of file aodv-rtable.h.
References m_ipv4Route.
      
  | 
  inline | 
Definition at line 125 of file aodv-rtable.h.
References m_reqCount.
Referenced by ns3::aodv::RoutingTable::AddRoute(), ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::UpdateRouteLifeTime().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 117 of file aodv-rtable.h.
References m_seqNo.
Referenced by ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 128 of file aodv-rtable.h.
References m_blackListState.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
 Here is the caller graph for this function:
      
  | 
  inline | 
Definition at line 115 of file aodv-rtable.h.
References m_validSeqNo.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and ns3::aodv::RoutingProtocol::RecvRequest().
 Here is the caller graph for this function:| Timer ns3::aodv::RoutingTableEntry::m_ackTimer | 
RREP_ACK timer.
Definition at line 133 of file aodv-rtable.h.
Referenced by ns3::aodv::RoutingProtocol::RecvReplyAck(), and ns3::aodv::RoutingProtocol::SendReplyByIntermediateNode().
      
  | 
  private | 
Indicate if this entry is in "blacklist".
Definition at line 178 of file aodv-rtable.h.
Referenced by IsUnidirectional(), and SetUnidirectional().
      
  | 
  private | 
Time for which the node is put into the blacklist.
Definition at line 180 of file aodv-rtable.h.
Referenced by GetBlacklistTimeout(), and SetBalcklistTimeout().
      
  | 
  private | 
Routing flags: valid, invalid or in search.
Definition at line 169 of file aodv-rtable.h.
Referenced by GetFlag(), Invalidate(), Print(), and SetFlag().
      
  | 
  private | 
Hop Count (number of hops needed to reach destination)
Definition at line 151 of file aodv-rtable.h.
      
  | 
  private | 
Output interface address.
Definition at line 167 of file aodv-rtable.h.
Referenced by GetInterface(), Print(), RoutingTableEntry(), and SetInterface().
Ip route, include.
Definition at line 165 of file aodv-rtable.h.
Referenced by GetDestination(), GetNextHop(), GetOutputDevice(), GetRoute(), operator==(), Print(), RoutingTableEntry(), 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 158 of file aodv-rtable.h.
Referenced by GetLifeTime(), Invalidate(), Print(), and SetLifeTime().
      
  | 
  private | 
List of precursors.
Definition at line 172 of file aodv-rtable.h.
Referenced by DeleteAllPrecursors(), DeletePrecursor(), GetPrecursors(), InsertPrecursor(), IsPrecursorListEmpty(), and LookupPrecursor().
      
  | 
  private | 
Number of route requests.
Definition at line 176 of file aodv-rtable.h.
Referenced by GetRreqCnt(), IncrementRreqCnt(), Invalidate(), and SetRreqCnt().
      
  | 
  private | 
When I can send another request.
Definition at line 174 of file aodv-rtable.h.
      
  | 
  private | 
Destination Sequence Number, if m_validSeqNo = true.
Definition at line 149 of file aodv-rtable.h.
Referenced by GetSeqNo(), and SetSeqNo().
      
  | 
  private | 
Valid Destination Sequence Number flag.
Definition at line 147 of file aodv-rtable.h.
Referenced by GetValidSeqNo(), and SetValidSeqNo().