| 
 | 
 | ||||||||||||||||
OriginTable is a RouteTable that accepts route_add requests from a single routing protocol, stores the route, and propagates it downstream. It also answers lookup_route and lookup_route_range requests from downstream using the routes it has stored.
Its template class, A, must be either the IPv4 class of the IPv6 class.
| typedef Trie<A, const IPRouteEntry<A>*> RouteContainer | RouteContainer | 
| OriginTable (const string& tablename, uint32_t admin_distance,
		ProtocolType protocol_type, EventLoop& eventloop) | OriginTable | 
OriginTable constructor.
Parameters:
| tablename | typically the name of the routing protocol that supplies routes to this origin table, or "connected" for the OriginTable that holds directly connected routes, or "static" for the OriginTable that holds locally configured static routes. | 
| admin_distance | the default administrative distance for routes in this table. | 
| protocol_type | the routing protocol type (ProtocolType). | 
| eventloop | the main event loop. | 
| ~OriginTable () | ~OriginTable | 
| int  add_route (const IPRouteEntry<A>& route) | add_route | 
Add a route to the OriginTable. The route must not already be in the OriginTable.
Parameters:
| route | the route entry to be added. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from RouteTable.
| int  add_route (const IPRouteEntry<A>&, RouteTable<A>* ) | add_route | 
Generic RouteTable method that is not used on OriginTable.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from RouteTable.
| int  delete_route (const IPNet<A>& net) | delete_route | 
Delete a route from the OriginTable.
Parameters:
| net | the subnet of the route entry to be deleted. | 
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from RouteTable.
| int  delete_route (const IPRouteEntry<A>* , RouteTable<A>* ) | delete_route | 
Generic RouteTable method that is not used on OriginTable.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from RouteTable.
| void  delete_all_routes () | delete_all_routes | 
Delete all the routes that are in this OriginTable. The deletion is not propagated downstream, so this is only useful when shutting down the RIB.
| void  routing_protocol_shutdown () | routing_protocol_shutdown | 
Delete all the routes that are in this OriginTable, and propagate the deletions downstream.
| const IPRouteEntry<A>*  lookup_route (const IPNet<A>& net) | lookup_route | 
[const]
Lookup a specific subnet to see if it is in this OriginTable.
Parameters:
| net | the subnet to look up. | 
Returns: a pointer to the route entry if it exists, NULL otherwise.
Reimplemented from RouteTable.
| const IPRouteEntry<A>*  lookup_route (const A& addr) | lookup_route | 
[const]
Lookup an IP address to get the most specific (longest prefix length) route in the OriginTable that matches this address.
Parameters:
| addr | the IP address to look up. | 
Returns: a pointer to the most specific route entry if any entry matches, NULL otherwise.
Reimplemented from RouteTable.
| RouteRange<A>*  lookup_route_range (const A& addr) | lookup_route_range | 
[const]
Lookup an IP addressto get the most specific (longest prefix length) route in the OriginTable that matches this address, along with the RouteRange information for this address and route.
Parameters:
| addr | the IP address to look up. | 
Returns: a pointer to a RouteRange class instance containing the relevant answer. It is up to the recipient of this pointer to free the associated memory.
See also: RouteRange
Reimplemented from RouteTable.
| uint32_t  admin_distance () | admin_distance | 
[const]
Returns: the default administrative distance for this OriginTable
| int  protocol_type () | protocol_type | 
[const]
Returns: the routing protocol type (ProtocolType).
| TableType  type () | type | 
[const]
Returns: the table type (TableType).
Reimplemented from RouteTable.
| void  replumb (RouteTable<A>* , RouteTable<A>* ) | replumb | 
Generic RouteTable method that is not used on OriginTable.
Reimplemented from RouteTable.
| string  str () | str | 
[const]
Render the OriginTable as a string for debugging purposes
Reimplemented from RouteTable.
| uint32_t  generation () | generation | 
[const]
Get the number of times routing protocol has been shutdown and restarted.
| uint32_t  route_count () | route_count | 
[const]
Get the number of routes held internally.
| const RouteContainer&  route_container () | route_container | 
[const]
Get the trie.