Configuring IGMP

This chapter describes how to configure the Internet Group Management Protocol (IGMP) on Cisco NX-OS devices for IPv4 networks.

About IGMP

IGMP is an IPv4 protocol that a host uses to request multicast data for a particular group. Using the information obtained through IGMP, the software maintains a list of multicast group or channel memberships on a per-interface basis. The systems that receive these IGMP packets send multicast data that they receive for requested groups or channels out the network segment of the known receivers.

By default, the IGMP process is running. You cannot enable IGMP manually on an interface. IGMP is automatically enabled when you perform one of the following configuration tasks on an interface:

  • Enable PIM

  • Statically bind a local multicast group

  • Enable link-local group reports

IGMP Versions

The device supports IGMPv2 and IGMPv3, and IGMPv1 report reception.

By default, the software enables IGMPv2 when it starts the IGMP process. You can enable IGMPv3 on interfaces where you want its capabilities.

IGMPv3 includes the following key changes from IGMPv2:

  • Support for Source-Specific Multicast (SSM), which builds shortest path trees from each receiver to the source, through the following features:

    • Host messages that can specify both the group and the source.

    • The multicast state that is maintained for groups and sources, not just for groups as in IGMPv2.

  • Hosts no longer perform report suppression, which means that hosts always send IGMP membership reports when an IGMP query message is received.


Note


The Cisco Nexus 9000 Series switches do not support SSM until Cisco NX-OS Release 7.0(3)I2(1).


For detailed information about IGMPv2, see RFC 2236.

For detailed information about IGMPv3, see RFC 5790.

IGMP Basics

This figure shows the basic IGMP process of a router that discovers multicast hosts. Hosts 1, 2, and 3 send unsolicited IGMP membership report messages to initiate receiving multicast data for a group or channel.

This IGMPv3 feature supports SSM. For information about configuring SSM translation to support SSM for IGMPv1 and IGMPv2 hosts, see Configuring an IGMP SSM Translation.

Figure 1. IGMPv1 and IGMPv2 Query-Response Process

In the figure below, router A, which is the IGMP designated querier on the subnet, sends query messages to the all-hosts multicast group at 224.0.0.1 periodically to discover whether any hosts want to receive multicast data. You can configure the group membership timeout value that the router uses to determine that no members of a group or source exist on the subnet.

The software elects a router as the IGMP querier on a subnet if it has the lowest IP address. As long as a router continues to receive query messages from a router with a lower IP address, it resets a timer that is based on its querier timeout value. If the querier timer of a router expires, it becomes the designated querier. If that router later receives a host query message from a router with a lower IP address, it drops its role as the designated querier and sets its querier timer again.

In this figure, host 1’s membership report is suppressed, and host 2 sends its membership report for group 224.1.1.1 first. Host 1 receives the report from host 2. Because only one membership report per group needs to be sent to the router, other hosts suppress their reports to reduce network traffic. Each host waits for a random time interval to avoid sending reports at the same time. You can configure the query maximum response time parameter to control the interval in which hosts randomize their responses.


Note


IGMPv1 and IGMPv2 membership report suppression occurs only on hosts that are connected to the same port.


In this figure, router A sends the IGMPv3 group-and-source-specific query to the LAN. Hosts 2 and 3 respond to the query with membership reports that indicate that they want to receive data from the advertised group and source. This IGMPv3 feature supports SSM.

Figure 2. IGMPv3 Group-and-Source-Specific Query

Note


IGMPv3 hosts do not perform IGMP membership report suppression.


Messages sent by the designated querier have a time-to-live (TTL) value of 1, which means that the messages are not forwarded by the directly connected routers on the subnet. You can configure the frequency and number of query messages sent specifically for IGMP startup, and you can configure a short query interval at startup so that the group state is established as quickly as possible. Although usually unnecessary, you can tune the query interval used after startup to a value that balances the responsiveness to host group membership messages and the traffic created on the network.


Caution


Changing the query interval can severely impact multicast forwarding.


When a multicast host leaves a group, a host that runs IGMPv2 or later sends an IGMP leave message. To check if this host is the last host to leave the group, the software sends an IGMP query message and starts a timer that you can configure called the last member query response interval. If no reports are received before the timer expires, the software removes the group state. The router continues to send multicast traffic for a group until its state is removed.

You can configure a robustness value to compensate for packet loss on a congested network. The robustness value is used by the IGMP software to determine the number of times to send messages.

Link local addresses in the range 224.0.0.0/24 are reserved by the Internet Assigned Numbers Authority (IANA). Network protocols on a local network segment use these addresses; routers do not forward these addresses because they have a TTL of 1. By default, the IGMP process sends membership reports only for nonlink local addresses, but you can configure the software to send reports for link local addresses.

Prerequisites for IGMP

IGMP has the following prerequisites:

  • You are logged onto the device.

  • For global configuration commands, you are in the correct virtual routing and forwarding (VRF) mode. The default configuration mode shown in the examples in this chapter applies to the default VRF.

Guidelines and Limitations for IGMP

IGMP has the following guidelines and limitations:

  • Beginning with Cisco NX-OS Release 10.2(1q)F, IGMP host proxy is supported on Cisco Nexus N9K-C9332D-GX2B platform switches.

  • Beginning with Cisco NX-OS Release 10.3(1)F, IGMP is supported on Cisco Nexus 9808 platform switches.

    • Beginning with Cisco NX-OS Release 10.4(1)F, IGMP is supported on Cisco Nexus X98900CD-A and X9836DM-A line cards with Cisco Nexus 9808 switches.

  • Beginning with Cisco NX-OS Release 10.4(1)F, IGMP is supported on Cisco Nexus 9804 platform switches, and Cisco Nexus X98900CD-A and X9836DM-A line cards.

  • The IGMP host SG proxy is not supported with vPC.

  • Excluding or blocking a list of sources according to IGMPv3 (RFC 5790) is not supported.

  • For Cisco Nexus 9200 Series switches, the S, G routes do not expire if IGMP or source traffic originates from the same IP address.

  • IGMP is supported on Cisco Nexus 9300-FX platform switches.

  • Configuring the route-map in igmp static-oif is limited to 255 range. When the route-map is configured with a range larger than /24 such as /8 or /4, the following log will be displayed:

    
    2020 May 13 10:10:58 LO5S-NSWDDNGEF01B %IGMP-3-GROUP_RANGE_IGNORE: igmp [29534] Too many Groups in Group Range 224.4.1.0 - 224.4.13.255
    2020 May 13 12:26:13 LO5S-NSWDDNGEF01B %IGMP-3-GROUP_RANGE_IGNORE: igmp [29534] Too many Groups in Group Range 224.4.1.0 - 224.4.13.255
    2020 May 13 12:47:01 LO5S-NSWDDNGEF01B %IGMP-3-GROUP_RANGE_IGNORE: igmp [29534] Too many Groups in Group Range 224.4.0.64 - 224.4.3.64

    The work around for this limitation is to split the required range to multiple 255 ranges or smaller and use the multiple route-map sequences for each range.

  • Configuration of nondefault IGMP related timers can be done on L3 physical interface and SVI, or in VLAN configuration mode if querier IP is configured in VLAN configuration mode. It is not recommended to configure querier IP in VLAN configuration mode if there is PIM enabled SVI for that VLAN.

    When query maximum response time (query-max-response-time) and IGMP query-interval are modified on the L3 physical interface or SVI, IGMP querier, timeout gets adjusted automatically to 2 times query interval plus MRT. To modify further, use ip igmp querier-timeout command for L3 physical interface.

    However, for SVI the value must be set according to the value shown in show ip igmp interface vlan X command output via ip igmp snooping querier-timeout command in VLAN configuration mode for querier election to happen as expected shell current querier become unavailable.

    For L3 physical interface, use show ip igmp interface <intf> command . For SVI, use show ip igmp snooping querier <vlan> to display relevant igmp snooping querier information. Both configuration commands should show same querier timeout for correct configuration.

    PIM hello interval determines how fast a PIM neighbor determines its peer availability. If the unavailable PIM neighbor happens to also be IGMP querier, new querier election happens at the same time as neighbor expiry (90 seconds - 3 x 30 seconds PIM hello interval). At the same time though L2 snooping querier timer dictates when new querier election is to happen (default 2 x query interval plus MRT).

Default Settings for IGMP

This table lists the default settings for IGMP parameters.

Table 1. Default IGMP Parameters

Parameters

Default

IGMP version

2

Startup query interval

30 seconds

Startup query count

2

Robustness value

2

Querier timeout

255 seconds

Query timeout

255 seconds

Query max response time

10 seconds

Query interval

125 seconds

Last member query response interval

1 second

Last member query count

2

Group membership timeout

260 seconds

Report link local multicast groups

Disabled

Enforce router alert

Disabled

Immediate leave

Disabled

Configuring IGMP Parameters

You can configure the IGMP global and interface parameters to affect the operation of the IGMP process.


Note


If you are familiar with the Cisco IOS CLI, be aware that the Cisco NX-OS commands for this feature might differ from the Cisco IOS commands that you would use.


Configuring IGMP Interface Parameters

You can configure the optional IGMP interface parameters described in the table below.

Table 2. IGMP Interface Parameters

Parameter

Description

IGMP version

IGMP version that is enabled on the interface. The IGMP version can be 2 or 3. The default is 2.

Static multicast groups

Multicast groups that are statically bound to the interface. You can configure the groups to join the interface with the (*, G) state or specify a source IP to join with the (S, G) state. You can specify a route-map policy name that lists the group prefixes, group ranges, and source prefixes to use with the match ip multicast command.

Note

 

Although you can configure the (S, G) state, the source tree is built only if you enable IGMPv3.

You can configure a multicast group on all the multicast-capable routers on the network so that pinging the group causes all the routers to respond. For information about SSM translation, see Configuring an IGMP SSM Translation.

Static multicast groups on OIF

Multicast groups that are statically bound to the output interface. You can configure the groups to join the output interface with the (*, G) state or specify a source IP to join with the (S, G) state. You can specify a route-map policy name that lists the group prefixes, group ranges, and source prefixes to use with the match ip multicast command.

Note

 

Although you can configure the (S, G) state, the source tree is built only if you enable IGMPv3. For information about SSM translation, see Configuring an IGMP SSM Translation.

Startup query interval

Startup query interval. By default, this interval is shorter than the query interval so that the software can establish the group state as quickly as possible. Values range from 1 to 18,000 seconds. The default is 31 seconds.

Startup query count

Number of queries sent at startup that are separated by the startup query interval. Values range from 1 to 10. The default is 2.

Robustness value

Robustness variable that you can tune to reflect expected packet loss on a congested network. You can increase the robustness variable to increase the number of times that packets are resent. Values range from 1 to 7. The default is 2.

Querier timeout

Number of seconds that the software waits after the previous querier has stopped querying and before it takes over as the querier. Values range from 1 to 65,535 seconds. The default is 255 seconds.

Query max response time

Maximum response time advertised in IGMP queries. You can tune the IGMP messages on the network by setting a larger value so that host responses are spread out over a longer time. This value must be less than the query interval. Values range from 1 to 25 seconds. The default is 10 seconds.

Query interval

Frequency at which the software sends IGMP host query messages. You can tune the number of IGMP messages on the network by setting a larger value so that the software sends IGMP queries less often. Values range from 1 to 18,000 seconds. The default is 125 seconds.

Last member query response interval

Interval in which the software sends a response to an IGMP query after receiving a host leave message from the last known active host on the subnet. If no reports are received in the interval, the group state is deleted. You can use this value to tune how quickly the software stops transmitting on the subnet. The software can detect the loss of the last member of a group or source more quickly when the values are smaller. Values range from 1 to 25 seconds. The default is 1 second.

Last member query count

Number of times that the software sends an IGMP query, separated by the last member query response interval, in response to a host leave message from the last known active host on the subnet. Values range from 1 to 5. The default is 2.

Setting this value to 1 means that a missed packet in either direction causes the software to remove the multicast state from the queried group or channel. The software may wait until the next query interval before the group is added again.

Group membership timeout

Group membership interval that must pass before the router decides that no members of a group or source exist on the network. Values range from 3 to 65,535 seconds. The default is 260 seconds.

Report link local multicast groups

Option that enables sending reports for groups in 224.0.0.0/24. Link local addresses are used only by protocols on the local network. Reports are always sent for nonlink local groups. The default is disabled.

Report policy

Access policy for IGMP reports that is based on a route-map policy.

1

Access groups

Option that configures a route-map policy to control the multicast groups that hosts on the subnet serviced by an interface can join.

Note

 

Only the match ip multicast group command is supported in this route map policy. The match ip address command for matching an ACL is not supported.

Immediate leave

Option that minimizes the leave latency of IGMPv2 group memberships on a given IGMP interface because the device does not send group-specific queries. When immediate leave is enabled, the device removes the group entry from the multicast routing table immediately upon receiving a leave message for the group. The default is disabled.

Note

 

Use this command only when there is one receiver behind the interface for a given group.

1

To configure route-map policies, see the Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide.

SUMMARY STEPS

  1. configure terminal
  2. interface interface
  3. ip igmp version value
  4. ip igmp join-group {group [source source] | route-map policy-name}
  5. ip igmp static-oif {group [source source] | route-map policy-name}
  6. ip igmp startup-query-interval seconds
  7. ip igmp startup-query-count count
  8. ip igmp robustness-variable value
  9. ip igmp querier-timeout seconds
  10. ip igmp query-timeout seconds
  11. ip igmp query-max-response-time seconds
  12. ip igmp query-interval interval
  13. ip igmp last-member-query-response-time seconds
  14. ip igmp last-member-query-count count
  15. ip igmp group-timeout seconds
  16. ip igmp report-link-local-groups
  17. ip igmp report-policy policy
  18. ip igmp access-group policy
  19. ip igmp immediate-leave
  20. (Optional) show ip igmp interface [interface] [vrf vrf-name | all] [brief]
  21. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface interface

Example:

switch(config)# interface ethernet 2/1
switch(config-if)#

Enters interface configuration mode.

Note

 

Use the commands listed from step-3 to configure the IGMP interface parameters.

Step 3

ip igmp version value

Example:

switch(config-if)# ip igmp version 3

Sets the IGMP version to the value specified. Values can be 2 or 3. The default is 2.

The no form of the command sets the version to 2.

Step 4

ip igmp join-group {group [source source] | route-map policy-name}

Example:

switch(config-if)# ip igmp join-group 230.0.0.0

Configures an interface on the device to join the specified group or channel. The device accepts the multicast packets for CPU consumption only.

Caution

 

The device CPU must be able to handle the traffic generated by using this command. Because of CPU load constraints, using this command, especially in any form of scale, is not recommended. Consider using the ip igmp static-oif command instead.

Step 5

ip igmp static-oif {group [source source] | route-map policy-name}

Example:

switch(config-if)# ip igmp static-oif 230.0.0.0

Statically binds a multicast group to the outgoing interface, which is handled by the device hardware. If you specify only the group address, the (*, G) state is created. If you specify the source address, the (S, G) state is created. You can specify a route-map policy name that lists the group prefixes, group ranges, and source prefixes to use with the match ip multicast command.

Note

 

A source tree is built for the (S, G) state only if you enable IGMPv3.

Step 6

ip igmp startup-query-interval seconds

Example:

switch(config-if)# ip igmp startup-query-interval 25

Sets the query interval used when the software starts up. Values can range from 1 to 18,000 seconds. The default is 31 seconds.

Step 7

ip igmp startup-query-count count

Example:

switch(config-if)# ip igmp startup-query-count 3

Sets the query count used when the software starts up. Values can range from 1 to 10. The default is 2.

Step 8

ip igmp robustness-variable value

Example:

switch(config-if)# ip igmp robustness-variable 3

Sets the robustness variable. Values can range from 1 to 7. The default is 2.

Step 9

ip igmp querier-timeout seconds

Example:

switch(config-if)# ip igmp querier-timeout 300

Sets the querier timeout that the software uses when deciding to take over as the querier. Values can range from 1 to 65,535 seconds. The default is 255 seconds.

Step 10

ip igmp query-timeout seconds

Example:

switch(config-if)# ip igmp query-timeout 300

Sets the query timeout that the software uses when deciding to take over as the querier. Values can range from 1 to 65,535 seconds. The default is 255 seconds.

Note

 

This command has the same functionality as the ip igmp querier-timeout command.

Step 11

ip igmp query-max-response-time seconds

Example:

switch(config-if)# ip igmp query-max-response-time 15

Sets the response time advertised in IGMP queries. Values can range from 1 to 25 seconds. The default is 10 seconds.

Step 12

ip igmp query-interval interval

Example:

switch(config-if)# ip igmp query-interval 100

Sets the frequency at which the software sends IGMP host query messages. Values can range from 1 to 18,000 seconds. The default is 125 seconds.

Step 13

ip igmp last-member-query-response-time seconds

Example:

switch(config-if)# ip igmp last-member-query-response-time 3

Sets the query interval waited after sending membership reports before the software deletes the group state. Values can range from 1 to 25 seconds. The default is 1 second.

Step 14

ip igmp last-member-query-count count

Example:

switch(config-if)# ip igmp last-member-query-count 3

Sets the number of times that the software sends an IGMP query in response to a host leave message. Values can range from 1 to 5. The default is 2.

Step 15

ip igmp group-timeout seconds

Example:

switch(config-if)# ip igmp group-timeout 300

Sets the group membership timeout for IGMPv2. Values can range from 3 to 65,535 seconds. The default is 260 seconds.

Step 16

ip igmp report-link-local-groups

Example:

switch(config-if)# ip igmp report-link-local-groups

Enables sending reports for groups in 224.0.0.0/24. Reports are always sent for nonlink local groups. By default, reports are not sent for link local groups.

Step 17

ip igmp report-policy policy

Example:

switch(config-if)# ip igmp report-policy my_report_policy

Configures an access policy for IGMP reports that is based on a route-map policy.

Step 18

ip igmp access-group policy

Example:

switch(config-if)# ip igmp access-group my_access_policy

Configures a route-map policy to control the multicast groups that hosts on the subnet serviced by an interface can join.

Note

 

Only the match ip multicast group command is supported in this route map policy. The match ip address command for matching an ACL is not supported.

Step 19

ip igmp immediate-leave

Example:

switch(config-if)# ip igmp immediate-leave

Enables the device to remove the group entry from the multicast routing table immediately upon receiving a leave message for the group. Use this command to minimize the leave latency of IGMPv2 group memberships on a given IGMP interface because the device does not send group-specific queries. The default is disabled.

Note

 

Use this command only when there is one receiver behind the interface for a given group.

Step 20

(Optional) show ip igmp interface [interface] [vrf vrf-name | all] [brief]

Example:

switch(config)# show ip igmp interface
(Optional)

Displays IGMP information about the interface.

Step 21

(Optional) copy running-config startup-config

Example:


switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring an IGMP SSM Translation

You can configure an SSM translation to provide SSM support when the router receives IGMPv1 or IGMPv2 membership reports. Only IGMPv3 provides the capability to specify group and source addresses in membership reports. By default, the group prefix range is 232.0.0.0/8.

The IGMP SSM translation feature enables an SSM-based multicast core network to be deployed when the multicast host does not support IGMPv3 or is forced to send group joins instead of (S,G) reports to interoperate with Layer 2 switches. The IGMP SSM translation feature provides the functionality to configure multiple sources for the same SSM group. Protocol Independent Multicast (PIM) must be configured on the device before configuring the SSM translation.

This table lists the example SSM translations.

Table 3. Example SSM Translations

Group Prefix

Source Address

232.0.0.0/8

10.1.1.1

232.0.0.0/8

10.2.2.2

232.1.0.0/16

10.3.3.3

232.1.1.0/24

10.4.4.4

This table shows the resulting MRIB routes that the IGMP process creates when it applies an SSM translation to the IGMP membership report. If more than one translation applies, the router creates the (S, G) state for each translation.

Table 4. Example Result of Applying SSM Translations

IGMPv2 Membership Report

Resulting MRIB Route

232.1.1.1

(10.4.4.4, 232.1.1.1)

232.2.2.2

(10.1.1.1, 232.2.2.2)
(10.2.2.2, 232.2.2.2)

SUMMARY STEPS

  1. configure terminal
  2. ip igmp ssm-translate group-prefix source-addr
  3. (Optional) show running-configuration igmp
  4. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

ip igmp ssm-translate group-prefix source-addr

Example:

switch(config)# ip igmp ssm-translate 232.0.0.0/8 10.1.1.1

Configures the translation of IGMPv1 or IGMPv2 membership reports by the IGMP process to create the (S,G) state as if the router had received an IGMPv3 membership report.

Step 3

(Optional) show running-configuration igmp

Example:

switch(config)# show running-configuration igmp
(Optional)

Shows the running-configuration information, including ssm-translate command lines.

Step 4

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring the Enforce Router Alert Option Check

You can configure the enforce router alert option check for IGMPv2 and IGMPv3 packets.

SUMMARY STEPS

  1. configure terminal
  2. [no] ip igmp enforce-router-alert
  3. (Optional) show running-configuration igmp
  4. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

[no] ip igmp enforce-router-alert

Example:

switch(config)# ip igmp enforce-router-alert

Enables or disables the enforce router alert option check for IGMPv2 and IGMPv3 packets. By default, the enforce router alert option check is enabled.

Step 3

(Optional) show running-configuration igmp

Example:

switch(config)# show running-configuration igmp
(Optional)

Shows the running-configuration information.

Step 4

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring IGMP Host Proxy

This section contains the following information:

Overview of IGMP Host Proxy

The IGMP host proxy support is provided for underlay multicast on Cisco Nexus 9300 EX/FX/FX2/FX3/GX/GX2 switches with port-channel (L3) uplink. This feature is introduced in Cisco NX-OS Release 9.3(4). The IGMP host proxy feature helps to connect PIM enabled multicast network domain to a domain that does not understand PIM. This feature configures an interface as a proxy interface that proxies PIM joins/prunes that are received on the internal PIM network to IGMP joins/leaves.

IGMP Join Process

When a host wants to join a multicast group, the host sends one or more unsolicited Membership Reports for the multicast group that it wants to join. Further, IGMP joins are by default sent on receipt of an IGMP query. Unsolicited mode can be configured to periodically send the reports. Only IGMPv2 reports are sent upstream.

IGMP Leave Process

IGMPv2 leaves are sent when the last host in the multicast network leaves. Therefore on receipt of the PIM prune from the last host, IGMPv2 leaves are sent upstream to indicate no more interest.

How to Configure IGMP Host Proxy

Perform the following steps to configure IGMP host proxy:

Table 5. Configuring IGMP Host Proxy

Step

Command

Purpose

Step 1

configure terminal

Example:

switch# configure terminal 
switch(config)#

Enters configuration mode.

Step 2

interface interface-name

Example:

switch(config)# interface port-channel 1

Enters interface configuration mode.

Step 3

no shutdown

Example:

switch(config-if)# no shutdown

Configures the interface in no shutdown mode.

Step 4

ip address ip address

Example:

switch(config-if)# ip address 10.1.1.1

Configures the IP address.

Step 5

[no] ip igmp host-proxy [unsolicited time | route-map route-map-name [unsolicited time] | prefix-list prefix-list-name [unsolicited time]]

Example:

switch(config-if)# ip igmp host-proxy unsolicited 6

Configures the IGMP host proxy for the route-map.

Step 7

show ip igmp groups

Example:

switch(config)# show ip igmp groups

Displays the IGMP connected group membership for VRF with H type for host proxy.

Displays only IGMPv2 host-proxy groups (and not IGMPv3).

Step 8

show ip igmp interface-name interface-number

Example:

switch(config)# show ip igmp port-channel 1

Displays the IGMP interfaces for VRF.

Step 9

show ip igmp local-groups interface-name interface-number

Example:

switch(config)# show ip igmp local-groups port-channel 1

Displays the IGMP locally joined group membership for VRF.

Step 10

show ip pim host-proxy

Exanple:

switch(config)# show ip pim host-proxy

Displays the PIM host proxy interfaces.

Configuring IGMP SG Proxy

This section contains the following information:

IGMP SG Proxy

Beginning from NX-OS Release 10.2(2)F, IGMP SG Proxy feature is introduced for media fabrics. Media fabric uses a passive mode where the controller programs the routes in the fabric. PIM operates in passive mode in such a fabric. For the passive fabric to pull multicast sources from outside the fabric via external links, IGMPv3 proxy reports are sent on the RPF () interface picked by the passive fabric multicast routes. The RPF for such routes are via external links. These external interfaces will be configured to behave as IGMP proxy. For the IGMP SG host proxy functionality to work, the RPF interface should be provisioned with the new knob.

Configuring IGMP SG Proxy

Perform the following steps to configure IGMP SG proxy:

SUMMARY STEPS

  1. configure terminal
  2. interface interface-name
  3. no shutdown
  4. ip address ip address
  5. [no] ip igmp host-proxy sg-proxy [unsolicited time | route-map route-map-name [unsolicited time] | prefix-list prefix-list-name [unsolicited time]]

DETAILED STEPS

  Command or Action Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters configuration mode.

Step 2

interface interface-name

Example:

switch(config)# interface port-channel 1

Enters interface configuration mode.

Step 3

no shutdown

Example:

switch(config-if)# no shutdown

Configures the interface in no shutdown mode.

Step 4

ip address ip address

Example:

switch(config-if)# ip address 10.1.1.1

Configures the IP address.

Step 5

[no] ip igmp host-proxy sg-proxy [unsolicited time | route-map route-map-name [unsolicited time] | prefix-list prefix-list-name [unsolicited time]]

Example:

switch(config-if)# ip igmp host-proxy sg-proxy unsolicited 4

Configures the IGMP SG proxy.

Restarting the IGMP Process

You can restart the IGMP process and optionally flush all routes.

SUMMARY STEPS

  1. restart igmp
  2. configure terminal
  3. ip igmp flush-routes
  4. (Optional) show running-configuration igmp
  5. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose

Step 1

restart igmp

Example:

switch# restart igmp

Restarts the IGMP process.

Step 2

configure terminal

Example:


switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 3

ip igmp flush-routes

Example:

switch(config)# ip igmp flush-routes

Removes routes when the IGMP process is restarted. By default, routes are not flushed.

Step 4

(Optional) show running-configuration igmp

Example:

switch(config)# show running-configuration igmp
(Optional)

Shows the running-configuration information.

Step 5

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Verifying the IGMP Configuration

To display the IGMP configuration information, perform one of the following tasks:

Command

Description

show ip igmp interface [interface] [vrf vrf-name | all] [brief]

Displays IGMP information about all interfaces or a selected interface, the default VRF, a selected VRF, or all VRFs. If IGMP is in vPC mode, use this command to display vPC statistics.

show ip igmp groups [{source [group]}] | {group [source]}] [interface] [summary] [vrf vrf-name | all]

Displays the IGMP attached group membership for a group or interface, the default VRF, a selected VRF, or all VRFs.

show ip igmp route [{source [group]}] | {group [source]}] [interface] [summary] [vrf vrf-name | all]

Displays the IGMP attached group membership for a group or interface, the default VRF, a selected VRF, or all VRFs.

show ip igmp local-groups

Displays the IGMP local group membership.

show running-configuration igmp

Displays the IGMP running-configuration information.

show startup-configuration igmp

Displays the IGMP startup-configuration information.

Configuration Examples for IGMP

The following example shows how to configure the IGMP parameters:


configure terminal
  ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
  interface ethernet 2/1
    ip igmp version 3
    ip igmp join-group 230.0.0.0
    ip igmp startup-query-interval 25
    ip igmp startup-query-count 3
    ip igmp robustness-variable 3
    ip igmp querier-timeout 300
    ip igmp query-timeout 300
    ip igmp query-max-response-time 15
    ip igmp query-interval 100
    ip igmp last-member-query-response-time 3
    ip igmp last-member-query-count 3
    ip igmp group-timeout 300
    ip igmp report-link-local-groups
    ip igmp report-policy my_report_policy
    ip igmp access-group my_access_policy

The following example shows the output of configuring IGMP SG Proxy

switch# show ip igmp internal host-proxy sg-cache
IGMP Total Host proxy routes: 2
IGMP Host proxy routes for context default count: 2
Group Address       Source Address       RPF iif
231.1.1.1           80.80.80.1           Eth1/17
232.9.9.9           80.80.80.1           Eth1/18

switch# show ip pim host-proxy
PIM host proxy interfaces
==========================
Type: SG - Host SG Proxy, H - Host Proxy
Vlan500 (SG)         loopback1 (SG)    loopback3 (SG)    loopback4 (SG)
  loopback10 (SG)   Ethernet1/17 (SG)   Ethernet1/18 (SG) Ethernet1/19 (SG)
Ethernet1/20 (SG)

switch# show ip igmp local-groups
IGMP Locally Joined Group Membership for VRF "default"
Group Address    Source Address      Type     Interface      Last Reported
231.1.1.1        80.80.80.1          Local     Lo0           00:01:53
232.9.9.9        80.80.80.1          Local     Lo0           00:01:53
231.1.1.1        80.80.80.1          H-proxy   Eth1/17       00:01:14
232.9.9.9        80.80.80.1          H-proxy   Eth1/18       00:01:24
231.1.1.1        80.80.80.1          H-proxy   Eth1/19       03:10:30
232.9.9.9        80.80.80.1          H-proxy   Eth1/20       03:10:27