class MfeaVif

A class for MFEA-specific virtual interface. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

 MfeaVif (MfeaNode& mfea_node, const Vif& vif)

MfeaVif

Constructor for a given MFEA node and a generic virtual interface.

Parameters:

mfea_nodethe MfeaNode this interface belongs to.
vifthe generic Vif interface that contains various information.
 MfeaVif (MfeaNode& mfea_node, const MfeaVif& mfea_vif)

MfeaVif

Copy Constructor for a given MFEA node and MFEA-specific virtual interface.

Parameters:

mfea_nodethe MfeaNode this interface belongs to.
mfea_vifthe origin MfeaVif interface that contains the initialization information.
 ~MfeaVif ()

~MfeaVif

[virtual]

Destructor

int  start (string& error_msg)

start

Start MFEA on a single virtual interface.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop (string& error_msg)

stop

Stop MFEA on a single virtual interface.

Parameters:

error_msgthe error message (if error).

Returns: XORP_OK on success, otherwise XORP_ERROR.

void  enable ()

enable

Enable MFEA on a single virtual interface.

If an unit is not enabled, it cannot be start, or pending-start.

void  disable ()

disable

Disable MFEA on a single virtual interface.

If an unit is disabled, it cannot be start or pending-start. If the unit was runnning, it will be stop first.

int  start_protocol (const string& module_instance_name, xorp_module_id module_id)

start_protocol

Start a protocol on a single virtual interface.

Parameters:

module_instance_namethe module instance name of the protocol to start on this vif.
module_idthe module ID (xorp_module_id) of the protocol to start on this vif.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop_protocol (const string& module_instance_name, xorp_module_id module_id)

stop_protocol

Stop a protocol on a single virtual interface.

Parameters:

module_instance_namethe module instance name of the protocol to stop on this vif.
module_idthe module ID (xorp_module_id) of the protocol to stop on this vif.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  leave_all_multicast_groups ()

leave_all_multicast_groups

Leave all previously joined multicast groups on this interface.

Returns: the number of groups that were successfully left, or XORP_ERROR if error.

int  leave_all_multicast_groups (const string& module_instance_name, xorp_module_id module_id)

leave_all_multicast_groups

Leave all previously joined multicast groups on this interface by a given module.

Leave all previously joined multicast groups on this interface that were joined by a module with name module_instance_name and module ID module_id.

Parameters:

module_instance_namethe module instance name of the protocol that leaves all groups.
module_idthe module ID of the protocol that leaves all groups

Returns: the number of groups that were successfully left, or XORP_ERROR if error.

uint8_t  min_ttl_threshold ()

min_ttl_threshold

[const]

Get the minimum TTL a multicast packet must have to be forwarded on this virtual interface.

Returns: the minimum TTL a multicast packet must have to be forwarded on this virtual interface.

void  set_min_ttl_threshold (uint8_t v)

set_min_ttl_threshold

Set the minimum TTL a multicast packet must have to be forwarded on this virtual interface.

Parameters:

vthe value of the minimum TTL a multicast packet must have to be forwarded on this virtual interface.
uint32_t  max_rate_limit ()

max_rate_limit

[const]

Get the maximum multicast bandwidth rate allowed on this virtual interface.

Returns: the maximum multicast bandwidth rate allowed on this virtual interface.

void  set_max_rate_limit (uint32_t v)

set_max_rate_limit

Set the maximum multicast bandwidth rate allowed on this virtual interface.

Parameters:

vthe value of the maximum multicast bandwidth rate allowed on this virtual interface.
ProtoRegister&  proto_register ()

proto_register

Get the set of protocol instances that are registered to send/receive data packets on this vif.

Returns: the set of protocol instances that are registered to send/receive data packets on this vif.

int  add_multicast_group (const string& module_instance_name, xorp_module_id module_id, const IPvX& group)

add_multicast_group

Add a multicast group to the set of groups joined on this virtual interface.

Parameters:

module_instance_namethe module instance name of the protocol that has joined the group.
module_idthe module ID (xorp_module_id) of the protocol that has joined the group.
groupthe group address.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  delete_multicast_group (const string& module_instance_name, xorp_module_id module_id, const IPvX& group)

delete_multicast_group

Delete a multicast group from the set of groups joined on this virtual interface.

Parameters:

module_instance_namethe module instance name of the protocol that has left the group.
module_idthe module ID (xorp_module_id) of the protocol that has left the group.
groupthe group address.

Returns: XORP_OK on success, otherwise XORP_ERROR.

bool  has_multicast_group (const IPvX& group)

has_multicast_group

[const]

Test if a multicast group is still joined on this virtual interface.

Parameters:

groupthe group address.

Returns: true if group is still joined on this virtual address, otherwise false.


Generated by: pavlin on possum.icir.org on Thu Mar 9 04:43:06 2006, using kdoc $.