EVPN Lab – Multicast Configuration

Alright, here we are for part three of our EVPN lab, multicast configuration! In case you missed the quick refresher I did for multicast; you can read that here. In the last configuration post, we configured OSPF for underlay route learning. You could head over to OSPF Configuration if you happened to miss it. Both OSPF and Multicast are vital steps for what we are going to configure in the next two configuration posts. Let’s jump right into this EVPN lab for multicast configuration

Next up on our deployment list is we have to setup Multicast in the underlay. This is important for BUM traffic in our EVPV overlay, as it will use multicast to “flood’ the traffic to the other VTEPs that want the information.

What are we going to configure in this lab:

- Configure Spine devices as Rendezvous points
  - Using ip address 100.100.100.100 assigned to loopback 100
- Configure PIM Sparse-Mode on all interfaces
- Configure a group list on the Rendezvous point configuration on the leafs

As with the last post, there will be a lot of repetition so the devices we are going to configure together are Leaf-01 and Spine-01, give you a flavor of what it would look like to setup a RP and a non-RP device.

What are we working with?

The physical diagram was shared in our previous post {{ internal link }}. When we are done configuring Multicast, the logical topology should look like this

image of a network with multicast configured on interfaces and RP's on spine switches

Configuring Multicast

As with the last post on OSPF, there is going to be a lot of repetition. We are going to look at the configuration on a rendezvous point device (Spine-01) and a regular PIM neighbor (Leaf-01).

Spine-01 (Rendezvous Point) Configuration

  • Enable PIM
  • Configure the Loopback for the Anycast Rendezvous Point and add that address to the OSPF Process
    • This is done to ensure that the anycast RP address is learned throughout the entire network
  • Configure the device to accept connections from the Anycast RP and assign what the actual address of the RP is
    • ip pim anycast-rp {anycast_IP} {device_IP}
  • Configure the RP and the BSR RP on the device with the multicast groups the RPs will listen for
  • Configure PIM on all interfaces
feature pim
interface loopback0
  description MCAST ANYCAST RP
  ip address 100.100.100.100/32
  ip ospf network point-to-point
  ip router ospf UNDERLAY area 0.0.0.0
ip pim anycast-rp 100.100.100.100 10.1.0.1 
ip pim anycast-rp 100.100.100.100 10.1.0.2
ip pim rp-address 100.100.100.100 group-list 225.0.0.0/8
ip pim bsr rp-candidate loopback0 group-list 225.0.0.0/8
interface Ethernet1/1 - 5
  ip pim sparse-mode
interface Ethernet1/7 - 8 
  ip pim sparse-mode
interface loopback10
  ip pim sparse-mode
interface loopback20
  ip pim sparse-mode
interface loopback0
  ip pim sparse-mode

Leaf-01 Configuration

  • Enable PIM
  • Configure the RP on the device with the multicast groups the RPs will listen for
  • Configure PIM on all interfaces
feature pim
ip pim rp-address 100.100.100.100 group-list 225.0.0.0/8
interface Ethernet1/1
  ip pim sparse-mode
interface Ethernet1/2
  ip pim sparse-mode
interface loopback 10
  ip pim sparse-mode
interface loopback 20
  ip pim sparse-mode

Verification

Since there are two different deployment types we need to verify, I will be outlining how to verify both the RP and the non-RP device. Don’t forget, my output could look different than yours, as long as the number of entries is correct, you should be good to go!

Spine-01 Verification

show ip pim neighbors

Verify PIM neighborships

Spine-01# show ip pim neighbor
PIM Neighbor Status for VRF "default"
Neighbor        Interface            Uptime    Expires   DR       Bidir-  BFD    ECMP Redirect
                                                         Priority Capable State  Capable
10.0.0.2        Ethernet1/1          00:01:25  00:01:43  1        yes     n/a     no
10.0.0.6        Ethernet1/2          00:01:24  00:01:31  1        yes     n/a     no
10.0.0.10       Ethernet1/3          00:01:23  00:01:15  1        yes     n/a     no
10.0.0.14       Ethernet1/4          00:01:23  00:01:43  1        yes     n/a     no
10.0.0.18       Ethernet1/5          00:01:22  00:01:38  1        yes     n/a     no
10.0.0.22       Ethernet1/7          00:01:22  00:01:43  1        yes     n/a     no
10.0.0.26       Ethernet1/8          00:01:21  00:01:31  1        yes     n/a     no

show ip pim rp

Ensure that the RP’s are setup correctly

Spine-01# show ip pim rp
PIM RP Status Information for VRF "default"
BSR: Not Operational
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

Anycast-RP 100.100.100.100 members:
  10.1.0.1*  10.1.0.2

RP: 100.100.100.100*, (0),
 uptime: 00:02:53   priority: 255,
 RP-source: (local), Null-Register Packing disabled

 group ranges:
 225.0.0.0/8

show ip pim group range

Verify group configuration for RPs

Spine-01# show ip pim group-range 225.0.0.0
PIM Group-Range Configuration for VRF "default"
Group-range        Action Mode  RP-address      Shared-tree-range Origin

225.0.0.0/8        -      ASM   100.100.100.100 -                 Static

Leaf-01 Verification

show ip pim neighbors

Verify PIM neighborships

Leaf-01# show ip pim neighbor
PIM Neighbor Status for VRF "default"
Neighbor        Interface            Uptime    Expires   DR       Bidir-  BFD    ECMP Redirect
                                                         Priority Capable State  Capable
10.0.0.1        Ethernet1/1          00:04:53  00:01:38  1        yes     n/a    no
10.0.0.29       Ethernet1/2          00:04:52  00:01:37  1        yes     n/a    no

show ip pim rp

Ensure that the RP’s are setup correctly

Leaf-01# show ip pim rp
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

RP: 100.100.100.100, (0),
 uptime: 00:04:48   priority: 255,
 RP-source: (local), Null-Register Packing disabled

 group ranges:
 225.0.0.0/8

show ip pim group range

Verify group configuration for RPs

Spine-01# show ip pim group-range 225.0.0.0
PIM Group-Range Configuration for VRF "default"
Group-range        Action Mode  RP-address      Shared-tree-range Origin

225.0.0.0/8        -      ASM   100.100.100.100 -                 Static

Show route for Anycast RP

Ensure that the route exists in the routing table for the anycast RP

Leaf-01# show ip route 100.100.100.100
IP Route Table for VRF "default"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>

100.100.100.100/32, ubest/mbest: 2/0
    *via 10.0.0.1, Eth1/1, [110/41], 00:06:58, ospf-UNDERLAY, intra
    *via 10.0.0.29, Eth1/2, [110/41], 00:06:57, ospf-UNDERLAY, intra

Perfect, now we can check Multicast off of the list! In the next one, we are going to configure BGP. Let me know what you think so far either in the comments below or on my socials! Looking forward to the next one!