Routing table entry. More...
#include <aodv-rtable.h>
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(), uint16_t channelNo=1) | |
| c-to | |
| void | Invalidate (Time badLinkLifetime) |
| Mark entry as "down" (i.e. disable it) | |
| bool | operator== (Ipv4Address const dst) const |
| Compare destination address. More... | |
| void | Print (Ptr< OutputStreamWrapper > stream) const |
Precursors management | |
| bool | InsertPrecursor (Ipv4Address id) |
| bool | LookupPrecursor (Ipv4Address id) |
| bool | DeletePrecursor (Ipv4Address id) |
| Delete precursor. More... | |
| void | DeleteAllPrecursors () |
| Delete all precursors. | |
| bool | IsPrecursorListEmpty () const |
| void | GetPrecursors (std::vector< Ipv4Address > &prec) const |
Private Attributes | |
| bool | m_blackListState |
| Indicate if this entry is in "blacklist". | |
| Time | m_blackListTimeout |
| Time for which the node is put into the blacklist. | |
| uint16_t | m_channel |
| Channel number for route's destination. | |
| RouteFlags | m_flag |
| Routing flags: valid, invalid or in search. | |
| uint16_t | m_hops |
| Hop Count (number of hops needed to reach destination) | |
| Ipv4InterfaceAddress | m_iface |
| Output interface address. | |
| Ptr< Ipv4Route > | m_ipv4Route |
| 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. | |
| std::vector< Ipv4Address > | m_precursorList |
| List of precursors. | |
| uint8_t | m_reqCount |
| Number of route requests. | |
| Time | m_routeRequestTimout |
| When I can send another request. | |
| uint32_t | m_seqNo |
| Destination Sequence Number, if m_validSeqNo = true. | |
| bool | m_validSeqNo |
| Valid Destination Sequence Number flag. | |
Fields | |
| Timer | m_ackTimer |
| RREP_ACK timer. | |
| Ipv4Address | GetDestination () const |
| Ptr< Ipv4Route > | GetRoute () const |
| void | SetRoute (Ptr< Ipv4Route > r) |
| void | SetNextHop (Ipv4Address nextHop) |
| Ipv4Address | GetNextHop () const |
| void | SetOutputDevice (Ptr< NetDevice > dev) |
| Ptr< NetDevice > | GetOutputDevice () const |
| Ipv4InterfaceAddress | GetInterface () const |
| void | SetInterface (Ipv4InterfaceAddress iface) |
| void | SetValidSeqNo (bool s) |
| bool | GetValidSeqNo () const |
| void | SetSeqNo (uint32_t sn) |
| uint32_t | GetSeqNo () const |
| void | SetHop (uint16_t hop) |
| uint16_t | GetHop () const |
| void | SetChannel (uint16_t channel) |
| uint16_t | GetChannel () const |
| void | SetLifeTime (Time lt) |
| Time | GetLifeTime () const |
| void | SetFlag (RouteFlags flag) |
| RouteFlags | GetFlag () const |
| void | SetRreqCnt (uint8_t n) |
| uint8_t | GetRreqCnt () const |
| void | IncrementRreqCnt () |
| void | SetUnidirectional (bool u) |
| bool | IsUnidirectional () const |
| void | SetBalcklistTimeout (Time t) |
| Time | GetBlacklistTimeout () const |
Routing table entry.
Definition at line 59 of file aodv-rtable.h.
| bool ns3::aodv::RoutingTableEntry::DeletePrecursor | ( | Ipv4Address | id | ) |
Delete precursor.
| id | precursor address |
Definition at line 97 of file aodv-rtable.cc.
References m_precursorList, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun().
| 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 129 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().
| 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 67 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().
| bool ns3::aodv::RoutingTableEntry::IsPrecursorListEmpty | ( | ) | const |
Check that precursor list empty
Definition at line 123 of file aodv-rtable.cc.
References m_precursorList.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and GetPrecursors().
| bool ns3::aodv::RoutingTableEntry::LookupPrecursor | ( | Ipv4Address | id | ) |
Lookup precursor by address
| id | precursor address |
Definition at line 80 of file aodv-rtable.cc.
References m_precursorList, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::aodv::AodvRtableEntryTest::DoRun(), and InsertPrecursor().
|
inline |
Compare destination address.
Definition at line 143 of file aodv-rtable.h.
References ns3::Ipv4Route::GetDestination(), and m_ipv4Route.
Ip route, include
Definition at line 169 of file aodv-rtable.h.
Referenced by operator==(), and RoutingTableEntry().