VXLAN using BIDIR-PIM Control Plane Configuration on Cisco Nexus 9K
Topology:
VXLAN BiDir underlay is supported on Cisco Nexus 9300-EX and 9300-FX/FX2/FX3 platform switches.
In the above image, the leaf switches (V1, V2, and V3) are at the bottom of the image. They are connected to the 4 spine switches (S1, S2, S3, and S4) that are depicted at the top of the image. The two PIM Rendezvous-Points using phantom RP mechanism are used for load sharing and redundancy purposes.
With bidirectional PIM, one bidirectional, shared tree rooted at the RP is built for each multicast group. Source specific state are not maintained within the fabric which provides a more scalable solution.Programmable Fabric specific pointers are:
- The 3 VTEPs share the same VNI and multicast group mapping to form a single multicast group tree.
PIM BiDir at a glance — One shared tree per multicast group.
Configuration:
Leaf switch V1 configuration:
Phantom Rendezvous-Point association on leaf switch V1
feature pim
ip pim rp-address 10.254.254.1 group-list 227.2.2.0/26 bidir
ip pim rp-address 10.254.254.65 group-list 227.2.2.64/26 bidir
Code language: PHP (php)
Loopback interface PIM configuration on leaf switch V1
interface loopback 0
ip address 10.1.1.54/32
ip pim sparse-mode
Code language: PHP (php)
IP unnumbered P2P interface configuration on leaf switch V1
interface Ethernet 1/1
no switchport
mtu 9192
medium p2p
ip unnumbered loopback 0
ip pim sparse-mode
interface Ethernet 2/2
no switchport
mtu 9192
medium p2p
ip unnumbered loopback 0
ip pim sparse-mode
Code language: PHP (php)
Use an MTU of 9192 for Cisco Nexus 5600 series switches.
Rendezvous Point configuration (on the two spine switches S2 and S3 acting as RPs)
Using phantom RP on spine switch S2
feature pim
ip pim rp-address 10.254.254.1 group-list 227.2.2.0/26 bidir
ip pim rp-address 10.254.254.65 group-list 227.2.2.64/26 bidir
Code language: PHP (php)
Loopback interface PIM configuration (RP) on spine switch S2/RP1
interface loopback 0
ip address 10.1.1.53/32
ip pim sparse-mode
Code language: PHP (php)
IP unnumbered P2P interface configuration on spine switch S2/RP1 to leaf switch V1
interface Ethernet 1/1
no switchport
mtu 9192
medium p2p
ip unnumbered loopback 0
ip pim sparse-mode
Code language: PHP (php)
Loopback interface PIM configuration (for phantom RP) on spine switch S2/RP1
interface loopback 1
ip address 10.254.254.2/30
ip pim sparse-mode
Code language: PHP (php)
interface loopback 2
ip address 10.254.254.66/29
ip pim sparse-mode
Code language: PHP (php)
Using phantom RP on spine switch S3(config) #
feature pim
ip pim rp-address 10.254.254.1 group-list 227.2.2.0/26 bidir
ip pim rp-address 10.254.254.65 group-list 227.2.2.64/26 bidir
Code language: PHP (php)
Loopback interface PIM configuration (RP) on spine switch S3/RP2(config) #
interface loopback 0
ip address 10.10.50.100/32
ip pim sparse-mode
Code language: PHP (php)
IP unnumbered P2P interface configuration on spine switch S3/RP2 to leaf switch V1
(config) #
interface Ethernet 2/2
no switchport
mtu 9192
medium p2p
ip unnumbered loopback 0
ip pim sparse-mode
Code language: PHP (php)
Loopback interface PIM configuration (for phantom RP) on spine switch S3/RP2(config) #
interface loopback 1
ip address 10.254.254.66/30
ip pim sparse-mode
Code language: PHP (php)
interface loopback 2
ip address 10.254.254.2/29
ip pim sparse-mode
Code language: PHP (php)
PIM BiDir Verification
Use the following commands for verifying PIM BiDir configuration:
Leaf-Switch-V1# <kbd><strong>show ip mroute</strong></kbd>
IP Multicast Routing Table for VRF "default"
(*, 227.2.2.0/26), bidir, uptime: 4d08h, pim ip
Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.53
Outgoing interface list: (count: 1)
Ethernet1/1, uptime: 4d08h, pim, (RPF)
(*, 227.2.2.0/32), bidir, uptime: 4d08h, nve ip pim
Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.53
Outgoing interface list: (count: 2)
Ethernet1/1, uptime: 4d08h, pim, (RPF)
nve1, uptime: 4d08h, nve
(*, 227.2.2.64/26), bidir, uptime: 4d08h, pim ip
Incoming interface: Ethernet1/5, RPF nbr: 10.10.50.100/32
Outgoing interface list: (count: 1)
Ethernet1/5, uptime: 4d08h, pim, (RPF)
(*, 232.0.0.0/8), uptime: 4d08h, pim ip
Incoming interface: Null, RPF nbr: 0.0.0.0
Outgoing interface list: (count: 0)
Code language: HTML, XML (xml)
IP Unnumbered
The IP unnumbered feature enables the processing of IP packets on a point-to-point (p2p) interface without explicitly configuring a unique IP address on it. This approach borrows an IP address from another interface and conserves address space on point-to-point links.
IP addressing – Point-to-point (P2P) or IP unnumbered links. For each point-to-point link, as an example between the leaf switch nodes and spine switch nodes, typically a /30 IP mask should be assigned. Optionally a /31 mask or IP unnumbered links can be assigned. The IP unnumbered approach is leaner from an addressing perspective and consumes fewer IP addresses. The IP unnumbered option for the OSPF or IS-IS protocol underlay will minimize the use of IP addresses.
/31 network – An OSPF or IS-IS point-to-point numbered network is only between two switch (interfaces), and there is no need for a broadcast or network address. So, a /31 network will suffice for this network. Neighbors on this network establish adjacency and there is no designated router (DR) for the network.
Ref: cisco.com