This article explains the procedure for configuring a pim-to-igmp proxy.
In some network configurations, Protocol Independent Multicast (PIM) routing is not enabled between the edge-facing multicast domain and the core-facing multicast domain, even though the PIM is in sparse mode within these domains. Thus, multicast traffic cannot be forwarded across the domains. Instead, Internet Group Management Protocol (IGMP) is an option.
To enable the use of IGMP to forward multicast traffic across the PIM domains, configure the Rendezvous Point (RP) router that resides between the edge domain and core domain to translate PIM join or prune messages received on downstream interfaces into a corresponding IGMP report or leave messages. The router then transmits the report or leave messages by proxying them to one or two upstream interfaces configured on the RP router. This feature is sometimes referred to as PIM-to-IGMP proxy.
join
prune
PIM-to-IGMP proxy of SRX240a and SRX240b that cannot establish PIM neighbor. Network topology:
Multicast_server---(ge-0/0/2)SRX240a(ge-0/0/6)----(ge-0/0/6)SRX240b(ge-0/0/2)----Multicast_receiver M_server: 192.168.100.2 M_receiver: 192.168.200.2 Multicast group: 235.11.11.11
To configure pim-to-igmp proxy, use the following configuration:
SRX240A
root@# run show configuration | display set set version 12.1X44.3 set interfaces ge-0/0/2 unit 0 family inet address 192.168.100.1/24 set interfaces ge-0/0/6 unit 0 family inet address 192.168.50.1/24 set interfaces lo0 unit 0 family inet address 172.16.10.1/24 set routing-options static route 172.16.20.0/24 next-hop 192.168.50.2 set routing-options static route 192.168.200.0/24 next-hop 192.168.50.2 set protocols igmp interface ge-0/0/6.0 set protocols pim rp local address 172.16.10.1 set protocols pim interface ge-0/0/2.0 set security policies default-policy permit-all set security zones security-zone trust interfaces ge-0/0/2.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/2.0 host-inbound-traffic protocols all set security zones security-zone trust interfaces lo0.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces lo0.0 host-inbound-traffic protocols all set security zones security-zone untrust interfaces ge-0/0/6.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/6.0 host-inbound-traffic protocols all
SRX240B
root@# run show configuration | display set set version 12.1X44.3 set interfaces ge-0/0/2 unit 0 family inet address 192.168.200.1/24 set interfaces ge-0/0/6 unit 0 family inet address 192.168.50.2/24 set interfaces lo0 unit 0 family inet address 172.16.20.1/24 set routing-options static route 172.16.10.0/24 next-hop 192.168.50.1 set routing-options static route 192.168.100.0/24 next-hop 192.168.50.1 set routing-options multicast pim-to-igmp-proxy upstream-interface ge-0/0/6.0 set protocols igmp interface ge-0/0/2.0 static group 235.11.11.11 set protocols igmp interface ge-0/0/6.0 disable set protocols pim rp local address 172.16.20.1 set protocols pim interface ge-0/0/2.0 set protocols pim interface ge-0/0/6.0 accept-remote-source set security policies default-policy permit-all set security zones security-zone trust interfaces ge-0/0/2.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/2.0 host-inbound-traffic protocols all set security zones security-zone trust interfaces lo0.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces lo0.0 host-inbound-traffic protocols all set security zones security-zone untrust interfaces ge-0/0/6.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/6.0 host-inbound-traffic protocols all
interfaces { ge-0/0/2 { unit 0 { family inet { address 192.168.100.1/24; } } } ge-0/0/6 { unit 0 { family inet { address 192.168.50.1/24; } } } lo0 { unit 0 { family inet { address 172.16.10.1/24; } } } } routing-options { static { route 172.16.20.0/24 next-hop 192.168.50.2; route 192.168.200.0/24 next-hop 192.168.50.2; } } protocols { igmp { interface ge-0/0/6.0; } pim { rp { local { address 172.16.10.1; } } interface ge-0/0/2.0; } } security { policies { default-policy { permit-all; } } zones { security-zone trust { interfaces { ge-0/0/2.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } lo0.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } security-zone untrust { interfaces { ge-0/0/6.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } } }
interfaces { ge-0/0/2 { unit 0 { family inet { address 192.168.200.1/24; } } } ge-0/0/6 { unit 0 { family inet { address 192.168.50.2/24; } } } lo0 { unit 0 { family inet { address 172.16.20.1/24; } } } } routing-options { static { route 172.16.10.0/24 next-hop 192.168.50.1; route 192.168.100.0/24 next-hop 192.168.50.1; } multicast { pim-to-igmp-proxy { upstream-interface ge-0/0/6.0; } } } protocols { igmp { interface ge-0/0/2.0 { static { group 235.11.11.11; } } interface ge-0/0/6.0 { disable; } } pim { rp { local { address 172.16.20.1; } } interface ge-0/0/2.0; interface ge-0/0/6.0 { accept-remote-source; } } } security { policies { default-policy { permit-all; } } zones { security-zone trust { interfaces { ge-0/0/2.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } lo0.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } security-zone untrust { interfaces { ge-0/0/6.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } } }
Use the show multicast pim-to-igmp-proxy command to display the PIM-to-IGMP proxy state (enabled or disabled) and the name or names of the configured upstream interfaces.
show multicast pim-to-igmp-proxy
root@# run show multicast pim-to-igmp-proxyProxy state: enabled ge-0/0/6.0