IGMP proxy forwarding

When a network has a border router connecting a PIM-SM domain to a PIM-DM domain, the routers that are completely within the PIM-DM domain have no way to discover multicast flows in the PIM-SM domain. When an IGMP join occurs on a router entirely within the PIM-DM domain for a flow that originates within the PIM-SM domain, it is never forwarded to the PIM-SM domain.

The IGMP proxy is a way to propagate IGMP joins across router boundaries. The proxy triggers the boundary router connected to a PIM-SM domain to query for multicast flows and forward them to the PIM-DM domain. IGMP needs to be configured on all VLAN interfaces on which the proxy is to be forwarded or received, and PIM-DM must be running for the traffic to be forwarded.

You can configure an IGMP proxy on a selected VLAN that will forward IP joins (reports) and IGMP leaves to the upstream border router between the two multicast domains. You must specify the VLANs on which the proxy is enabled as well as the address of the border router to which the joins are forwarded.

How IGMP proxy forwarding works

The following steps illustrate how to flood a flow from the PIM-SM domain into the PIM-DM domain when an IGMP join for that flow occurs in the PIM-DM domain. See IGMP proxy example.

  1. Configure Routing Switch 1 with the IGMP proxy forwarding function to forward joins toward Border Router 1; in addition, configure Routing Switch 1 to forward joins from VLAN 1 toward Border Router 2, as is VLAN 4 on Routing Switch 3.

  2. Configure VLAN 2 on Routing Switch 2 to forward joins toward Border Router 1.

  3. When the host connected in VLAN 1 issues an IGMP join for multicast address 235.1.1.1, the join is proxied by Routing Switch 1 onto VLAN 2 and onto VLAN 4. The routing information table in Routing Switch 1 indicates that the packet to Border Router 1 and Border Router 2 is on VLAN 2 and VLAN 4, respectively.

    IGMP proxy example

    IGMP proxy example
  4. Routing Switch 2 then proxies the IGMP join into VLAN 3, which is connected to Border Router 1.

  5. Border Router 1 uses PIM-SM to find and connect to the multicast traffic for the requested traffic. The traffic is flooded into the PIM-DM network where it is routed to the original joining host.

  6. Additionally, the join was proxied from Routing Switch 3 to Border Router 2. At first, both border routers will flood the traffic into the PIM-DM domain. However, PIM-DM only forwards multicasts based on the shortest reverse path back to the source of the traffic as determined by the unicast routing tables (routing FIB.) Only one multicast stream is sent to the joining host. This configuration provides a redundant in case the first fails.

Configuring IGMP proxy (CLI)

For more information on IGMP proxy, see IGMP general operation and features.

Adding or leaving a multicast domain

Syntax:

[no] igmp-proxy-domain <domain-name> [ <border-router-ip-address> | <mcast-range | all> ]

The no form of the command is used to remove a multicast domain.

All VLANs associated with the domain must first be removed for this command to work. See the no form of igmp-proxy in the VLAN context command.

<domain-name>

User-defined name to associate with the PIM border router and multicast range that is being sent toward the border router.

<border-router-ip-addr>

The IP address of the border router toward which IGMP proxy packets are sent. Not required for the no form of the command.


[NOTE: ]

NOTE: The current routing FIB determines the best path toward the border router and therefore the VLAN that a proxy is sent out on


[ <low-bound-ip-address | all> ]

The low boundary (inclusive) of the multicast address range to associate with this domain (for example, 234.0.0.1.)

If all is selected, the multicast addresses in the range of 224.0.1.0 to 239.255.255.255 are included in this domain.


[NOTE: ]

NOTE: Addresses 224.0.0.0 to 224.0.0.255 are never used, because these addresses are reserved for protocols.


<high-bound-ip-address>

The high boundary (inclusive) of the multicast address range to associate with this domain (for example, 236.1.1.1.)

IGMP proxy border IP address command shows the IGMP proxy border IP addrses (111.11.111.111) being configured.

IGMP proxy border IP address command

HP Switch(config)# igmp-proxy-domain Bob 111.11.111.111

Setting the lower and upper bounds for multicasting shows the lower and upper boundaries of the multicast address range associated with the domain named Bob.

Setting the lower and upper bounds for multicasting

HP Switch(config)# igmp-proxy-domain Bob 111.11.111.111 234.0.0.1
HP Switch(config)# igmp-proxy-domain Bob 111.11.111.111 236.1.1.1

VLAN context command

This command is performed when in VLAN context mode. When a query occurs on the upstream interface, an IGMP join is sent for all multicast addresses that are currently joined on the downstream interface.

Syntax:

[no] igmp-proxy <domain-name>

Tells the VLAN which IGMP proxy domains to use with joins on the VLAN.

The no version of the command with no domain name specified removes all domains associated with this VLAN.

Note that multiple different domains may be configured in the same VLAN context where the VLAN is considered the downstream interface. The domain name must exist prior to using this command to add the domain.


[NOTE: ]

NOTE: If the unicast routing path to the specified IP address was through the specified VLAN, no proxy IGMP would occur, that is, a proxy is not sent back out on the VLAN that the IGMP join came in on.


If no unicast route exists to the border router, no proxy IGMP packets are sent.

IGMP proxy show command

Syntax:

show igmp-proxy <entries | domains | vlans>

Shows the currently active IGMP proxy entries, domains, or VLANs.

Showing active IGMP proxy entries

HP Switch(config)# show igmp-proxy entries

 Total number of multicast routes: 2

 Multicast Address Border Address   VID   Multicast Domain
 ----------------- --------------   ----- ------
 234.43.209.12     192.168.1.1      1     George
 235.22.22.12      15.43.209.1      1     SAM
 226.44.3.3        192.168.1.1      2     George

Showing IGMP proxy domains

HP Switch(config)# show igmp-proxy domains

  Total number of multicast domains: 5

 Multicast Domain  Multicast Range          Border Address Active entries
 ----------------  -----------------------  -------------- --------------
 George            225.1.1.1/234.43.209.12  192.168.1.1    2
 SAM               235.0.0.0/239.1.1.1      15.43.209.1    1
 Jane              236.234.1.1/236.235.1.1  192.160.1.2    0
 Bill              ALL                      15.43.209.1    0

Showing active IGMP proxy VLANs

HP Switch(config)# show igmp-proxy vlans

 IGMP PROXY VLANs

 VID     Multicast Domain   Active entries
 ------  ----------------   --------------
 1            George            1
 1            Sam               1
 1            Jane              0
 2            George            1
 4            George            0
 4            Bill              0

Operating notes for IGMP proxy forwarding

  • You can configure up to 12 multicast domains, which indicate a range of multicast addresses and the IP address of the PIM-SM/PIM-DM border router.

  • You must give each domain a unique name, up to 20 characters.

  • The domains may have overlapping multicast ranges.

  • The IP address of the border router may be the same or different in each configured domain.

  • Duplicate IGMP joins are automatically prevented, or leaves that would remove a flow currently joined by multiple hosts.

  • Range overlap allows for redundant connectivity and the ability for multicasts to arrive from different border routers based on the shortest path back to the source of the traffic.

  • The configured domain names must be associated with one or more VLANs for which the proxy joins are to be done.

  • All routers in the path between the edge router receiving the initial IGMP packets and the border router have to be configured to forward IGMP using IGMP proxy.

  • All upstream and downstream interfaces using IGMP proxy forwarding require IGMP and PIM to be enabled.

  • You must remove all VLAN associations with the domain name before that domain name can be removed.

  • The appropriate border routers must be used for each VLAN, or PIM-DM will not forward the traffic. This could occur when multiple border routers exist. It may be necessary to configure multiple overlapping domains if the multicast source address can generate the same multicast address and have different best paths to the PIM-DM domain.


[CAUTION: ]

CAUTION: Be careful to avoid configuring a IGMP forward loop, because this would leave the VLANs in a joined state forever once an initial join is sent from a host. For example, a join is issued from the host in VLAN 2 and Routing Switch 2 will proxy the join onto VLAN 1. Routing Switch 3 will then proxy the join back onto VLAN 2 and increment its internal count of the number of joins on VLAN 2. Even after the host on VLAN 2 issues a leave, the proxy join will continue to remain and refresh itself each time a query occurs on VLAN 2. This type of loop could be created with multiple routers if an IGMP proxy is allowed to get back to the VLAN of the router that initially received the IGMP join from a host; see Proxy loop scenario.


Proxy loop scenario

Proxy loop scenario