|
|
The LibFeaClientBridge takes updates received from the FEA's interface manager and forwards them to registered remote libfeaclient users. For each update received, the bridge gets the all the state associated with the item being updated, and pushes it into a contained instance of an IfMgrXrlReplicationManager. If the data pushed into the IfMgrXrlReplicationManager triggers state changes in it's internal interface config representation, it forwards the changes to remote observers.
In addition to arranging to plumb the LibFeaClientBridge into the FEA to receive updates, it is imperative that the underlying IfTree object used represent state be available to the bridge. The bridge is made aware of this object through set_iftree. Failure to call method before an update is received will cause a fatal error.
LibFeaClientBridge (XrlRouter& rtr)
| LibFeaClientBridge |
~LibFeaClientBridge ()
| ~LibFeaClientBridge |
void set_iftree (const IfTree* tree)
| set_iftree |
Set interface configuration tree to read from when an update is recorded through one of the update methods implemented from IfConfigUpdateReporterBase.
bool add_libfeaclient_mirror (const string& xrl_target_name)
| add_libfeaclient_mirror |
Add named Xrl target to list to receive libfeaclient updates.
Parameters:
xrl_target_name | Xrl target instance name. |
Returns: true on success, false if target is already on the list.
bool remove_libfeaclient_mirror (const string& xrl_target_name)
| remove_libfeaclient_mirror |
Add named Xrl target to list to receive libfeaclient updates.
Parameters:
xrl_target_name | Xrl target instance name. |
Returns: true on success, false if named target is not on the list.
inline const IfMgrIfTree& libfeaclient_iftree ()
| libfeaclient_iftree |
[const]
Get reference to libfeaclient's interface configuration tree.
Returns: reference to tree.
inline const IfTree* fea_iftree ()
| fea_iftree |
[const]
Get pointer FEA interface configuration tree that is being used to feed data into libfeaclient's interface configuration tree.
Returns: pointer to tree.
void interface_update (const string& ifname,
const Update& update,
bool is_system_interfaces_reportee)
| interface_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void vif_update (const string& ifname,
const string& vifname,
const Update& update,
bool is_system_interfaces_reportee)
| vif_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void vifaddr4_update (const string& ifname,
const string& vifname,
const IPv4& addr,
const Update& update,
bool is_system_interfaces_reportee)
| vifaddr4_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void vifaddr6_update (const string& ifname,
const string& vifname,
const IPv6& addr,
const Update& update,
bool is_system_interfaces_reportee)
| vifaddr6_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void updates_completed (bool is_system_interfaces_reportee)
| updates_completed |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
IfMgrXrlReplicationManager* _rm | _rm |
[protected]
const IfTree* _iftree | _iftree |
[protected]