class MfeaVif

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

Definition#include <mfea_vif.hh>
InheritsProtoUnit (libproto) [public ], Vif (libxorp) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

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 ()

start

Start MFEA on a single virtual interface.

Returns: XORP_OK on success, otherwise XORP_ERROR.

int  stop ()

stop

Stop MFEA on a single virtual interface.

Returns: XORP_OK on success, otherwise XORP_ERROR.

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 Nov 6 23:46:57 2003, using kdoc 2.0a54+XORP.