class RibInTable

Specialized BGPRouteTable that stores routes from a BGP peer. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

The XORP BGP is internally implemented as a set of pipelines consisting of a series of BGPRouteTables. 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.

RibInTable is the first stage in such a pipeline. It receives routes from a single BGP peer, and stores them. Changes are passed down the pipeline as they occur, and route lookups from downstream are answered by the RibInTable.

 RibInTable (string tablename, Safi safi, const PeerHandler *peer)

RibInTable

 ~RibInTable ()

~RibInTable

void  flush ()

flush

Remove all the stored routes. Used to flush static routes only.

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

add_route

Reimplemented from BGPRouteTable.

int  add_route (const IPNet<A> &net, FPAListRef& pa_list, const PolicyTags& policy_tags)

add_route

Reimplemented from BGPRouteTable.

void  ribin_peering_went_down ()

ribin_peering_went_down

void  ribin_peering_came_up ()

ribin_peering_came_up

int  replace_route (InternalMessage<A> & , InternalMessage<A> & , BGPRouteTable<A> * )

replace_route

Reimplemented from BGPRouteTable.

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

delete_route

Reimplemented from BGPRouteTable.

int  delete_route (const IPNet<A> &net)

delete_route

Reimplemented from BGPRouteTable.

int  push (BGPRouteTable<A> *caller)

push

Reimplemented from BGPRouteTable.

int  delete_add_routes ()

delete_add_routes

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

lookup_route

[const]

Reimplemented from BGPRouteTable.

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

route_used

Reimplemented from BGPRouteTable.

BGPRouteTable<A> * parent ()

parent

Reimplemented from BGPRouteTable.

RouteTableType  type ()

type

[const]

Reimplemented from BGPRouteTable.

string  str ()

str

[const]

Reimplemented from BGPRouteTable.

bool  get_next_message (BGPRouteTable<A> *)

get_next_message

Reimplemented from BGPRouteTable.

void  set_peer_is_up ()

set_peer_is_up

bool  dump_next_route (DumpIterator<A>& dump_iter)

dump_next_route

Reimplemented from BGPRouteTable.

void  igp_nexthop_changed (const A& bgp_nexthop)

igp_nexthop_changed

Reimplemented from BGPRouteTable.

int  route_count ()

route_count

[const]

BgpTrie<A>&  trie ()

trie

[const]

const PeerHandler*  peer_handler ()

peer_handler

[const]

uint32_t  genid ()

genid

[const]

void  crash_dump ()

crash_dump

[const]

Reimplemented from CrashDumper.

string  dump_state ()

dump_state

[const]

Reimplemented from CrashDumper.


Generated by: pavlin on kobe.xorp.net on Wed Jan 7 19:11:04 2009, using kdoc 2.0a54+XORP.