The Routing table used by AODV protocol. More...
#include "aodv-rtable.h"
 Collaboration diagram for ns3::aodv::RoutingTable:
 Collaboration diagram for ns3::aodv::RoutingTable:| Public Member Functions | |
| RoutingTable (Time t) | |
| constructor | |
| Handle lifetime of invalid route | |
| std::map< Ipv4Address, RoutingTableEntry > | m_ipv4AddressEntry | 
| The routing table. | |
| Time | m_badLinkLifetime | 
| Deletion time for invalid routes. | |
| Time | GetBadLinkLifetime () const | 
| Get the lifetime of a bad link. | |
| void | SetBadLinkLifetime (Time t) | 
| Set the lifetime of a bad link. | |
| bool | AddRoute (RoutingTableEntry &r) | 
| Add routing table entry if it doesn't yet exist in routing table. | |
| bool | DeleteRoute (Ipv4Address dst) | 
| Delete routing table entry with destination address dst, if it exists. | |
| bool | LookupRoute (Ipv4Address dst, RoutingTableEntry &rt) | 
| Lookup routing table entry with destination address dst. | |
| bool | LookupValidRoute (Ipv4Address dst, RoutingTableEntry &rt) | 
| Lookup route in VALID state. | |
| bool | Update (RoutingTableEntry &rt) | 
| Update routing table. | |
| bool | SetEntryState (Ipv4Address dst, RouteFlags state) | 
| Set routing table entry flags. | |
| void | GetListOfDestinationWithNextHop (Ipv4Address nextHop, std::map< Ipv4Address, uint32_t > &unreachable) | 
| Lookup routing entries with next hop Address dst and not empty list of precursors. | |
| void | InvalidateRoutesWithDst (const std::map< Ipv4Address, uint32_t > &unreachable) | 
| Update routing entries with this destination as follows: | |
| void | DeleteAllRoutesFromInterface (Ipv4InterfaceAddress iface) | 
| Delete all route from interface with address iface. | |
| void | Clear () | 
| Delete all entries from routing table. | |
| void | Purge () | 
| Delete all outdated entries and invalidate valid entry if Lifetime is expired. | |
| bool | MarkLinkAsUnidirectional (Ipv4Address neighbor, Time blacklistTimeout) | 
| Mark entry as unidirectional (e.g. | |
| void | Print (Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S) const | 
| Print routing table. | |
| void | Purge (std::map< Ipv4Address, RoutingTableEntry > &table) const | 
| const version of Purge, for use by Print() method | |
The Routing table used by AODV protocol.
Definition at line 412 of file aodv-rtable.h.
| ns3::aodv::RoutingTable::RoutingTable | ( | Time | t | ) | 
constructor
| t | the routing table entry lifetime | 
Definition at line 216 of file aodv-rtable.cc.
References m_badLinkLifetime.
| bool ns3::aodv::RoutingTable::AddRoute | ( | RoutingTableEntry & | r | ) | 
Add routing table entry if it doesn't yet exist in routing table.
| r | routing table entry | 
Definition at line 271 of file aodv-rtable.cc.
References ns3::aodv::RoutingTableEntry::GetDestination(), ns3::aodv::RoutingTableEntry::GetFlag(), ns3::aodv::IN_SEARCH, m_ipv4AddressEntry, NS_LOG_FUNCTION, Purge(), and ns3::aodv::RoutingTableEntry::SetRreqCnt().
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
Delete all entries from routing table.
Definition at line 507 of file aodv-rtable.h.
References m_ipv4AddressEntry.
| void ns3::aodv::RoutingTable::DeleteAllRoutesFromInterface | ( | Ipv4InterfaceAddress | iface | ) | 
Delete all route from interface with address iface.
| iface | the interface IP address | 
Definition at line 354 of file aodv-rtable.cc.
References m_ipv4AddressEntry, and NS_LOG_FUNCTION.
| bool ns3::aodv::RoutingTable::DeleteRoute | ( | Ipv4Address | dst | ) | 
Delete routing table entry with destination address dst, if it exists.
| dst | destination address | 
Definition at line 257 of file aodv-rtable.cc.
References m_ipv4AddressEntry, NS_LOG_FUNCTION, NS_LOG_LOGIC, and Purge().
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inline | 
Get the lifetime of a bad link.
Definition at line 428 of file aodv-rtable.h.
References m_badLinkLifetime.
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::aodv::RoutingTable::GetListOfDestinationWithNextHop | ( | Ipv4Address | nextHop, | 
| std::map< Ipv4Address, uint32_t > & | unreachable ) | 
Lookup routing entries with next hop Address dst and not empty list of precursors.
| nextHop | the next hop IP address | 
| unreachable | 
Definition at line 319 of file aodv-rtable.cc.
References m_ipv4AddressEntry, NS_LOG_FUNCTION, NS_LOG_LOGIC, and Purge().
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::aodv::RoutingTable::InvalidateRoutesWithDst | ( | const std::map< Ipv4Address, uint32_t > & | unreachable | ) | 
Update routing entries with this destination as follows:
| unreachable | routes to invalidate | 
Definition at line 336 of file aodv-rtable.cc.
References m_badLinkLifetime, m_ipv4AddressEntry, NS_LOG_FUNCTION, NS_LOG_LOGIC, Purge(), and ns3::aodv::VALID.
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTable::LookupRoute | ( | Ipv4Address | dst, | 
| RoutingTableEntry & | rt ) | 
Lookup routing table entry with destination address dst.
| dst | destination address | 
| rt | entry with destination address dst, if exists | 
Definition at line 222 of file aodv-rtable.cc.
References m_ipv4AddressEntry, NS_LOG_FUNCTION, NS_LOG_LOGIC, and Purge().
Referenced by ns3::aodv::AodvRtableTest::DoRun(), and LookupValidRoute().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTable::LookupValidRoute | ( | Ipv4Address | dst, | 
| RoutingTableEntry & | rt ) | 
Lookup route in VALID state.
| dst | destination address | 
| rt | entry with destination address dst, if exists | 
Definition at line 243 of file aodv-rtable.cc.
References ns3::aodv::RoutingTableEntry::GetFlag(), LookupRoute(), NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::aodv::VALID.
 Here is the call graph for this function:
 Here is the call graph for this function:| bool ns3::aodv::RoutingTable::MarkLinkAsUnidirectional | ( | Ipv4Address | neighbor, | 
| Time | blacklistTimeout ) | 
Mark entry as unidirectional (e.g.
add this neighbor to "blacklist" for blacklistTimeout period)
| neighbor | neighbor address link to which assumed to be unidirectional | 
| blacklistTimeout | time for which the neighboring node is put into the blacklist | 
Definition at line 449 of file aodv-rtable.cc.
References ns3::Time::As(), m_ipv4AddressEntry, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::Time::S.
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::aodv::RoutingTable::Print | ( | Ptr< OutputStreamWrapper > | stream, | 
| Time::Unit | unit = Time::S ) const | 
Print routing table.
| stream | the output stream | 
| unit | The time unit to use (default Time::S) | 
Definition at line 466 of file aodv-rtable.cc.
References m_ipv4AddressEntry, and Purge().
 Here is the call graph for this function:
 Here is the call graph for this function:| void ns3::aodv::RoutingTable::Purge | ( | ) | 
Delete all outdated entries and invalidate valid entry if Lifetime is expired.
Definition at line 377 of file aodv-rtable.cc.
References ns3::aodv::INVALID, m_badLinkLifetime, m_ipv4AddressEntry, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::aodv::VALID.
Referenced by AddRoute(), DeleteRoute(), GetListOfDestinationWithNextHop(), InvalidateRoutesWithDst(), LookupRoute(), and Print().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
const version of Purge, for use by Print() method
| table | the routing table entry to purge | 
Definition at line 413 of file aodv-rtable.cc.
References ns3::aodv::INVALID, m_badLinkLifetime, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::aodv::VALID.
| 
 | inline | 
Set the lifetime of a bad link.
| t | the lifetime of a bad link | 
Definition at line 438 of file aodv-rtable.h.
References m_badLinkLifetime.
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTable::SetEntryState | ( | Ipv4Address | dst, | 
| RouteFlags | state ) | 
Set routing table entry flags.
| dst | destination address | 
| state | the routing flags | 
Definition at line 303 of file aodv-rtable.cc.
References m_ipv4AddressEntry, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| bool ns3::aodv::RoutingTable::Update | ( | RoutingTableEntry & | rt | ) | 
Update routing table.
| rt | entry with destination address dst, if exists | 
Definition at line 284 of file aodv-rtable.cc.
References ns3::aodv::RoutingTableEntry::GetDestination(), ns3::aodv::IN_SEARCH, m_ipv4AddressEntry, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::aodv::AodvRtableTest::DoRun().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Deletion time for invalid routes.
Definition at line 532 of file aodv-rtable.h.
Referenced by RoutingTable(), GetBadLinkLifetime(), InvalidateRoutesWithDst(), Purge(), Purge(), and SetBadLinkLifetime().
| 
 | private | 
The routing table.
Definition at line 530 of file aodv-rtable.h.
Referenced by AddRoute(), Clear(), DeleteAllRoutesFromInterface(), DeleteRoute(), GetListOfDestinationWithNextHop(), InvalidateRoutesWithDst(), LookupRoute(), MarkLinkAsUnidirectional(), Print(), Purge(), SetEntryState(), and Update().