class RibClient

RibClient handles communication of routes to a RIB client (e.g., the FEA). More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods


Detailed Description

RibClient communicates add route and delete requests from the RIBs to a RIB client (e.g., the FEA).

 RibClient (XrlRouter& xrl_router, const string& target_name, size_t max_ops = 100)

RibClient

RibClient constructor.

Parameters:

xrl_routerXRL router instance to use for communication with the RIB client.
target_namethe XRL target name to send the route changes to.
max_opsthe maximum number of operations in a transaction.
 ~RibClient ()

~RibClient

RibClient destructor

const string&  target_name ()

target_name

[const]

Get the target name.

Returns: the target name.

void  set_enabled (bool en)

set_enabled

Set enabled state.

When enabled RibClient attempts to send commands to the RIB client. When disabled it silently ignores the requests.

bool  enabled ()

enabled

[const]

Get enabled state.

void  add_route (const IPv4Net& dest, const IPv4& gw, const string& ifname, const string& vifname, uint32_t metric, uint32_t admin_distance, const string& protocol_origin)

add_route

Communicate the addition of a new IPv4 route to the RIB client.

Parameters:

destthe destination subnet of the route.
gwthe nexthop gateway to be used to forward packets towards the dest network.
ifnamethe name of the interface to be used to forward packets towards the dest network.
vifnamethe name of the virtual interface to be used to forward packets towards the dest network.
metricthe routing metric toward dest.
admin_distancethe administratively defined distance toward dest.
protocol_originthe name of the protocol that originated this entry.
void  delete_route (const IPv4Net& dest)

delete_route

Communicate the deletion of an IPv4 route to the RIB client.

Parameters:

destthe destination subnet of the route.
void  add_route (const IPv6Net& dest, const IPv6& gw, const string& ifname, const string& vifname, uint32_t metric, uint32_t admin_distance, const string& protocol_origin)

add_route

Communicate the addition of a new IPv6 route to the RIB client.

Parameters:

destthe destination subnet of the route.
gwthe nexthop gateway to be used to forward packets towards the dest network.
ifnamethe name of the interface to be used to forward packets towards the dest network.
vifnamethe name of the virtual interface to be used to forward packets towards the dest network.
metricthe routing metric toward dest.
admin_distancethe administratively defined distance toward dest.
protocol_originthe name of the protocol that originated this entry.
void  delete_route (const IPv6Net& dest)

delete_route

Communicate the deletion of an IPv6 route to the RIB client.

Parameters:

destthe destination subnet of the route.
void  add_route (const IPv4RouteEntry& re)

add_route

Communicate the addition of a new IPv4 route to the RIB client.

Parameters:

rethe routing table entry of the new route.
void  delete_route (const IPv4RouteEntry& re)

delete_route

Communicate the deletion of a new IPv4 route to the RIB client.

Parameters:

rethe routing table entry of the route to be deleted.
void  add_route (const IPv6RouteEntry& re)

add_route

Communicate the addition of a new IPv6 route to the RIB client.

Parameters:

rethe routing table entry of the new route.
void  delete_route (const IPv6RouteEntry& re)

delete_route

Communicate the deletion of a new IPv6 route to the RIB client.

Parameters:

rethe routing table entry of the route to be deleted.
size_t  tasks_count ()

tasks_count

[const]

Returns: the number of route adds and deletes that are currently queued for communication with the RIB client.

bool  tasks_pending ()

tasks_pending

[const]

Returns: true if there are currently any adds or deletes queued for transmission to the RIB client or awaiting acknowledgement from the RIB client.

bool  failed ()

failed

[const]

check RibClient failure status

Returns: true if RibClient has suffered a fatal error, true otherwise

SyncFtiCommand*  get_next ()

get_next

[protected]

Returns: The next task or NULL if there isn't one.

void  transaction_completed (bool fatal_error)

transaction_completed

[protected]

Called when a transaction has completed.

void  start ()

start

[protected]

Called to start a transaction.


Generated by: pavlin on possum.icir.org on Thu Jul 8 23:48:37 2004, using kdoc $.