|
|
| Mld6igmpVif (Mld6igmpNode& mld6igmp_node, const Vif& vif)
| Mld6igmpVif |
Constructor for a given MLD/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 set_proto_version (int proto_version)
| set_proto_version |
Set the current protocol version.
The protocol version must be in the interval [IGMP_VERSION_MIN, IGMP_VERSION_MAX] or [MLD_VERSION_MIN, MLD_VERSION_MAX]
Parameters:
| proto_version | the protocol version to set. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ProtoUnit.
| int start ()
| start |
Start MLD/IGMP on a single virtual interface.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int stop ()
| stop |
Stop MLD/IGMP on a single virtual interface.
Returns: XORP_OK on success, otherwise XORP_ERROR.
| 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).
| Mld6igmpNode& mld6igmp_node ()
| mld6igmp_node |
[const]
Get the MLD6IGMP node (Mld6igmpNode).
Returns: a reference to the MLD6IGMP node (Mld6igmpNode).
| 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 MLD6/IGMP querier 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 XorpTimer& 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 (xorp_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 (xorp_module_id) of the protocol to add. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int delete_protocol (xorp_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 (xorp_module_id) of the protocol to delete. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
| Generated by: pavlin on possum.icir.org on Thu Nov 6 23:47:00 2003, using kdoc 2.0a54+XORP. |