class RouteDB


Definition#include <route_db.hh>
Template formRouteDB<typename A>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Protected Methods

Protected Members


Detailed Description

typedef A Addr

Addr

typedef IPNet<A> Net

Net

typedef RouteEntry<A> Route

Route

typedef RouteEntryOrigin<A> RouteOrigin

RouteOrigin

typedef ref_ptr<RouteEntry<A> > DBRouteEntry

DBRouteEntry

typedef ref_ptr<const RouteEntry<A> > ConstDBRouteEntry

ConstDBRouteEntry

typedef Trie<A, DBRouteEntry> RouteTrie

RouteTrie

typedef PacketRouteEntry<A> PacketizedRoute

PacketizedRoute

typedef Peer<A> RipPeer

RipPeer

 RouteDB (EventLoop& e)

RouteDB

 ~RouteDB ()

~RouteDB

bool  update_route (const Net& net, const Addr& nexthop, uint32_t cost, uint32_t tag, RipPeer* peer)

update_route

Update Route Entry in database for specified route.

If the route does not exist or the values provided differ from the existing route, then an update is placed in the update queue.

Parameters:
netthe network route being updated.
nexthopthe corresponding nexthop address.
costthe corresponding metric value as received from the peer.
tagthe corresponding route tag.
peerthe peer proposing update.

Returns: true if an update occurs, false otherwise.

void  dump_routes (vector<ConstDBRouteEntry>& routes)

dump_routes

Flatten routing table representation from Trie to Vector.

Parameters:
routesvector where routes are to be appended.

bool  resolve_and_reference (const Net& net, ConstDBRouteEntry& cdbe)

resolve_and_reference

Resolve a route and take a reference to it. While the reference exists the route will not be deleted from memory, though may be remove from table.

Parameters:
netnetwork to be resolved.
cdbereference pointer to route entry.

Returns: true if route resolves, false otherwise.

UpdateQueue<A>&  update_queue ()

update_queue

 RouteDB (const RouteDB&)

RouteDB

[protected]

RouteDB&  operator= (const RouteDB&)

operator=

[protected]

void  expire_route (Route* r)

expire_route

[protected]

void  set_expiry_timer (Route* r)

set_expiry_timer

[protected]

void  delete_route (Route* r)

delete_route

[protected]

void  set_deletion_timer (Route* r)

set_deletion_timer

[protected]

EventLoop& _eventloop

_eventloop

[protected]

RouteTrie _routes

_routes

[protected]

UpdateQueue<A>* _oq

_oq

[protected]


Generated by: pavlin on possum.icir.org on Mon Jun 9 13:24:02 2003, using kdoc 2.0a54+XORP.