|
|
Mld6igmpVif (Mld6igmpNode& mld6igmp_node, const Vif& vif)
| Mld6igmpVif |
Constructor for a given MLD6/IGMP node and a generic virtual interface.
Parameters:
mld6igmp_node | the Mld6igmpNode this interface belongs to. |
vif | the generic Vif interface that contains various information. |
~Mld6igmpVif ()
| ~Mld6igmpVif |
[virtual]
Destructor
int start ()
| start |
Start MLD6/IGMP on a single virtual interface.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ProtoUnit.
int stop ()
| stop |
Stop MLD6/IGMP on a single virtual interface.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ProtoUnit.
int mld6igmp_recv (const IPvX& src, const IPvX& dst,
int ip_ttl, int ip_tos, bool router_alert_bool,
buffer_t *buffer)
| mld6igmp_recv |
Receive a protocol message.
Parameters:
src | the source address of the message. |
dst | the destination address of the message. |
ip_ttl | the IP TTL of the message. If it has a negative value it should be ignored. |
ip_ttl | the IP TOS of the message. If it has a negative value, it should be ignored. |
router_alert_bool | if true, the IP Router Alert option in the IP packet was set (when applicable). |
buffer | the data buffer with the received message. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
string flags_string ()
| flags_string |
[const]
Get the string with the flags about the vif status.
TODO: temporary here. Should go to the Vif class after the Vif class starts using the Proto class.
Returns: the C++ style string with the flags about the vif status (e.g., UP/DOWN/DISABLED, etc).
const IPvX& querier_addr ()
| querier_addr |
[const]
Get the MLD/IGMP querier address.
Returns: the MLD/IGMP querier address.
void set_querier_addr (const IPvX& v)
| set_querier_addr |
Set the MLD/IMGPquerier address.
Parameters:
v | the value of the MLD/IGMP querier address. |
const list<MemberQuery *>& members ()
| members |
[const]
Get the list with the multicast membership information (MemberQuery).
Returns: the list with the multicast membership information (MemberQuery).
bool proto_is_ssm ()
| proto_is_ssm |
[const]
Test if the protocol is Source-Specific Multicast (e.g., IGMPv3 or MLDv2).
Returns: true if the protocol is Source-Specific Multicast (e.g., IGMPv3 or MLDv2).
const Timer& const_other_querier_timer ()
| const_other_querier_timer |
[const]
Get the timer to timeout the (other) MLD/IGMP querier.
Returns: a reference to the timer to timeout the (other) MLD/IGMP querier.
int add_protocol (x_module_id module_id,
const string& module_instance_name)
| add_protocol |
Add a protocol that needs to be notified about multicast membership changes.
Add a protocol to the list of entries that would be notified if there is membership change on a particular interface.
Parameters:
module_instance_name | the module instance name of the protocol to add. |
module_id | the module ID (x_module_id) of the protocol to add. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
int delete_protocol (x_module_id module_id,
const string& module_instance_name)
| delete_protocol |
Delete a protocol that needs to be notified about multicast membership changes.
Delete a protocol from the list of entries that would be notified if there is membership change on a particular interface.
Parameters:
module_instance_name | the module instance name of the protocol to delete. |
module_id | the module ID (x_module_id) of the protocol to delete. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
Generated by: pavlin on possum.icir.org on Mon Mar 10 19:34:54 2003, using kdoc 2.0a54+XORP. |