Configuring an IGMPv2/v3 querier involves setting the interval for sending General Query messages, robustness variable, maximum response time of the Query messages, Keepalive time of other IGMP queriers, interval for sending IGMP Last Member
Query messages, and interval for sending IGMP group-specific messages, and configuring group membership to never time out on the interface and the IGMP fast leave function.
Prerequisites
Before configuring an IGMPv2/v3 querier, complete the following task:
Context
The querier periodically sends IGMP query messages on a shared network connected to receivers. When receiving a Report message from a member, the querier refreshes information about the members. If non-queriers do not receive a general
query message within the Keepalive period of other IGMP queriers, the querier is considered faulty, and a new round of querier election is triggered automatically.
Ensure that the interval for sending general query messages
is greater than the maximum response time but is smaller than the Keepalive time of other IGMP queriers.
The configuration involves the following cases:
- Global configuration: It is valid on all interfaces.
- Configuration on an interface: The configuration on an interface takes precedence over the global configuration. If the interface is not configured, the global configuration is used.
The aging time of dynamic member interfaces must be same on Layer 3 devices and attached Layer 2 devices. Otherwise, multicast data cannot be correctly transmitted between the Layer 2 and 3 networks.
Procedure
- Global Configuration
- Access the system view.
system-view
- Access the IGMP view.
igmp [ vpn-instance vpn-instance-name ]
- Set the interval for sending general query messages.
timer query interval
By default, the interval for sending general query messages is 60 seconds.
The
default interval value in this command is 60 seconds, which is different than the default value 125 seconds defined by the RFC standard. A Huawei querier and a non-Huawei querier must send IGMP general query messages at the same
interval.
- Set the robustness variable.
robust-count robust-value
By default, the robustness variable is 2.
When the FW starts, the FW sends general query messages for the number of robust-value times. The sending interval is 1/4 of the interval
for sending IGMP general query messages. When the FW receives a Leave message,
- For IGMPv2, the FW sends group-specific query messages for the number of robust-value times. The sending interval is the interval for sending IGMP group-specific query messages.
- For IGMPv3, the FW sends group-and-source-specific query messages for the number of robust-value times. The sending interval is the interval for sending IGMP group-and-source-specific
query messages.
The larger the value of the robustness variable, the more robust the IGMP device will be. However, the timeout period of the group is longer.
- Set the maximum response time for the Query messages on the IGMP FW.
max-response-time interval
By default, the maximum IGMP response time is 10 seconds.
- Set the keepalive time of other IGMP queriers.
timer other-querier-present interval
By default, the keepalive time of other IGMP queriers is obtained using
the formula: Keepalive time of other IGMP queriers = Robustness variable x Interval for sending general query messages + 1/2 x Maximum response time. When the default values of the robustness variable, the interval for sending general query messages,
and the maximum response time are used, the keepalive time of other IGMP queriers is 125 seconds.
- Set the interval for sending IGMP last member query messages.
lastmember-queryinterval interval
The smaller the value of the interval, the more flexible the querier will be.
By
default, the interval for sending IGMP last member query messages is 1 second.
- Configuration on an Interface
- Access the system view.
system-view
- Access the interface view.
interface interface-type interface-number
- Set the interval for sending general query messages.
igmp timer query interval
By default, an interface sends IGMP general query messages at an interval of 60s.
The default interval value in this command is 60 seconds, which is different than the default value 125 seconds defined by the RFC standard. A Huawei querier and a non-Huawei querier must send IGMP general query messages at the
same interval.
- Set the IGMP robustness variable.
igmp robust-count robust-value
By default, the robustness variable of an IGMP querier is 2.
- Set the maximum response time to IGMP query messages.
igmp max-response-time interval
By default, the maximum response time of IGMP Query messages on an interface is 10s.
- Set the keepalive time of other IGMP queriers.
igmp timer other-querier-present interval
The formula used to calculate the keepalive period of other IGMP queriers
is: Keepalive period of other IGMP queriers = Robustness variable x Interval for sending IGMP general query messages + 1/2 x Maximum response time of IGMP Query messages. If the default values of the robustness variable, the interval for sending IGMP
general query messages, and the maximum response time of IGMP Query messages are used, the keepalive period of other IGMP queriers is 125s.
- Set the interval for sending IGMP group-specific messages.
igmp lastmember-queryinterval interval
By default, an IGMP querier sends IGMP last-member query messages at an interval
of 1s.
- Set the group membership on the interface not to time out.
igmp on-demand
The interface does not send an IGMP query message.
By default, the interface takes part in the querier election and sends query messages.
This command is valid to IGMPv2 and IGMPv3.
- Configure IGMP fast leave.
igmp prompt-leave [ group-policy basic-acl-number ]
After receiving a Leave message from a host, the
interface does not send the last member query message, and immediately deletes group membership on the interface.
By default, IGMP sends the last member query message after receiving a Leave message from a host.