class BGPRouteTable

Base class for a stage in BGP's internal plumbing. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Members


Detailed Description

The XORP BGP is internally implemented as a set of pipelines. Each pipeline receives routes from a BGP peer, stores them, and applies filters to them to modify the routes. Then the pipelines converge on a single decision process, which decides which route wins amongst possible alternative routes. After decision, the winning routes fanout again along a set of pipelines, again being filtered, before being transmitted to peers.

Each stage in these pipelines is a BGPRouteTable. BGPRouteTable is a virtual base class, so all the stages consist of specialized RouteTable class instances.

 BGPRouteTable (string tablename, Safi safi)

BGPRouteTable

 ~BGPRouteTable ()

~BGPRouteTable

[virtual]

int  add_route (const InternalMessage<A> &rtmsg, BGPRouteTable<A> *caller)

add_route

[pure virtual]

int  replace_route (const InternalMessage<A> &old_rtmsg, const InternalMessage<A> &new_rtmsg, BGPRouteTable<A> *caller)

replace_route

[pure virtual]

int  delete_route (const InternalMessage<A> &rtmsg, BGPRouteTable<A> *caller)

delete_route

[pure virtual]

int  route_dump (const InternalMessage<A> &rtmsg, BGPRouteTable<A> *caller, const PeerHandler *dump_peer)

route_dump

[virtual]

int  push (BGPRouteTable<A> *caller)

push

[pure virtual]

const SubnetRoute<A> * lookup_route (const IPNet<A> &net, uint32_t& genid)

lookup_route

[const pure virtual]

void  route_used (const SubnetRoute<A>* , bool )

route_used

[virtual]

void  set_next_table (BGPRouteTable<A>* table)

set_next_table

BGPRouteTable<A> * next_table ()

next_table

BGPRouteTable<A> * parent ()

parent

[virtual]

void  set_parent (BGPRouteTable<A> *parent)

set_parent

[virtual]

RouteTableType  type ()

type

[const pure virtual]

const string&  tablename ()

tablename

[const]

string  str ()

str

[const pure virtual]

void  wakeup ()

wakeup

[virtual]

bool  get_next_message (BGPRouteTable *)

get_next_message

[virtual]

bool  dump_next_route (DumpIterator<A>& dump_iter)

dump_next_route

[virtual]

void  igp_nexthop_changed (const A& bgp_nexthop)

igp_nexthop_changed

[virtual]

Notification that the status of this next hop has changed.

Parameters:

bgp_nexthopThe next hop that has changed.
void  peering_went_down (const PeerHandler *peer, uint32_t genid, BGPRouteTable<A> *caller)

peering_went_down

[virtual]

void  peering_down_complete (const PeerHandler *peer, uint32_t genid, BGPRouteTable<A> *caller)

peering_down_complete

[virtual]

void  peering_came_up (const PeerHandler *peer, uint32_t genid, BGPRouteTable<A> *caller)

peering_came_up

[virtual]

Safi  safi ()

safi

[const]

BGPRouteTable<A> * _next_table

_next_table

[protected]

BGPRouteTable<A> * _parent

_parent

[protected]

string _tablename

_tablename

[protected]

const Safi _safi

_safi

[protected]


Generated by: pavlin on possum.icir.org on Wed Aug 2 15:36:33 2006, using kdoc $.