class VifManager

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

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

Public Types

Public Methods


Detailed Description

The RIB process has a single VifManager instance, which registers with the FEA process to discover the VIFs on this router and their IP addresses and prefixes. When the VIFs or their configuration in the FEA change, the VifManager will be notified, and it will update the RIBs appropriately. The RIBs need to know about VIFs and VIF addresses to decide which routes have nexthops that are on directly connected subnets, and which are nexthops that need to be resolved using other routes to figure out where next to send the packet. Only routes with nexthops that are on directly connected subnets can be sent to the FEA

enum State { INITIALIZING, READY, FAILED }

State

The state of the VifManager. 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.

 VifManager (XrlRouter& xrl_rtr, EventLoop& eventloop, RibManager *rib_manager)

VifManager

VifManager constructor

Parameters:
xrl_rtrthis process's XRL router.
eventloopthis process's EventLoop.
rib_managerthis class contains the actual RIBs for IPv4 and IPv4, unicast and multicast.

 ~VifManager ()

~VifManager

VifManager destructor

void  start ()

start

Start the process of registering with the FEA, etc

State  state ()

state

[const]

Returns: the state of the VifManager.

See also: State

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

interface_update

interface_update 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. One of 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

vif_update 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. One of 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

vifaddr4_update 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. One of 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

vifaddr6_update 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. One of IF_EVENT_CREATED or IF_EVENT_DELETED


Generated by: pavlin on possum.icir.org on Wed Dec 11 16:51:00 2002, using kdoc 2.0a54+XORP.