PIM
PIM (Protocol Independent Multicast) manages multicast traffic distribution across NX-OS networks, supporting VRF-aware deployments with configurable rendezvous points, anycast RP for redundancy, and SSM (Source-Specific Multicast) range definitions. It provides per-VRF control over RP address assignments, group ranges, bidirectional mode, and SSM group lists with prefix list and route map filtering for granular multicast policy enforcement. PIM interface-level configuration enables sparse mode, BFD integration, DR priority, passive mode, border designation, and neighbor filtering across loopback, VLAN, Ethernet, and port-channel interfaces.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”routing (nxos.devices.configuration)
Section titled “routing (nxos.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
loopbacks (nxos.devices.configuration.interfaces)
Section titled “loopbacks (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
vlans (nxos.devices.configuration.interfaces)
Section titled “vlans (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
ethernets (nxos.devices.configuration.interfaces)
Section titled “ethernets (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
port_channels (nxos.devices.configuration.interfaces)
Section titled “port_channels (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
pim (nxos.devices.configuration.routing)
Section titled “pim (nxos.devices.configuration.routing)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| evpn_border_leaf | Boolean | true, false | No | |
| extranet | Boolean | true, false | No | |
| bfd | Boolean | true, false | No | |
| auto_enable | Boolean | true, false | No | |
| flush_routes | Boolean | true, false | No | |
| log_neighbor_changes | Boolean | true, false | No | |
| mtu | Integer | min: 1500, max: 65536 | No | |
| register_rate_limit | Integer | min: 0, max: 65535 | No | |
| strict_rfc_compliant | Boolean | true, false | No | |
| spt_switch_graceful | Boolean | true, false | No | |
| ssm | Class | [ssm] | No | |
| rps | List | [rps] | No | |
| anycast_rps | List | [anycast_rps] | No | |
| vrfs | List | [vrfs] | No |
ssm (nxos.devices.configuration.routing.pim)
Section titled “ssm (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| range_1 | String | No | ||
| range_2 | String | No | ||
| range_3 | String | No | ||
| range_4 | String | No | ||
| prefix_list | String | No | ||
| none | Boolean | true, false | No | |
| route_map | String | No |
rps (nxos.devices.configuration.routing.pim)
Section titled “rps (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address | IP | Yes | ||
| group_list | IP | No | ||
| bidir | Boolean | true, false | No | |
| override | Boolean | true, false | No |
anycast_rps (nxos.devices.configuration.routing.pim)
Section titled “anycast_rps (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address | IP | Yes | ||
| set_address | IP | Yes |
vrfs (nxos.devices.configuration.routing.pim)
Section titled “vrfs (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| vrf | String | Yes | ||
| bfd | Boolean | true, false | No | |
| auto_enable | Boolean | true, false | No | |
| flush_routes | Boolean | true, false | No | |
| log_neighbor_changes | Boolean | true, false | No | |
| mtu | Integer | min: 1500, max: 65536 | No | |
| register_rate_limit | Integer | min: 0, max: 65535 | No | |
| strict_rfc_compliant | Boolean | true, false | No | |
| spt_switch_graceful | Boolean | true, false | No | |
| ssm | Class | [ssm] | No | |
| rps | List | [rps] | No | |
| anycast_rps | List | [anycast_rps] | No |
Examples
Section titled “Examples”Example 1: Basic PIM sparse-mode with static RP for VXLAN fabric
nxos: devices: - name: LEAF1 configuration: routing: pim: rps: - address: 10.1.101.1 interfaces: loopbacks: - id: 0 pim: sparse_mode: true - id: 1 pim: sparse_mode: true ethernets: - id: 1/1 pim: sparse_mode: true - id: 1/2 pim: sparse_mode: trueExample 2: Spine with anycast RP set for redundant multicast rendezvous
nxos: devices: - name: SPINE1 configuration: routing: pim: rps: - address: 10.1.101.1 anycast_rps: - address: 10.1.101.1 set_address: 10.1.100.1 - address: 10.1.101.1 set_address: 10.1.100.2 interfaces: loopbacks: - id: 0 pim: sparse_mode: true - id: 100 pim: sparse_mode: true ethernets: - id: 1/1 pim: sparse_mode: true - id: 1/2 pim: sparse_mode: trueExample 3: PIM with SSM, BFD, and multicast border configuration
nxos: devices: - name: BORDER-LEAF1 configuration: routing: pim: bfd: true log_neighbor_changes: true rps: - address: 10.1.101.1 ssm: range_1: 232.0.0.0/8 vrfs: - vrf: BLUE rps: - address: 192.168.1.1 group_list: 239.0.0.0/8 interfaces: ethernets: - id: 1/1 pim: sparse_mode: true - id: 1/10 pim: sparse_mode: true border: true dr_priority: 200PIM (Protocol Independent Multicast) manages multicast traffic distribution across NX-OS networks, supporting VRF-aware deployments with configurable rendezvous points, anycast RP for redundancy, and SSM (Source-Specific Multicast) range definitions. It provides per-VRF control over RP address assignments, group ranges, bidirectional mode, and SSM group lists with prefix list and route map filtering for granular multicast policy enforcement. PIM interface-level configuration enables sparse mode, BFD integration, DR priority, passive mode, border designation, and neighbor filtering across loopback, VLAN, Ethernet, and port-channel interfaces.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”routing (nxos.devices.configuration)
Section titled “routing (nxos.devices.configuration)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
loopbacks (nxos.devices.configuration.interfaces)
Section titled “loopbacks (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
vlans (nxos.devices.configuration.interfaces)
Section titled “vlans (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
ethernets (nxos.devices.configuration.interfaces)
Section titled “ethernets (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
port_channels (nxos.devices.configuration.interfaces)
Section titled “port_channels (nxos.devices.configuration.interfaces)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| pim | Class | [pim] | No |
pim (nxos.devices.configuration.routing)
Section titled “pim (nxos.devices.configuration.routing)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| evpn_border_leaf | Boolean | true, false | No | |
| extranet | Boolean | true, false | No | |
| jp_delay | Integer | min: 1, max: 4294967295 | No | |
| bfd | Boolean | true, false | No | |
| auto_enable | Boolean | true, false | No | |
| flush_routes | Boolean | true, false | No | |
| log_neighbor_changes | Boolean | true, false | No | |
| mtu | Integer | min: 1500, max: 65536 | No | |
| register_rate_limit | Integer | min: 0, max: 65535 | No | |
| strict_rfc_compliant | Boolean | true, false | No | |
| spt_switch_graceful | Boolean | true, false | No | |
| ssm | Class | [ssm] | No | |
| rps | List | [rps] | No | |
| anycast_rp_local_interface_type | Choice | ethernet, loopback, mgmt, port-channel, vlan, vni | No | |
| anycast_rp_local_interface_id | String | No | ||
| anycast_rp_source_interface_type | Choice | ethernet, loopback, mgmt, port-channel, vlan, vni | No | |
| anycast_rp_source_interface_id | String | No | ||
| anycast_rps | List | [anycast_rps] | No | |
| vrfs | List | [vrfs] | No |
ssm (nxos.devices.configuration.routing.pim)
Section titled “ssm (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| range_1 | String | No | ||
| range_2 | String | No | ||
| range_3 | String | No | ||
| range_4 | String | No | ||
| prefix_list | String | No | ||
| route_map | String | No | ||
| none | Boolean | true, false | No |
rps (nxos.devices.configuration.routing.pim)
Section titled “rps (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address | IP | Yes | ||
| group_list | IP | No | ||
| bidir | Boolean | true, false | No | |
| override | Boolean | true, false | No |
anycast_rps (nxos.devices.configuration.routing.pim)
Section titled “anycast_rps (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| address | IP | Yes | ||
| set_address | IP | Yes |
vrfs (nxos.devices.configuration.routing.pim)
Section titled “vrfs (nxos.devices.configuration.routing.pim)”| Name | Type | Constraint | Mandatory | Default Value |
|---|---|---|---|---|
| vrf | String | Yes | ||
| bfd | Boolean | true, false | No | |
| auto_enable | Boolean | true, false | No | |
| flush_routes | Boolean | true, false | No | |
| jp_delay | Integer | min: 1, max: 4294967295 | No | |
| log_neighbor_changes | Boolean | true, false | No | |
| mtu | Integer | min: 1500, max: 65536 | No | |
| register_rate_limit | Integer | min: 0, max: 65535 | No | |
| strict_rfc_compliant | Boolean | true, false | No | |
| spt_switch_graceful | Boolean | true, false | No | |
| ssm | Class | [ssm] | No | |
| rps | List | [rps] | No | |
| anycast_rp_local_interface_type | Choice | ethernet, loopback, mgmt, port-channel, vlan, vni | No | |
| anycast_rp_local_interface_id | String | No | ||
| anycast_rp_source_interface_type | Choice | ethernet, loopback, mgmt, port-channel, vlan, vni | No | |
| anycast_rp_source_interface_id | String | No | ||
| anycast_rps | List | [anycast_rps] | No |
Examples
Section titled “Examples”Example 1: Basic PIM sparse-mode with static RP for VXLAN fabric
nxos: devices: - name: LEAF1 configuration: routing: pim: rps: - address: 10.1.101.1 anycast_rp_local_interface_type: loopback anycast_rp_local_interface_id: "0" anycast_rp_source_interface_type: loopback anycast_rp_source_interface_id: "0" interfaces: loopbacks: - id: 0 pim: sparse_mode: true - id: 1 pim: sparse_mode: true ethernets: - id: 1/1 pim: sparse_mode: true - id: 1/2 pim: sparse_mode: trueExample 2: Spine with anycast RP set for redundant multicast rendezvous
nxos: devices: - name: SPINE1 configuration: routing: pim: rps: - address: 10.1.101.1 anycast_rp_local_interface_type: loopback anycast_rp_local_interface_id: "0" anycast_rp_source_interface_type: loopback anycast_rp_source_interface_id: "0" anycast_rps: - address: 10.1.101.1 set_address: 10.1.100.1 - address: 10.1.101.1 set_address: 10.1.100.2 interfaces: loopbacks: - id: 0 pim: sparse_mode: true - id: 100 pim: sparse_mode: true ethernets: - id: 1/1 pim: sparse_mode: true - id: 1/2 pim: sparse_mode: trueExample 3: PIM with SSM, BFD, and multicast border configuration
nxos: devices: - name: BORDER-LEAF1 configuration: routing: pim: bfd: true log_neighbor_changes: true rps: - address: 10.1.101.1 anycast_rp_local_interface_type: loopback anycast_rp_local_interface_id: "0" anycast_rp_source_interface_type: loopback anycast_rp_source_interface_id: "0" ssm: range_1: 232.0.0.0/8 vrfs: - vrf: BLUE rps: - address: 192.168.1.1 group_list: 239.0.0.0/8 interfaces: ethernets: - id: 1/1 pim: sparse_mode: true - id: 1/10 pim: sparse_mode: true border: true dr_priority: 200