| 
 | 
 | ||||||||||||||||
The RedistTable is used to redistribute routes from a routing table back out to a routing protocol. For example, when you want to redistribute BGP routes into OSPF.
For most operations the RedistTable is essentially a passthrough. It keeps track of nets it hears add and deletes for so when route Redistributor objects are added to the RedistTable they can announce the existing routes at startup.
Design note: RedistTable uses a set of IPNet's to cache routes - this should be route entry pointers with an appropriate comparitor (not pointer value based).
| typedef set<IPNet<A>,RedistNetCmp<A> > RouteIndex | RouteIndex | 
| RedistTable (const string&	tablename,
		RouteTable<A>*	from_table) | RedistTable | 
Constructor.
Plumbs RedistTable in RIB graph after from_table.
Parameters:
| from_table | table to redistribute routes from. | 
| ~RedistTable () | ~RedistTable | 
Destructor.
Unplumbs table and deletes Redistributor object instances previously added with add_redistributor and not previously removed with remove_redistributor.
| void  add_redistributor (Redistributor<A>* r) | add_redistributor | 
Add a redistributor to announce existing routes and future updates to.
| void  remove_redistributor (Redistributor<A>* r) | remove_redistributor | 
| Redistributor<A>*  redistributor (const string& name) | redistributor | 
Find redistributor with given name attribute.
| int  add_route (const IPRouteEntry<A>& route, RouteTable<A>* caller) | add_route | 
Reimplemented from RouteTable.
| int  delete_route (const IPRouteEntry<A>* route, RouteTable<A>* caller) | delete_route | 
Reimplemented from RouteTable.
| const IPRouteEntry<A>*  lookup_route (const IPNet<A>& net) | lookup_route | 
[const]
Reimplemented from RouteTable.
| const IPRouteEntry<A>*  lookup_route (const A& addr) | lookup_route | 
[const]
Reimplemented from RouteTable.
| RouteRange<A>*  lookup_route_range (const A& addr) | lookup_route_range | 
[const]
Reimplemented from RouteTable.
| TableType  type () | type | 
[const]
Reimplemented from RouteTable.
| RouteTable<A>*  parent () | parent | 
Reimplemented from RouteTable.
| void  replumb (RouteTable<A>* old_parent, RouteTable<A>* new_parent) | replumb | 
Reimplemented from RouteTable.
| string  str () | str | 
[const]
Reimplemented from RouteTable.
| const RouteIndex&  route_index () | route_index | 
[const]
Get nets of live routes seen by RedistTable since it was instantiated.
| RouteTable<A>* _parent | _parent | 
[protected]
| RouteIndex _rt_index | _rt_index | 
[protected]
| list<Redistributor<A>*> _outputs | _outputs | 
[protected]