Support for PIM Source Specific Multicast (PIM-SSM) Forwarding 


Protocol Independent Multicast (PIM) distributes multicast data using routes gathered by other protocols.


PIM builds and maintains multicast routing trees using reverse path forwarding (RPF) based on a unicast routing table. PIM can use routing tables consisting of OSPF, BGP, RIP, and static routes. Each host (senders and receivers) is associated with a Designated Router (DR) that acts for all directly connected hosts in PIM-SSM transactions.


Netvisor One has the following enhancements:


  • A PIM-SSM vRouter acts as first hop designated router connected to multicast receivers.
  • Netvisor One performs multicast forwarding in hardware.
  • Netvisor One scales for multicast routes.
  • Netvisor One ensures PIM protocol operation by mapping PIM protocol messages to proper CoS queues.


Netvisor One supports PIM-SSM in a cluster environment by providing active-active multicast forwarding.


Netvisor One also has enhanced support for mapping IGMPv1 and IGMPv2 requests to specific SSM ranges.


New commands support extended SSM IP addresses. The default IP address is 232.0.0.0/8.



CLI (network-admin@Leaf1) > vrouter-pim-ssm-range-add


vrouter-name name-string

Specify the name of the vRouter.

Add the following PIM-SSM arguments:

id id

Specify the ID as a number between 1 and 255.

group ip-address

Specify a group PIM-SSM range IP address. The default is 232.0.0.0

netmask netmask

Specify the netmask. The default is 8.



CLI (network-admin@Leaf1) > vrouter-pim-ssm-range-remove


vrouter-name name-string

Specify the name of the vRouter.

Add the following PIM-SSM arguments:

id id

Specify the ID as a number between 1 and 255.

group ip-address

Specify group PIM-SSM range IP address. The default is 232.0.0.0



CLI (network-admin@Leaf1) > er-pim-ssm-range-show


vrouter-name name-string

Displays the name of the vRouter.

Add the following PIM-SSM arguments:

id id

Displays  the ID as a number between 1 and 255.

group ip-address

Displays a group IP address. The default is 232.0.0.0

netmask netmask

Displays the netmask. The default is 8.


Configuring PIM-SSM Mapping


SSM mapping introduces a means for the last hop router to discover sources sending to groups. When SSM mapping is configured, if a router receives an IGMPv1 or IGMPv2 membership report for a particular group G, the router translates this report into one or more (S, G) channel memberships for the well-known sources associated with this group.


The following new commands support this feature:


CLI (network-admin@Leaf1) > vrouter-pim-ssm-map-add


vrouter-name name-string

Displays the name of the vRouter.

Add the following PIM-SSM Mapping arguments:

id id

Displays  the ID as a number between 1 and 255.

group ip-address

Displays a group IP address. The default is 232.0.0.0.

netmask netmask

Displays the netmask. The default is 8.


CLI (network-admin@Leaf1) > vrouter-pim-ssm-map-remove


vrouter-name name-string

Displays the name of the vRouter.

Add the following PIM-SSM Mapping arguments:

id id

Displays  the ID as a number between 1 and 255.

group ip-address

Displays a group IP address. The default is 232.0.0.0.

netmask netmask

Displays the netmask. The default is 8.


CLI (network-admin@Leaf1) > vrouter-pim-ssm-map-add


vrouter-name name-string

Displays the name of the vRouter.

Add the following PIM-SSM Mapping arguments:

id id

Displays  the ID as a number between 1 and 255.

group ip-address

Displays a group IP address. The default is 232.0.0.0.

netmask netmask

Displays the netmask. The default is 8.


Configuring PIM-SSM on vRouter Interfaces


In previous releases, when you configured PIM-SSM on a vRouter, Netvisor One applied the configuration to all vRouter interfaces. Now you can configure PIM-SSM on separate vRouter interfaces using the following syntax:


CLI (network-admin@Leaf1) > vrouter-interface-add


pim|no-pim

Specify if the vRouter interface is a PIM interface.

pim-dr-priority integer

Specify the direct router (DR) priority as an integer between 1 and 4294967295. Netvisor One selects the vRouter interface with higher DR priority as the designated router.

By default, all interfaces are priority 1. In case of same priority, Netvisor One selects the vRouter interface with highest network address as DR.

pim-cluster|no-pim-cluster

Specify if you want to provide alternative routing for Layer 3 attached sources for leaf cluster routing configuration. It allows for traffic to failover when a unicast path to the Spine fails.


You can modify or display these parameters using the commands vrouter-interface-modify and vrouter-interface-show.


Support for Active-Active Multicast Routing with VRRP


In the VRRP Spine and Leaf configuration, multi-cast traffic for a source, group, or VLAN, for example <S,G, VLAN> tuple can drop traffic since only one of the multicast routers forwards traffic while the other multicast router is not the DR router for the subnet.


To resolve this issue, configure active-active multicast forwarding to send traffic correctly. In the VRRP Spine and Leaf topology, you must configure both multicast routers as a designated router (DR). Designated Routers are the multicast routers designated to forward traffic to a specific subnet such as a VLAN. By enabling both routers in the Spine and Leaf VRRP topology as DR routers, all multicast routers are aware of the multicast receivers whatever the location in the Spine and Leaf topology.


Configuring active-active routing is simple and dynamic by enabling on a per interface basis. If the interface is a VRRP primary interface, then Netvisor One enables active-active multicast forwarding on this interface by automatically designating the interface as the designated router for the Layer 3 subnet, no matter how PIM resolves the interface through the DR election process.


Group membership is not enough to ensure traffic is not black-holed. For a given <S,G,VLAN>, Netvisor One routes traffic to the outgoing set of VLANs without causing a PIM assert on the peer or local router. Netvisor One routes traffic only to local nodes, and the route excludes cluster link ports on the outgoing interface list.  


The following command displays the interfaces of a PIM multicast router:


CLI (network-admin@Leaf1) > vrouter-pim-interface-show


vrouter-name name          local-address index if-state   

------------ ------------- ------------- ----- ----------

vr0          eth0.110      10.16.110.1   0     dr,no-nbrs

vr0          eth0.111      10.16.111.1   1     dr,no-nbrs

vr0          eth0.112      10.16.112.1   2     pim        

vr0          eth0.113      10.16.113.1   3     dr,no-nbrs

vr0          register_vif0 10.16.110.1   4                

vr1          lo0:1         10.16.116.1   0     dr,no-nbrs

vr1          eth1.112      10.16.112.2   1     dr,pim     

vr1          eth0.114      10.16.114.1   2     pim        

vr1          register_vif0 10.16.116.1   3                

vr2          eth1.113      10.16.113.2   0     dr,no-nbrs

vr2          eth1.114      10.16.114.2   1     dr,no-nbrs

vr2          eth0.115      10.16.115.1   2     dr,no-nbrs

vr2          register_vif0 10.16.113.2   3

 

To display PIM neighbors, use the following command:


CLI (network-admin@Leaf1) > vrouter-pim-neighbor-show


vrouter-name interface address     neighbor    

------------ --------- ----------- -----------

vr0          eth0.112  10.16.112.1 10.16.112.2

vr0          eth0.113  10.16.113.1 10.16.113.2

vr1          eth1.112  10.16.112.2 10.16.112.1

vr1          eth0.114  10.16.114.1 10.16.114.2

vr2          eth1.113  10.16.113.2 10.16.113.1

vr2          eth1.114  10.16.114.2 10.16.114.1

 


To display the routing state for router or group, use the following command:


CLI (network-admin@Leaf1) > vrouter-pim-join-show 224.0.1.0


vrouter-name source        group     incoming-if   outgoing-ifs      joined-ifs

------------ ------------- --------- ------------- ----------------- ----------

vr0          ::            224.0.1.0 register_vif0 eth0.113          eth0.113

vr0          10.16.110.101 224.0.1.0 eth0.110      eth0.113          eth0.113

vr4          ::            224.0.1.0               eth0.125,eth0.127

 

pruned-ifs asserted-ifs leaf-ifs          mrt-state

---------- ------------ ----------------- ------------

                                          wc,rp

                                          spt,cache,sg

                        eth0.125,eth0.127 wc,rp

 

Configuring the Hello Interval for PIM-SSM


You can configure the PIM-SSM Hello Interval using the following command:


CLI (network-admin@Leaf1) > vrouter-pim-config-modify


vrouter-name name-string

Specify the vRouter name to modify for PIM-SSM.

query-interval seconds

Specify the query interval from 1 to 300 seconds.

hello-interval seconds

Specify the hello interval  from 1 to 300 seconds.

querier-timeout seconds

Specify the querier timeout from 1 to 900 seconds.


Configuring the Designated Router Priority for PIM-SSM


In a PIM SSM-configured network, a host subscribes to an SSM channel through IGMPv3, announcing a desire to join group G and source S. The directly connected PIM-SSM vRouter, the Designated Router (DR) for the receiver, sends an (S,G) join message to a Reverse Path Forwarding (RPF) neighbor for the source.


To configure the DR for PIM, SSM, use the following command:


CLI (network-admin@Leaf1) > vrouter-interface-add


pim-dr-priority integer

Specify the direct router (DR) priority as an integer between 1 and 4294967295. Netvisor One selects the vRouter interface with higher DR priority as the designated router.


By default, all interfaces are priority 1. In case of same priority, Netvisor One selects the vRouter interface with highest network address as DR.