ns-3
ns3::dsdv::RoutingTable Class Reference

The Routing table used by DSDV protocol. More...

#include <dsdv-rtable.h>

List of all members.

Public Member Functions

 RoutingTable ()
 c-tor
bool AddRoute (RoutingTableEntry &r)
bool DeleteRoute (Ipv4Address dst)
bool LookupRoute (Ipv4Address dst, RoutingTableEntry &rt)
bool LookupRoute (Ipv4Address id, RoutingTableEntry &rt, bool forRouteInput)
bool Update (RoutingTableEntry &rt)
void GetListOfDestinationWithNextHop (Ipv4Address nxtHp, std::map< Ipv4Address, RoutingTableEntry > &dstList)
void GetListOfAllRoutes (std::map< Ipv4Address, RoutingTableEntry > &allRoutes)
void DeleteAllRoutesFromInterface (Ipv4InterfaceAddress iface)
 Delete all route from interface with address iface.
void Clear ()
 Delete all entries from routing table.
void Purge (std::map< Ipv4Address, RoutingTableEntry > &removedAddresses)
 Delete all outdated entries if Lifetime is expired.
void Print (Ptr< OutputStreamWrapper > stream) const
 Print routing table.
uint32_t RoutingTableSize ()
 Provides the number of routes present in that nodes routing table.
bool AddIpv4Event (Ipv4Address address, EventId id)
bool DeleteIpv4Event (Ipv4Address address)
bool AnyRunningEvent (Ipv4Address address)
bool ForceDeleteIpv4Event (Ipv4Address address)
EventId GetEventId (Ipv4Address address)
Handle life time of invalid route
Time Getholddowntime () const
void Setholddowntime (Time t)

Detailed Description

The Routing table used by DSDV protocol.


Member Function Documentation

Add an event for a destination address so that the update to for that destination is sent after the event is completed.

Parameters:
addressdestination address for which this event is running.
idunique eventid that was generated.

Add routing table entry if it doesn't yet exist in routing table

Parameters:
rrouting table entry
Returns:
true in success

Referenced by ns3::dsdv::RoutingProtocol::NotifyAddAddress(), ns3::dsdv::RoutingProtocol::NotifyInterfaceUp(), ns3::dsdv::RoutingProtocol::RouteOutput(), and ns3::dsdv::RoutingProtocol::SetIpv4().

Force delete an update waiting for settling time to complete as a better update to same destination was received.

Parameters:
addressdestination address for which this event is running.
Returns:
true on success

References ns3::EventId::IsRunning().

Clear up the entry from the map after the event is completed

Parameters:
addressdestination address for which this event is running.
Returns:
true on success

References ns3::EventId::IsExpired(), and ns3::EventId::IsRunning().

Delete routing table entry with destination address dst, if it exists.

Parameters:
dstdestination address
Returns:
true on success

Force delete an update waiting for settling time to complete as a better update to same destination was received.

Parameters:
addressdestination address for which this event is running.
Returns:
true on finding out that an event is already running for that destination address.

References ns3::Simulator::Cancel().

Get the EcentId associated with that address.

Parameters:
addressdestination address for which this event is running.
Returns:
EventId on finding out an event is associated else return NULL.

Lookup list of all addresses in the routing table

Parameters:
allRoutesis the list that will hold all these addresses present in the nodes routing table

References ns3::aodv::VALID.

Lookup list of addresses for which nxtHp is the next Hop address

Parameters:
nxtHpnexthop's address for which we want the list of destinations
dstListis the list that will hold all these destination addresses

Lookup routing table entry with destination address dst

Parameters:
dstdestination address
rtentry with destination address dst, if exists
Returns:
true on success

Referenced by ns3::dsdv::RoutingProtocol::RouteOutput().

Updating the routing Table with routing table entry rt

Parameters:
rtrouting table entry
Returns:
true on success

The documentation for this class was generated from the following files: