First Published Date: July-7-2023
This chapter contains the following sections:
● Information About Configuring VXLAN EVPN and TRM with IPv6 in the Multicast Underlay
● Guidelines and Limitations for VXLAN EVPN and TRM with IPv6 in the Multicast Underlay
● Configuring VXLAN EVPN and TRM with IPv6 in the Multicast Underlay
● Example Configuration for VXLAN EVPN and TRM with IPv6 in the Multicast Underlay
● Verifying VXLAN EVPN and TRM with IPv6 Multicast Underlay
Information About Configuring VXLAN EVPN and TRM with IPv6 Multicast Underlay
Cisco NX-OS Release 10.3(99w)F supports VXLAN with IPv6 Multicast in the Underlay. Hosts in the overlay can be IPv4 or IPv6. This requires IPv6 versions of the unicast routing protocols and utilizing IPv6 multicast in the underlay (PIMv6). Any multi-destination overlay traffic (such as TRM, BUM) can use the IPv6 multicast underlay.
The above topology shows four leafs and two spines in a VXLAN EVPN fabric. The underlay is IPv6 Multicast running PIMv6. RP is positioned in the spine with anycast RP.
Guidelines and Limitations for VXLAN EVPN and TRM with IPv6 Multicast Underlay
VXLAN EVPN and TRM with IPv6 Multicast Underlay has the following guidelines and limitations:
● Spine-based static RP is supported in underlay.
● PIMv6 ASM (sparse mode) is supported in underlay.
● Underlay IPv6 Multicast is supported.
● For overlay traffic, each Cisco Nexus 9000 leaf is an RP.
Configuring VXLAN EVPN and TRM with IPv6 Multicast Underlay
Configuring IPv6 multicast underlay in the VXLAN fabric involves the following:
● Configuring L2-VNI based multicast group in underlay.
● Configuring L3-VNI based multicast group in underlay.
● Enabling PIMv6 for underlay.
Configuring L2-VNI based multicast group in underlay:
Under NVE configuration on a leaf, IPv6 multicast group (IPv6) is configured for each L2-VNI (VLAN).
SUMMARY STEPS
1. configure terminal
2. interface nve1
3. member vni <vni>
4. mcast-group ipv6-prefix
5. exit
DETAILED STEPS
Procedure
|
Command or Action |
Purpose |
Step 1 |
configure terminal Example: switch# configure terminal |
Enter configuration mode. |
Step 2 |
interface nve1 Example: switch(config)# interface nve 1 |
Configure the NVE interface. |
Step 3 |
member vni <vni> Example: switch(config-if-nve)# member vni 10501 |
Configure the Layer 2 virtual network identifier. |
Step 4 |
mcast-group ipv6-prefix Example: switch(config-if-nve-vni)# mcast-group ff10::1 |
Builds the default multicast distribution tree for the Layer 2 VNI. |
Step 5 |
exit Example: switch(config-if-nve-vni)# exit |
Exits the command mode. |
Configuring L3-VNI based multicast group in underlay:
IPv6 multicast group (IPv6) is configured for each L3-VNI (VRF).
SUMMARY STEPS
1. configure terminal
2. interface nve1
3. member vni <vni> associate-vrf
4. mcast-group <ipv6-prefix>
5. exit
DETAILED STEPS
Procedure
|
Command or Action |
Purpose |
Step 1 |
configure terminal Example: switch# configure terminal |
Enter configuration mode. |
Step 2 |
interface nve1 Example: switch(config)# interface nve 1 |
Configure the NVE interface. |
Step 3 |
member vni vni associate-vrf Example: switch(config-if-nve)# member vni 50001 associate-vrf |
Associates L3VNI to VRF. |
Step 4 |
mcast-group ipv6-prefix Example: switch(config-if-nve-vni)# mcast-group ff10:0:0:1::1 |
Builds the default multicast distribution tree for the VRF VNI (Layer 3 VNI used for TRM). |
Step 5 |
exit Example: switch(config-if-nve-vni)# exit |
Exits command mode. |
Enabling PIMv6 for underlay:
PIMv6 in underlay is configured as follows:
SUMMARY STEPS
1. configure terminal
2. interface loopback <number>
3. ipv6 address <ipv6-prefix>
4. ipv6 pim sparse-mode
5. interface nve1
6. source-interface loopback <number>
7. exit
DETAILED STEPS
Procedure
|
Command or Action |
Purpose |
Step 1 |
configure terminal Example: switch# configure terminal |
Enters global configuration mode. |
Step 2 |
interface loopback number Example: switch(config)# interface loopback 1 |
Configures an interface loopback. This example configures interface loopback 1. |
Step 3 |
ipv6 address ipv6-prefix Example: switch(config-if)# ipv6 address 11:0:0:1::1/128 |
Configures an IP address for this interface. It should be a unique IP address that helps to identify this router. |
Step 4 |
ipv6 pim sparse-mode Example:switch(config-if)# ipv6 pim sparse-mode |
Enable PIM6 sparse mode. |
Step 5 |
interface nve1 Example: switch(config-if-nve)# interface nve 1 |
Configure the NVE interface. |
Step 6 |
source-interface loopback number Example: switch(config-if-nve)# source-interface loopback 1 |
Configures an source interface loopback. |
Step 7 |
exit Example: switch(config-if-nve)# exit |
Exits command mode. |
Note:
For the PIMv6 configuration see the Cisco Nexus 9000 Series NX-OS Multicast Routing Configuration Guide, Release 10.3(x).
For the TRM configuration see the Cisco Nexus 9000 Series NX-OS VXLAN Configuration Guide, Release 10.3(x).
Example Configuration for VXLAN EVPN and TRM with IPv6 Multicast Underlay
In the following section, the sample configuration for the leaf, spine and RP are shown.
Leaf - sample configuration of IPv6 multicast underlay:
NVE Configuration
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback1
member vni 10501
mcast-group ff10::1
member vni 50001 associate-vrf
mcast-group ff10:0:0:1::1
PIMv6 Configuration
feature pim6
ipv6 pim rp-address 101:101:101:101::101 group-list ff00::/8
interface loopback1
ipv6 address 172:172:16:1::1/128
ipv6 pim sparse-mode
interface Ethernet1/27
ipv6 address 27:50:1:1::1/64
ospfv3 hello-interval 1
ipv6 router ospfv3 v6u area 0.0.0.0
ipv6 pim sparse-mode
no shutdown
BGP Configuration
router bgp 100
router-id 172.16.1.1
timers bgp 1 3
bestpath as-path multipath-relax
reconnect-interval 1
address-family ipv4 unicast
maximum-paths 64
maximum-paths ibgp 64
address-family ipv6 unicast
maximum-paths 64
maximum-paths ibgp 64
address-family ipv4 mvpn
retain route-target all
address-family l2vpn evpn
maximum-paths mixed 64
retain route-target all
neighbor 172:17:1:1::1
remote-as 100
update-source loopback0
address-family ipv4 mvpn
allowas-in 3
send-community
send-community extended
address-family ipv6 mvpn
allowas-in 3
send-community
send-community extended
address-family l2vpn evpn
allowas-in 3
send-community
send-community extended
neighbor 172:17:2:2::1
remote-as 100
update-source loopback0
address-family ipv4 mvpn
allowas-in 3
send-community
send-community extended
address-family ipv6 mvpn
allowas-in 3
send-community
send-community extended
address-family l2vpn evpn
allowas-in 3
send-community
send-community extended
vrf VRF1
reconnect-interval 1
address-family ipv4 unicast
network 150.1.1.1/32
advertise l2vpn evpn
redistribute hmm route-map hmmAdv
evpn
vni 10501 l2
rd auto
route-target import auto
route-target export auto
vrf context VRF1
rd auto
address-family ipv4 unicast
route-target both auto
route-target both auto mvpn
route-target both auto evpn
Spine - sample configuration of IPv6 multicast underlay:
NVE Configuration
nv overlay evpn
PIMv6 Configuration
feature pim6
ipv6 pim rp-address 101:101:101:101::101 group-list ff00::/8
ipv6 pim anycast-rp 101:101:101:101::101 102:102:102:102::102
ipv6 pim anycast-rp 101:101:101:101::101 103:103:103:103::103
interface loopback101
ipv6 address 101:101:101:101::101/128
ipv6 router ospfv3 v6u area 0.0.0.0
ipv6 pim sparse-mode
interface loopback102
ipv6 address 102:102:102:102::102/128
ipv6 router ospfv3 v6u area 0.0.0.0
ipv6 pim sparse-mode
interface Ethernet1/50/1
ipv6 address 27:50:1:1::2/64
ipv6 pim sparse-mode
no shutdown
BGP Configuration
feature ngmvpn
router bgp 100
router-id 172.17.1.1
timers bgp 1 3
bestpath as-path multipath-relax
reconnect-interval 1
address-family ipv4 unicast
maximum-paths 64
maximum-paths ibgp 64
address-family ipv6 unicast
maximum-paths 64
maximum-paths ibgp 64
address-family ipv4 mvpn
retain route-target all
address-family l2vpn evpn
maximum-paths mixed 64
retain route-target all
neighbor 172:16:1:1::1
remote-as 100
update-source loopback0
address-family ipv4 mvpn
allowas-in 3
send-community
send-community extended
route-reflector-client
route-map permitall out
address-family ipv6 mvpn
allowas-in 3
send-community
send-community extended
route-reflector-client
route-map permitall out
address-family l2vpn evpn
allowas-in 3
send-community
send-community extended
route-reflector-client
route-map permitall out
Verifying VXLAN EVPN and TRM with IPv6 Multicast Underlay
The following example is used to verify the status of the IPv6 Multicast Underlay configuration.
switch(config)# show run interface nve 1
!Command: show running-config interface nve1
!Running configuration last done at: Wed Jul 5 10:03:58 2023
!Time: Wed Jul 5 10:04:01 2023
version 10.3(99w) Bios:version 01.08
interface nve1
no shutdown
host-reachability protocol bgp
source-interface loopback1
member vni 10501
mcast-group ff10::1
member vni 50001 associate-vrf
mcast-group ff10:0:0:1::1
Use the following command for verifying PIMv6 ASM configuration:
switch(config)# show ipv6 mroute
IPv6 Multicast Routing Table for VRF "default"
(*, ff10::1/128), uptime: 05:20:19, nve pim6 ipv6
Incoming interface: Ethernet1/36, RPF nbr: fe80::23a:9cff:fe23:8367
Outgoing interface list: (count: 1)
nve1, uptime: 05:20:19, nve
(172:172:16:1::1/128, ff10::1/128), uptime: 05:20:19, nve m6rib pim6 ipv6
Incoming interface: loopback1, RPF nbr: 172:172:16:1::1
Outgoing interface list: (count: 2)
Ethernet1/36, uptime: 01:47:03, pim6
Ethernet1/27, uptime: 04:14:20, pim6
(*, ff10:0:0:1::10/128), uptime: 05:20:18, nve ipv6 pim6
Incoming interface: Ethernet1/36, RPF nbr: fe80::23a:9cff:fe23:8367
Outgoing interface list: (count: 1)
nve1, uptime: 05:20:18, nve
(172:172:16:1::1/128, ff10:0:0:1::10/128), uptime: 05:20:18, nve m6rib ipv6 pim6
Incoming interface: loopback1, RPF nbr: 172:172:16:1::1
Outgoing interface list: (count: 2)
Ethernet1/36, uptime: 04:04:35, pim6
Ethernet1/27, uptime: 04:13:35, pim6
switch(config)# show ipv6 pim neighbor
PIM Neighbor Status for VRF "default"
Neighbor Interface Uptime Expires DR Bidir- BFD ECMP Redirect
Priority Capable State Capable
fe80::23a:9cff:fe28:5e07 Ethernet1/27 20:23:38 00:01:44 1 yes n/a no
Secondary addresses:
27:50:1:1::2
switch(config)# show ipv6 pim rp
PIM RP Status Information for VRF "default"
BSR disabled
BSR RP Candidate policy: None
BSR RP policy: None
RP: 101:101:101:101::101, (0),
uptime: 21:30:43 priority: 255,
RP-source: (local),
group ranges:
ff00::/8