|
| ||||||||||||||||
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.