class FeaClient

FeaClient handles communication of routes to the FEA. More...

Definition#include <fea_client.hh>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods

Protected Members


Detailed Description

FeaClient communicates add route and delete requests from the RIBs to the FEA process.

 FeaClient (XrlRouter& xrl_router, uint32_t max_ops = 100)

FeaClient

FeaClient constructor.

Parameters:
xrl_routerXRL router instance to use for communication with the FEA
max_opsthe maximum number of operations in a transaction.

 ~FeaClient ()

~FeaClient

FeaClient destructor

void  set_enabled (bool en)

set_enabled

Set enabled state.

When enabled FeaClient attempts to send commands to the FEA. 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)

add_route

Communicate the addition of a new IPv4 route to the FEA.

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.

void  delete_route (const IPv4Net&)

delete_route

Communicate the deletion of an IPv4 route to the FEA.

Parameters:
destthe destination subnet of the route.

void  add_route (const IPv6Net& dest, const IPv6& gw, const string& ifname, const string& vifname)

add_route

void  delete_route (const IPv6Net& re)

delete_route

Communicate the deletion of an IPv6 route to the FEA.

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

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

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

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

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

bool  tasks_pending ()

tasks_pending

[const]

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

SyncFtiCommandget_next ()

get_next

[protected]

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

void  transaction_completed ()

transaction_completed

[protected]

Called when a transaction has completed.

void  start ()

start

[protected]

Called to start a transaction.

XrlRouter& _xrl_router

_xrl_router

[protected]

bool _busy

_busy

[protected]

list<FeaClientTask> _tasks

_tasks

[protected]

list<FeaClientTask> _completed_tasks

_completed_tasks

[protected]

const uint32_t _max_ops

_max_ops

[protected]

uint32_t _op_count

_op_count

[protected]

bool _enabled

_enabled

[protected]


Generated by: pavlin on possum.icir.org on Mon Mar 10 19:35:00 2003, using kdoc 2.0a54+XORP.