|
| ||||||||||||||||
| Mld6igmpGroupRecord (Mld6igmpVif& mld6igmp_vif, const IPvX& group)
| Mld6igmpGroupRecord |
Constructor for a given vif and group address.
Parameters:
| mld6igmp_vif | the interface this entry belongs to. |
| group | the multicast group address. |
| ~Mld6igmpGroupRecord ()
| ~Mld6igmpGroupRecord |
| Mld6igmpVif& mld6igmp_vif ()
| mld6igmp_vif |
[const]
Get the vif this entry belongs to.
Returns: a reference to the vif this entry belongs to.
| const IPvX& group ()
| group |
[const]
Get the multicast group address.
Returns: the multicast group address.
| EventLoop& eventloop ()
| eventloop |
Get the corresponding event loop.
Returns: the corresponding event loop.
| bool is_include_mode ()
| is_include_mode |
[const]
Test whether the filter mode is INCLUDE.
Returns: true if the filter mode is INCLUDE.
| bool is_exclude_mode ()
| is_exclude_mode |
[const]
Test whether the filter mode is EXCLUDE.
Returns: true if the filter mode is EXCLUDE.
| void set_include_mode ()
| set_include_mode |
Set the filter mode to INCLUDE.
| void set_exclude_mode ()
| set_exclude_mode |
Set the filter mode to EXCLUDE.
| bool is_unused ()
| is_unused |
[const]
Test whether the entry is unused.
Returns: true if the entry is unused, otherwise false.
| Mld6igmpSourceRecord* find_do_forward_source (const IPvX& source)
| find_do_forward_source |
Find a source that should be forwarded.
Parameters:
| source | the source address. |
Returns: the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.
| Mld6igmpSourceRecord* find_dont_forward_source (const IPvX& source)
| find_dont_forward_source |
Find a source that should not be forwarded.
Parameters:
| source | the source address. |
Returns: the corresponding source record (Mld6igmpSourceRecord) if found, otherwise NULL.
| const Mld6igmpSourceSet& do_forward_sources ()
| do_forward_sources |
[const]
Get a reference to the set of sources to forward.
Returns: a reference to the set of sources to forward.
| const Mld6igmpSourceSet& dont_forward_sources ()
| dont_forward_sources |
[const]
Get a reference to the set of sources not to forward.
Returns: a reference to the set of sources not to forward.
| void process_mode_is_include (const set<IPvX>& sources,
const IPvX& last_reported_host)
| process_mode_is_include |
Process MODE_IS_INCLUDE report.
Parameters:
| sources | the source addresses. |
| last_reported_host | the address of the host that last reported as member. |
| void process_mode_is_exclude (const set<IPvX>& sources,
const IPvX& last_reported_host)
| process_mode_is_exclude |
Process MODE_IS_EXCLUDE report.
Parameters:
| sources | the source addresses. |
| last_reported_host | the address of the host that last reported as member. |
| void process_change_to_include_mode (const set<IPvX>& sources,
const IPvX& last_reported_host)
| process_change_to_include_mode |
Process CHANGE_TO_INCLUDE_MODE report.
Parameters:
| sources | the source addresses. |
| last_reported_host | the address of the host that last reported as member. |
| void process_change_to_exclude_mode (const set<IPvX>& sources,
const IPvX& last_reported_host)
| process_change_to_exclude_mode |
Process CHANGE_TO_EXCLUDE_MODE report.
Parameters:
| sources | the source addresses. |
| last_reported_host | the address of the host that last reported as member. |
| void process_allow_new_sources (const set<IPvX>& sources,
const IPvX& last_reported_host)
| process_allow_new_sources |
Process ALLOW_NEW_SOURCES report.
Parameters:
| sources | the source addresses. |
| last_reported_host | the address of the host that last reported as member. |
| void process_block_old_sources (const set<IPvX>& sources,
const IPvX& last_reported_host)
| process_block_old_sources |
Process BLOCK_OLD_SOURCES report.
Parameters:
| sources | the source addresses. |
| last_reported_host | the address of the host that last reported as member. |
| void lower_group_timer (const TimeVal& timeval)
| lower_group_timer |
Lower the group timer.
Parameters:
| timeval | the timeout interval the timer should be lowered to. |
| void lower_source_timer (const set<IPvX>& sources, const TimeVal& timeval)
| lower_source_timer |
Lower the source timer for a set of sources.
Parameters:
| sources | the source addresses. |
| timeval | the timeout interval the timer should be lowered to. |
| void source_expired (Mld6igmpSourceRecord* source_record)
| source_expired |
Take the appropriate actions for a source that has expired.
Parameters:
| source_record | the source record that has expired. |
| uint32_t timeout_sec ()
| timeout_sec |
[const]
Get the number of seconds until the group timer expires.
Returns: the number of seconds until the group timer expires.
| const IPvX& last_reported_host ()
| last_reported_host |
[const]
Get the address of the host that last reported as member.
Returns: the address of the host that last reported as member.
| XorpTimer& group_timer ()
| group_timer |
Get a refererence to the group timer.
Returns: a reference to the group timer.
| void schedule_periodic_group_query (const set<IPvX>& sources)
| schedule_periodic_group_query |
Schedule periodic Group-Specific and Group-and-Source-Specific Query retransmission.
If the sources list is empty, we schedule Group-Specific Query, otherwise we schedule Group-and-Source-Specific Query.
Parameters:
| sources | the source addresses. |
| void received_older_membership_report (int message_version)
| received_older_membership_report |
Record that an older Membership report message has been received.
Parameters:
| message_version | the corresponding protocol version of the received message. |
| bool is_igmpv1_mode ()
| is_igmpv1_mode |
[const]
Test if the group is running in IGMPv1 mode.
Returns: true if the group is running in IGMPv1 mode, otherwise false.
| bool is_igmpv2_mode ()
| is_igmpv2_mode |
[const]
Test if the group is running in IGMPv2 mode.
Returns: true if the group is running in IGMPv2 mode, otherwise false.
| bool is_igmpv3_mode ()
| is_igmpv3_mode |
[const]
Test if the group is running in IGMPv3 mode.
Returns: true if the group is running in IGMPv3 mode, otherwise false.
| bool is_mldv1_mode ()
| is_mldv1_mode |
[const]
Test if the group is running in MLDv1 mode.
Returns: true if the group is running in MLDv1 mode, otherwise false.
| bool is_mldv2_mode ()
| is_mldv2_mode |
[const]
Test if the group is running in MLDv2 mode.
Returns: true if the group is running in MLDv2 mode, otherwise false.
| int family ()
| family |
[const]
Get the address family.
Returns: the address family.