class XrlMfeaVifManager

XrlMfeaVifManager keeps track of the VIFs currently enabled in the FEA. More...

Definition#include <xrl_mfea_vif_manager.hh>
InheritsProtoState (libproto) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods


Detailed Description

The XrlMfeaNode has a single XrlMfeaVifManager instance, which registers with the FEA to discover the VIFs on this router and their IP addresses and prefixes. When the VIFs or their configuration in the FEA change, the XrlMfeaVifManager will be notified, and it will update the MfeaNode (itself also included in the XrlMfeaNode) appropriately. Then the MfeaNode may inform all multicast-related modules that have registered interest with the MFEA to receive VIF-related updates.

 XrlMfeaVifManager (MfeaNode& mfea_node, EventLoop& eventloop, XrlRouter* xrl_router)

XrlMfeaVifManager

XrlMfeaVifManager constructor.

Parameters:
mfea_nodethe MfeaNode this manager corresponds to.
eventloopthe event loop to use.
xrl_routerthe XRL router to use.

 ~XrlMfeaVifManager ()

~XrlMfeaVifManager

[virtual]

XrlMfeaVifManager destructor

int  start ()

start

Start operation.

Start the process of registering with the FEA, etc.

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoState.

int  stop ()

stop

Stop operation.

Gracefully stop operation.

Returns: XORP_OK on success, otherwise XORP_ERROR.

Reimplemented from ProtoState.

int  family ()

family

[const]

Get the address family.

Returns: the address family (e.g., AF_INET or AF_INET6 for IPv4 and IPv6 respectively).

void  no_fea ()

no_fea

Set test-mode - don't try to communicate with the FEA.

enum State { INITIALIZING, READY, FAILED }

State

The state of the XrlMfeaVifManager. It it hasn't yet successfully registered with the FEA, it will be in INITIALIZING state. If it has permanently failed to register with the FEA it will be in FAILED state. Otherwise it should be in READY state.

State  state ()

state

[const]

Get the state of the XrlMfeaVifManager.

Returns: the state of the XrlMfeaVifManager.

See also: State

void  interface_update (const string& ifname, const uint32_t& event)

interface_update

Update the status of a physical interface.

This method is called when receiving an XRL from the FEA indicating that a physical interface on the router has been added, deleted, or reconfigured.

Parameters:
ifnamethe name of the physical interface that changed.
eventthe event that occured. Should be one of the following: IF_EVENT_CREATED, IF_EVENT_DELETED, or IF_EVENT_CHANGED.

void  vif_update (const string& ifname, const string& vifname, const uint32_t& event)

vif_update

Update the status of a virtual interface.

This method is called when receiving an XRL from the FEA indicating that a virtual interface on the router has been added, deleted, or reconfigured.

Parameters:
ifnamethe name of the physical interface on which the virtual interface resides.
vifnamethe name of the virtual interface that changed.
eventthe event that occured. Should be one of the following: IF_EVENT_CREATED, IF_EVENT_DELETED, or IF_EVENT_CHANGED.

void  vifaddr4_update (const string& ifname, const string& vifname, const IPv4& addr, const uint32_t& event)

vifaddr4_update

Update the IPv4 address of a virtual interface.

This method is called when receiving an XRL from the FEA indicating that a virtual interface has undergone an address change. An IPv4 address (and associated prefix length) has been added, deleted, or reconfigured on this VIF.

Parameters:
ifnamethe name of the interface containing the VIF.
vifnamethe name of the VIF on which the address change occured.
addrthe address that was added or deleted.
eventthe event that occured. Should be one of the following: IF_EVENT_CREATED or IF_EVENT_DELETED.

void  vifaddr6_update (const string& ifname, const string& vifname, const IPv6& addr, const uint32_t& event)

vifaddr6_update

Update the IPv6 address of a virtual interface.

This method is called when receiving an XRL from the FEA indicating that a virtual interface has undergone an address change. An IPv6 address (and associated prefix length) has been added, deleted, or reconfigured on this VIF.

Parameters:
ifnamethe name of the interface containing the VIF.
vifnamethe name of the VIF on which the address change occured.
addrthe address that was added or deleted.
eventthe event that occured. Should be one of the following: IF_EVENT_CREATED or IF_EVENT_DELETED.


Generated by: pavlin on possum.icir.org on Thu Aug 28 12:52:10 2003, using kdoc 2.0a54+XORP.