- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
03-EVPN Multicast Configuration Examples | 331.30 KB |
Example: Configuring Layer 2 EVPN multicast
Applicable hardware and software versions
IGMP snooping restrictions and guideline
Distributed EVPN gateway restrictions and guideline
Verifying IGMP snooping and SMET routes
Example: Configuring a Layer 3 multicast DCI for EVPN
Applicable hardware and software versions
Introduction
This document provides EVPN multicast configuration examples.
Prerequisites
The configuration examples were created and verified in a lab environment, and all the devices were started with the factory default configuration. When you are working on a live network, make sure you understand the potential impact of every command on your network.
The following information is provided based on the assumption that you have basic knowledge of EVPN and multicast.
Example: Configuring Layer 2 EVPN multicast
Network configuration
As shown in Figure 1, configure Layer 2 EVPN multicast as follows:
· Configure Leaf 1 and Leaf 2 as distributed EVPN gateways. Assign the multicast receivers attached to Leaf 1 and the multicast source attached to Leaf 2 to VXLAN 10.
· Configure Leaf 1, Leaf 2, and the RR to set up BGP EVPN peer relationships in AS 65000 of the overlay network. Configure the RR to reflect BGP EVPN routes between Leaf 1 and Leaf 2.
· Configure OSPF on Leaf 1, Leaf 2, and the RR for them to have Layer 3 connectivity on the underlay network.
Analysis
To enable Layer 2 multicast forwarding in the EVPN network, perform the following tasks:
· Enable IGMP snooping on the leaf devices for them to snoop the IGMP membership reports sent by the multicast receivers.
· For the leaf devices to create Layer 2 multicast forwarding entries, configure the leaf devices to advertise multicast group join requests through selective multicast Ethernet tag (SMET) routes.
Applicable hardware and software versions
The following matrix shows the hardware and software versions to which this configuration example is applicable:
Hardware |
Software version |
S12500G-AF switch series |
Release 7639P01 and later |
S10500X switch series |
Release 7639P01 and later |
S10500 switch series |
Release 7639P01 and later |
S7500E-X switch series |
Release 7639P01 and later |
S7500E switch series |
Release 7639P01 and later |
S7500X switch series |
Release 7639P01 and later |
Restrictions and guidelines
IGMP snooping restrictions and guideline
IGMP snooping configuration in a VSI takes effect only on the member ports in the VSI.
In an EVPN VXLAN network, the IGMP snooping querier in a VSI does not include VLAN tags in IGMP general queries. As a best practice, do not enable the IGMP snooping querier in a VSI if the VSI uses the Ethernet access mode.
Distributed EVPN gateway restrictions and guideline
When you configure VSI interfaces on distributed EVPN gateways, follow these restrictions and guidelines:
· Do not assign reserved MAC addresses to VSI interfaces.
· You must assign the same MAC address to the VSI interfaces with L3 VXLAN IDs associated
· If you use the mac-address command to modify the MAC address of a L3 VXLAN ID associated VSI interface on a DR system, also modify the MAC address of the other L3 VXLAN ID associated VSI interfaces. These VSI interfaces must use the same MAC address.
· If a distributed EVPN gateway is connected to an IPv6 site, make sure the VSI interfaces with L3 VXLAN IDs associated use the same link-local address.
· On different distributed EVPN gateways, the VSI interface of a VXLAN must use the same IP address and MAC address to provide services.
· The L3 VXLAN ID of a VSI interface cannot be the same as the VXLAN ID specified by using the mapping vni command.
· As a best practice, do not use ARP flood suppression and local proxy ARP or ND flood suppression and local ND proxy together on distributed EVPN gateways. If both ARP flood suppression and local proxy ARP are enabled on a distributed EVPN gateway, only local proxy ARP takes effect. If both ND flood suppression and local ND proxy are enabled on a distributed EVPN gateway, only local ND proxy takes effect.
Procedures
Configuring Leaf 1
Assigning IP addresses and configuring unicast routing
# Assign IP addresses to loopback interfaces and GigabitEthernet 1/0/3.
<Sysname> system-view
[Sysname] sysname Leaf1
[Leaf1] interface loopback 0
[Leaf1-LoopBack0] ip address 172.16.0.1 255.255.255.255
[Leaf1-LoopBack0] quit
[Leaf1] interface ten-gigabitethernet 1/0/3
[Leaf1-GigabitEthernet1/0/3] port link-mode route
[Leaf1-GigabitEthernet1/0/3] ip address 12.1.1.1 24
[Leaf1-GigabitEthernet1/0/3] quit
# Configure OSPF for the devices to communicate at Layer 3 over the underlay network.
[Leaf1] router id 172.16.0.1
[Leaf1] ospf
[Leaf1-ospf-1] area 0
[Leaf1-ospf-1-area-0.0.0.0] network 172.16.0.1 0.0.0.0
[Leaf1-ospf-1-area-0.0.0.0] network 12.1.1.1 0.0.0.255
[Leaf1-ospf-1-area-0.0.0.0] quit
[Leaf1-ospf-1] quit
Configuring a VPN instance
# Create VPN instance vpn1 and configure an RD and route targets for it.
[Leaf1] ip vpn-instance vpn1
[Leaf1-vpn-instance-vpn1] route-distinguisher 1:1
[Leaf1-vpn-instance-vpn1] address-family ipv4
[Leaf1-vpn-ipv4-vpn1] vpn-target 2:2 import-extcommunity
[Leaf1-vpn-ipv4-vpn1] vpn-target 2:2 export-extcommunity
[Leaf1-vpn-ipv4-vpn1] quit
[Leaf1-vpn-instance-vpn1] address-family evpn
[Leaf1-vpn-evpn-vpn1] vpn-target 1:1 import-extcommunity
[Leaf1-vpn-evpn-vpn1] vpn-target 1:1 export-extcommunity
[Leaf1-vpn-evpn-vpn1] quit
[Leaf1-vpn-instance-vpn1] quit
Configuring a VSI interface
# Configure VSI interface 1.
[Leaf1] interface vsi-interface 1
[Leaf1-Vsi-interface1] ip binding vpn-instance vpn1
[Leaf1-Vsi-interface1] ip address 10.255.255.254 255.0.0.0
[Leaf1-Vsi-interface1] mac-address 0000-0001-0001
[Leaf1-Vsi-interface1] distributed-gateway local
[Leaf1-Vsi-interface1] quit
Configuring an EVPN instance
# Enable L2VPN.
[Leaf1] l2vpn enable
# Disable remote MAC address learning and remote ARP learning.
[Leaf1] vxlan tunnel mac-learning disable
[Leaf1] vxlan tunnel arp-learning disable
# Create VXLAN 10 on VSI vsi1, and specify VSI interface 1 as the gateway for the VXLAN.
[Leaf1] vsi vsi1
[Leaf1-vsi-vsi1] gateway vsi-interface 1
[Leaf1-vsi-vsi1] statistics enable
[Leaf1-vsi-vsi1] arp suppression enable
[Leaf1-vsi-vsi1] vxlan 10
[Leaf1-vsi-vsi1-vxlan-10] quit
# Configure an EVPN instance using VXLAN encapsulation, and configure an RD and route targets for it.
[Leaf1-vsi-vsi1] evpn encapsulation vxlan
[Leaf1-vsi-vsi1-evpn-vxlan] route-distinguisher auto
[Leaf1-vsi-vsi1-evpn-vxlan] vpn-target auto export-extcommunity
[Leaf1-vsi-vsi1-evpn-vxlan] vpn-target auto import-extcommunity
[Leaf1-vsi-vsi1-evpn-vxlan] quit
[Leaf1-vsi-vsi1] quit
Assigning L3 VXLAN IDs
# Assign a L3 VXLAN ID to VSI interface 2.
[Leaf1] interface vsi-interface 2
[Leaf1-Vsi-interface2] ip binding vpn-instance vpn1
[Leaf1-Vsi-interface2] l3-vni 10000
[Leaf1-Vsi-interface2] quit
Configuring BGP EVPN route advertisement
# Configure Leaf 1 to establish a BGP EVPN peer relationship with the RR.
[Leaf1] bgp 65000
[Leaf1-bgp-default] peer 172.16.10.1 as-number 65000
[Leaf1-bgp-default] peer 172.16.10.1 connect-interface loopback 0
[Leaf1-bgp-default] peer 172.16.10.1 password simple overlay
[Leaf1-bgp-default] address-family l2vpn evpn
[Leaf1-bgp-default-evpn] peer 172.16.10.1 enable
[Leaf1-bgp-default-evpn] quit
[Leaf1-bgp-default] quit
Mapping ACs to the VSI
# On GigabitEthernet 1/0/1, create Ethernet service instance 1 and map it to VSI vsi1.
[Leaf1] interface ten-gigabitethernet 1/0/1
[Leaf1-GigabitEthernet1/0/1] port link-mode bridge
[Leaf1-GigabitEthernet1/0/1] port link-type trunk
[Leaf1-GigabitEthernet1/0/1] undo port trunk permit vlan 1
[Leaf1-GigabitEthernet1/0/1] port trunk permit vlan 1000
[Leaf1-GigabitEthernet1/0/1] service-instance 1
[Leaf1-GigabitEthernet1/0/1-srv1] encapsulation s-vid 1000
[Leaf1-GigabitEthernet1/0/1-srv1] statistics enable
[Leaf1-GigabitEthernet1/0/1-srv1] xconnect vsi vsi1
[Leaf1-GigabitEthernet1/0/1-srv1] quit
[Leaf1-GigabitEthernet1/0/1] quit
# On GigabitEthernet 1/0/2, create Ethernet service instance 1 and map it to VSI vsi1.
[Leaf1] interface ten-gigabitethernet 1/0/2
[Leaf1-GigabitEthernet1/0/2] port link-mode bridge
[Leaf1-GigabitEthernet1/0/2] port link-type trunk
[Leaf1-GigabitEthernet1/0/2] undo port trunk permit vlan 1
[Leaf1-GigabitEthernet1/0/2] port trunk permit vlan 1001
[Leaf1-GigabitEthernet1/0/2] service-instance 1
[Leaf1-GigabitEthernet1/0/2-srv1] encapsulation s-vid 1001
[Leaf1-GigabitEthernet1/0/2-srv1] statistics enable
[Leaf1-GigabitEthernet1/0/2-srv1] xconnect vsi vsi1
[Leaf1-GigabitEthernet1/0/2-srv1] quit
[Leaf1-GigabitEthernet1/0/2] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[Leaf1] igmp-snooping
[Leaf1-igmp-snooping] global-enable
[Leaf1-igmp-snooping] quit
# Configure IGMP snooping for VSI vsi1.
[Leaf1] vsi vsi1
[Leaf1-vsi-vsi1] igmp-snooping enable
[Leaf1-vsi-vsi1] igmp-snooping drop-unknown
[Leaf1-vsi-vsi1] igmp-snooping proxy enable
# Configure Leaf 2 as an IGMP querier.
[Leaf1-vsi-vsi1] igmp-snooping querier
[Leaf1-vsi-vsi1] quit
Configuring Leaf 2
Assigning IP addresses and configuring unicast routing
# Assign IP addresses to loopback interfaces and GigabitEthernet 1/0/3.
<Sysname> system-view
[Sysname] sysname Leaf2
[Leaf2] interface loopback 0
[Leaf2-LoopBack0] ip address 172.16.0.2 255.255.255.255
[Leaf2-LoopBack0] quit
[Leaf2] interface ten-gigabitethernet 1/0/3
[Leaf2-GigabitEthernet1/0/3] port link-mode route
[Leaf2-GigabitEthernet1/0/3] ip address 13.1.1.2 24
[Leaf2-GigabitEthernet1/0/3] quit
# Configure OSPF for the devices to communicate at Layer 3 over the underlay network.
[Leaf2] router id 172.16.0.2
[Leaf2] ospf
[Leaf2-ospf-1] area 0
[Leaf2-ospf-1-area-0.0.0.0] network 172.16.0.2 0.0.0.0
[Leaf2-ospf-1-area-0.0.0.0] network 13.1.1.2 0.0.0.255
[Leaf2-ospf-1-area-0.0.0.0] quit
[Leaf2-ospf-1] quit
Configuring a VPN instance
# Create VPN instance vpn1 and configure an RD and route targets for it.
[Leaf2] ip vpn-instance vpn1
[Leaf2-vpn-instance-vpn1] route-distinguisher 1:1
[Leaf2-vpn-instance-vpn1] address-family ipv4
[Leaf2-vpn-ipv4-vpn1] vpn-target 2:2 import-extcommunity
[Leaf2-vpn-ipv4-vpn1] vpn-target 2:2 export-extcommunity
[Leaf2-vpn-ipv4-vpn1] quit
[Leaf2-vpn-instance-vpn1] address-family evpn
[Leaf2-vpn-evpn-vpn1] vpn-target 1:1 import-extcommunity
[Leaf2-vpn-evpn-vpn1] vpn-target 1:1 export-extcommunity
[Leaf2-vpn-evpn-vpn1] quit
[Leaf2-vpn-instance-vpn1] quit
Configuring a VSI interface
# Configure VSI interface 1.
[Leaf2] interface vsi-interface 1
[Leaf2-Vsi-interface1] ip binding vpn-instance vpn1
[Leaf2-Vsi-interface1] ip address 10.255.255.254 255.0.0.0
[Leaf2-Vsi-interface1] mac-address 0000-0001-0001
[Leaf2-Vsi-interface1] distributed-gateway local
[Leaf2-Vsi-interface1] quit
Configuring an EVPN instance
# Enable L2VPN.
[Leaf2] l2vpn enable
# Disable remote MAC address learning and remote ARP learning.
[Leaf2] vxlan tunnel mac-learning disable
[Leaf2] vxlan tunnel arp-learning disable
# Create VXLAN 10 on VSI vsi1, and specify VSI interface 1 as the gateway for the VXLAN.
[Leaf2] vsi vsi1
[Leaf2-vsi-vsi1] gateway vsi-interface 1
[Leaf2-vsi-vsi1] statistics enable
[Leaf2-vsi-vsi1] arp suppression enable
[Leaf2-vsi-vsi1] vxlan 10
[Leaf2-vsi-vsi1-vxlan-10] quit
# Configure an EVPN instance using VXLAN encapsulation, and configure an RD and route targets for it.
[Leaf2-vsi-vsi1] evpn encapsulation vxlan
[Leaf2-vsi-vsi1-evpn-vxlan] route-distinguisher auto
[Leaf2-vsi-vsi1-evpn-vxlan] vpn-target auto export-extcommunity
[Leaf2-vsi-vsi1-evpn-vxlan] vpn-target auto import-extcommunity
[Leaf2-vsi-vsi1-evpn-vxlan] quit
[Leaf2-vsi-vsi1] quit
Assigning L3 VXLAN IDs
# Assign a L3 VXLAN ID to VSI interface 2.
[Leaf2] interface vsi-interface 10000
[Leaf2-Vsi-interface10000] ip binding vpn-instance vpn1
[Leaf2-Vsi-interface10000] l3-vni 10000
[Leaf2-Vsi-interface10000] quit
Configuring BGP EVPN route advertisement
# Configure Leaf 2 to establish a BGP EVPN peer relationship with the RR.
[Leaf2] bgp 65000
[Leaf2-bgp-default] peer 172.16.10.1 as-number 65000
[Leaf2-bgp-default] peer 172.16.10.1 connect-interface loopback 0
[Leaf2-bgp-default] peer 172.16.10.1 password simple overlay
[Leaf2-bgp-default] address-family l2vpn evpn
[Leaf2-bgp-default-evpn] peer 172.16.10.1 enable
[Leaf2-bgp-default-evpn] quit
[Leaf2-bgp-default] quit
Mapping ACs to the VSI
# On GigabitEthernet 1/0/1, create Ethernet service instance 1 and map it to VSI vsi1.
[Leaf2] interface ten-gigabitethernet 1/0/1
[Leaf2-GigabitEthernet1/0/1] port link-mode bridge
[Leaf2-GigabitEthernet1/0/1] port link-type trunk
[Leaf2-GigabitEthernet1/0/1] undo port trunk permit vlan 1
[Leaf2-GigabitEthernet1/0/1] port trunk permit vlan 1002
[Leaf2-GigabitEthernet1/0/1] storm-constrain control shutdown
[Leaf2-GigabitEthernet1/0/1] service-instance 1
[Leaf2-GigabitEthernet1/0/1-srv1] encapsulation s-vid 1002
[Leaf2-GigabitEthernet1/0/1-srv1] statistics enable
[Leaf2-GigabitEthernet1/0/1-srv1] xconnect vsi vsi1
[Leaf2-GigabitEthernet1/0/1-srv1] quit
[Leaf2-GigabitEthernet1/0/1] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[Leaf1] igmp-snooping
[Leaf1-igmp-snooping] global-enable
[Leaf1-igmp-snooping] quit
# Configure IGMP snooping for VSI vsi1.
[Leaf2] vsi vsi1
[Leaf2-vsi-vsi1] igmp-snooping enable
[Leaf2-vsi-vsi1] igmp-snooping drop-unknown
[Leaf2-vsi-vsi1] igmp-snooping proxy enable
# Configure Leaf 2 as an IGMP querier.
[Leaf2-vsi-vsi1] igmp-snooping querier
[Leaf2-vsi-vsi1] quit
Configuring the RR
Assigning IP addresses and configuring unicast routing
# Assign IP addresses to loopback interfaces, GigabitEthernet 1/0/1, and GigabitEthernet 1/0/2.
<Sysname> system-view
[Sysname] sysname RR
[RR] interface loopback 0
[RR-LoopBack0] ip address 172.16.10.1 255.255.255.255
[RR-LoopBack0] quit
[RR] interface ten-gigabitethernet 1/0/1
[RR-GigabitEthernet1/0/1] port link-mode route
[RR-GigabitEthernet1/0/1] ip address 12.1.1.3 24
[RR-GigabitEthernet1/0/1] quit
[RR] interface ten-gigabitethernet 1/0/2
[RR-GigabitEthernet1/0/2] port link-mode route
[RR-GigabitEthernet1/0/2] ip address 13.1.1.3 24
[RR-GigabitEthernet1/0/2] quit
# Configure OSPF for the devices to communicate at Layer 3 over the underlay network.
[RR] router id 172.16.10.1
[RR] ospf
[RR-ospf-1] area 0
[RR-ospf-1-area-0.0.0.0] network 172.16.10.1 0.0.0.0
[RR-ospf-1-area-0.0.0.0] network 12.1.1.3 0.0.0.255
[RR-ospf-1-area-0.0.0.0] network 13.1.1.3 0.0.0.255
[RR-ospf-1-area-0.0.0.0] quit
[RR-ospf-1] quit
Configuring BGP EVPN route advertisement
# Assign Leaf 1 and Leaf 2 to IBGP peer group leaf.
[RR] bgp 65000
[RR-bgp-default] group leaf internal
[RR-bgp-default] peer leaf connect-interface loopback 0
[RR-bgp-default] peer leaf password simple overlay
[RR-bgp-default] peer 172.16.0.1 group leaf
[RR-bgp-default] peer 172.16.0.2 group leaf
# Configure the device as an RR, configure it to establish BGP EVPN peer relationships with IBGP peer group leaf, and disable route target filtering of received BGP EVPN routes.
[RR-bgp-default] address-family l2vpn evpn
[RR-bgp-default-evpn] undo policy vpn-target
[RR-bgp-default-evpn] peer leaf enable
[RR-bgp-default-evpn] peer leaf reflect-client
[RR-bgp-default-evpn] quit
Verifying the configuration
Verifying routing information
# Verify that the leaf devices and the RR have learned one another's OSPF routes and can communicate at Layer 3 over the underlay network.
[Leaf1] display ip routing-table
Destinations : 16 Routes : 16
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
12.1.1.0/24 Direct 0 0 12.1.1.1 GE1/0/3
12.1.1.0/32 Direct 0 0 12.1.1.1 GE1/0/3
12.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
12.1.1.255/32 Direct 0 0 12.1.1.1 GE1/0/3
13.1.1.0/24 O_INTRA 10 2 12.1.1.3 GE1/0/3
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
172.16.0.1/32 Direct 0 0 127.0.0.1 InLoop0
172.16.0.2/32 O_INTRA 10 2 12.1.1.3 GE1/0/3
172.16.10.1/32 O_INTRA 10 1 12.1.1.3 GE1/0/3
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
# Verify that the leaf devices and the RR have established BGP EVPN peer relationships with one another.
[Leaf1] display bgp peer l2vpn evpn
BGP local router ID: 172.16.0.1
Local AS number: 65000
Total number of peers: 1 Peers in established state: 1
* - Dynamically created peer
^ - Peer created through link-local address
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
172.16.10.1 65000 24 27 0 4 00:14:59 Established
Verifying VSI configuration
# Verify that VXLAN tunnels and ACs are correctly mapped to VSI vsi1.
[Leaf1] display l2vpn vsi verbose
VSI Name: Auto_L3VNI10000_2
VSI Index : 1
VSI State : Down
MTU : 1500
Bandwidth : -
Broadcast Restrain : 5120 kbps
Multicast Restrain : 5120 kbps
Unknown Unicast Restrain: 5120 kbps
MAC Learning : Enabled
MAC Table Limit : -
MAC Learning rate : Unlimited
Drop Unknown : Disabled
Flooding : Enabled
Statistics : Disabled
Gateway Interface : VSI-interface 2
VXLAN ID : 10000
VSI Name: vsi1
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : 5120 kbps
Multicast Restrain : 5120 kbps
Unknown Unicast Restrain: 5120 kbps
MAC Learning : Enabled
MAC Table Limit : -
MAC Learning rate : Unlimited
Drop Unknown : Disabled
Flooding : Enabled
Statistics : Enabled
Input Statistics :
Octets :0
Packets :0
Errors :0
Discards :0
Output Statistics :
Octets :0
Packets :0
Errors :0
Discards :0
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel0 0x5000000 UP Auto Disabled
ACs:
AC Link ID State Type
GE1/0/1 srv1 0 Up Manual
GE1/0/2 srv1 1 Up Manual
Verifying IGMP snooping and SMET routes
# Verify that IGMP snooping is enabled on a per-VSI basis on the leaf devices.
[Leaf1] display igmp-snooping vsi vsi1
IGMP snooping information: VSI vsi1
IGMP snooping: Enabled
Forwarding mode: IP
Drop-unknown: Enabled
Version: 2
Host-aging-time: 260s
Router-aging-time: 260s
Max-response-time: 10s
Last-member-query-interval: 1s
Querier: Enabled (IP:10.255.255.254, Expires: 00:01:39)
Querier-election: Disabled
Query-interval: 125s
General-query source IP: 10.255.255.254
Special-query source IP: 10.255.255.254
Report source IP: 10.255.255.254
Leave source IP: 10.255.255.254
Proxy: Enabled
IPP: -(Link ID: 0xffff)
# Verify that Leaf 1 has a dynamic IGMP snooping group entry for multicast group (0.0.0.0, 225.0.0.1).
[Leaf1] display igmp-snooping group
Total 1 entries.
VSI vsi1: Total 1 entries.
(0.0.0.0, 225.0.0.1)
Host ports (1 in total):
GE1/0/1 (Link ID 0) (00:03:42)
# Verify that Leaf 1 has created an SMET route.
[Leaf1] display evpn route smet
VSI name: vsi1
Source address :
Group address : 225.0.0.1
Local version : v2
ACs :
AC Link ID Flags
GE1/0/1 srv1 0 Local
# Verify that Leaf 2 has received the SMET route created by Leaf 1.
[Leaf2] display evpn route smet
VSI name: vsi1
Source address :
Group address : 225.0.0.1
Local version : -
Peers :
Nexthop Tunnel name Link ID Remote version
172.16.0.1 Tunnel0 0x5000000 v2
# Verify that Leaf 1 has a dynamic IGMP snooping group entry for multicast group (0.0.0.0, 225.0.0.1).
[Leaf2] display igmp-snooping evpn-group
Total 1 entries.
VSI vsi1: Total 1 entries.
(0.0.0.0, 225.0.0.1)
Host ports (1 in total):
Tun0 (VXLAN ID 10)
Configuration files
· Leaf 1:
#
sysname Leaf1
#
ip vpn-instance vpn1
route-distinguisher 1:1
#
address-family ipv4
vpn-target 2:2 import-extcommunity
vpn-target 2:2 export-extcommunity
#
address-family evpn
vpn-target 1:1 import-extcommunity
vpn-target 1:1 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 172.16.0.1
#
ospf 1
area 0.0.0.0
network 12.1.1.0 0.0.0.255
network 172.16.0.1 0.0.0.0
#
igmp-snooping
global-enable
#
l2vpn enable
vxlan tunnel arp-learning disable
#
vsi vsi1
gateway vsi-interface 1
statistics enable
arp suppression enable
vxlan 10
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto export-extcommunity
vpn-target auto import-extcommunity
igmp-snooping enable
igmp-snooping drop-unknown
igmp-snooping querier
igmp-snooping proxy enable
#
interface GigabitEthernet1/0/1
port link-mode bridge
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1000
#
service-instance 1
encapsulation s-vid 1000
statistics enable
xconnect vsi vsi1
#
interface GigabitEthernet1/0/2
port link-mode bridge
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1001
#
service-instance 1
encapsulation s-vid 1001
statistics enable
xconnect vsi vsi1
#
interface LoopBack0
ip address 172.16.0.1 255.255.255.255
#
interface GigabitEthernet1/0/3
port link-mode route
combo enable copper
ip address 12.1.1.1 255.255.255.0
#
interface Vsi-interface1
ip binding vpn-instance vpn1
ip address 10.255.255.254 255.0.0.0
mac-address 0000-0001-0001
distributed-gateway local
#
interface Vsi-interface2
ip binding vpn-instance vpn1
l3-vni 10000
#
bgp 65000
peer 172.16.10.1 as-number 65000
peer 172.16.10.1 connect-interface LoopBack0
peer 172.16.10.1 password cipher $c$3$cLxsbhBfj0xOTCgIQD1N6k3oJBamRAhZ5d8=
#
address-family l2vpn evpn
peer 172.16.10.1 enable
#
return
· Leaf 2:
#
sysname Leaf2
#
ip vpn-instance vpn1
route-distinguisher 1:1
#
address-family ipv4
vpn-target 2:2 import-extcommunity
vpn-target 2:2 export-extcommunity
#
address-family evpn
vpn-target 1:1 import-extcommunity
vpn-target 1:1 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 172.16.0.2
#
ospf 1
area 0.0.0.0
network 13.1.1.0 0.0.0.255
network 172.16.0.2 0.0.0.0
#
igmp-snooping
global-enable
#
l2vpn enable
vxlan tunnel arp-learning disable
#
vsi vsi1
gateway vsi-interface 1
statistics enable
arp suppression enable
vxlan 10
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto export-extcommunity
vpn-target auto import-extcommunity
igmp-snooping enable
igmp-snooping drop-unknown
igmp-snooping querier
igmp-snooping proxy enable
#
interface LoopBack0
ip address 172.16.0.2 255.255.255.255
#
interface GigabitEthernet1/0/1
port link-mode bridge
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1002
storm-constrain control shutdown
#
service-instance 1
encapsulation s-vid 1002
statistics enable
xconnect vsi vsi1
#
interface GigabitEthernet1/0/3
port link-mode route
ip address 13.1.1.1 255.255.255.0
#
interface Vsi-interface1
ip binding vpn-instance vpn1
ip address 10.255.255.254 255.0.0.0
mac-address 0000-0001-0001
#
interface Vsi-interface2
ip binding vpn-instance vpn1
l3-vni 10000
#
bgp 65000
peer 172.16.10.1 as-number 65000
peer 172.16.10.1 connect-interface LoopBack0
peer 172.16.10.1 password cipher $c$3$saE3frSy9IuWBPp1FJT7L952YRagb0D9Ioo=
#
address-family l2vpn evpn
peer 172.16.10.1 enable
#
return
· RR:
#
sysname RR
#
router id 172.16.10.1
#
ospf 1
area 0.0.0.0
network 12.1.1.0 0.0.0.255
network 13.1.1.0 0.0.0.255
network 172.16.10.1 0.0.0.0
#
interface LoopBack0
ip address 172.16.10.1 255.255.255.255
#
interface GigabitEthernet1/0/1
port link-mode route
ip address 12.1.1.3 255.255.255.0
#
interface GigabitEthernet1/0/2
port link-mode route
ip address 13.1.1.3 255.255.255.0
#
bgp 65000
group leaf internal
peer leaf connect-interface LoopBack0
peer leaf password cipher $c$3$91PuaavWEYHlqhaILQV5i5G828J3vG+g67I=
peer 172.16.0.1 group leaf
peer 172.16.0.2 group leaf
#
address-family l2vpn evpn
undo policy vpn-target
peer leaf enable
peer leaf reflect-client
#
return
Example: Configuring a Layer 3 multicast DCI for EVPN
Network configuration
Device A and Device B act as leaf devices in DC 1 for user access. Device C acts as the edge device (ED) in DC 1 for DCI. Device E is a leaf device in DC 2 for user access. Device D is an ED in DC 2 for DCI. DC 1 and DC 2 both use L3VNI 1000.
Device A connects to multicast source Source, while Device B and Device E connect to multicast receivers Receiver 1 and Receiver 2, respectively. Multicast source Source is in VXLAN 11, Receiver 1 is in VXLAN 12, and Receiver 2 is in VXLAN 21. Multicast receivers need to receive multicast traffic sent from multicast sources across VXLANs and DCs. To meet this requirement, you must configure Layer 3 forwarding of EVPN multicast traffic within the DCI network.
Figure 2 Network diagram
The configuration data in this example is as shown in Table 1.
Configuration item |
Data |
AS where a DC is located |
· DC 1: AS 100 · DC 2: AS 200 |
Underlay routing protocols within and between DCs |
· DC 1 and DC 2 both run OSPF (process 1, area 0) to enable Layer 3 underlay connectivity within each DC. · DC 1 and DC 2 run the IPv4 BGP unicast routing protocol in between to enable Layer 3 underlay connectivity between the DCs. |
Access VLANs and VXLANs for multicast sources and multicast receivers, and their access locations |
· Multicast source Source belongs to VLAN 11 and VXLAN 11 and accesses Device A through GigabitEthernet 1/0/1 · Receiver 1 belongs to VLAN 12 and VXLAN 12 and accesses Device B through GigabitEthernet 1/0/1 · Receiver 2 belongs to VLAN 21 and VXLAN 21 and accesses Device E through GigabitEthernet 1/0/1 |
VPN instances to which the multicast source and receivers belong |
The multicast source and receivers belong to VPN-instance vpn1 in both DC 1 and DC 2. |
Distributed EVPN gateway address |
· Device A: 192.168.10.1/24 · Device B: 192.168.20.1/24 · Device E: 192.168.40.1/24 |
L3VNI |
Both DC 1 and DC 2 use L3VNI 1000 |
Loopback interface address |
· Device A: Both Loopback0 and Loopback1 use address 1.1.1.1/32. · Device B: Both Loopback0 and Loopback1 use address 2.2.2.2/32. · Device C: Both Loopback0 and Loopback1 use address 77.77.77.77/32. · Device D: Both Loopback0 and Loopback1 use address 4.4.4.4/32. · Device E: Both Loopback0 and Loopback1 use address 88.88.88.88/32. Loopback0 belongs to the public network, while Loopback1 belongs to VPN-instance vpn1. |
Default-group address |
239.0.0.1 in both DC 1 and DC 2. |
Data-group address range |
239.1.1.0/24 in both DC 1 and DC 2. |
Analysis
To forward multicast traffic across VXLANs and across DCs, perform the following tasks:
· Configure MVXLAN in MDT mode on Device A through Device E to enable multicast traffic forwarding across VXLANs.
· Configure PIM-SM on the public network interfaces connecting Device A through Device E to devices within the DC. Enable IGMP snooping on Device E to create multicast forwarding entries. Do not enable PIM-SM on the public network interfaces connecting to devices outside the DC (the interfaces between EDs). If PIM-SM is already enabled on these interfaces, execute the pim bsr-boundary command to configure the EDs as PIM-SM domain borders.
· Enable the DCI feature on EDs (Device C and Device D) to enable cross-DC forwarding of multicast traffic. If the same VPN within different DCs uses different L3VNIs, you must also use the peer re-originated command to configure EVPN route reorigination on the ED.
· Configure a routing policy on the ED to prevent it from transmitting S-PMSI A-D and SMET routes received from other EDs in the same DC and EDs in other DCs to any ED, including those within the same DC and other DCs.
· Use the s-pmsi advertise source-active command on the leaf devices (Device A, Device B, and Device E) to enable advertising active multicast sources through S-PMSI routes. This allows leaf devices and EDs to identify whether the multicast source is inside or outside the DC based on the routes.
Applicable hardware and software versions
The following matrix shows the hardware and software versions to which this configuration example is applicable:
Hardware |
Software version |
S12500G-AF switch series |
Release 7639P01 and later |
S10500X switch series |
Release 7639P01 and later |
S10500 switch series |
Release 7639P01 and later |
S7500E-X switch series |
Release 7639P01 and later |
S7500E switch series |
Release 7639P01 and later |
S7500X switch series |
Release 7639P01 and later |
Restrictions and guidelines
Do not attach a multicast source or multicast receiver to an ED.
If you use dynamic VXLAN-DCI tunnels, execute the dci enable command on the Layer 3 interfaces that interconnect the EDs. This restriction does not apply to static VXLAN-DCI tunnels.
If you execute both the s-pmsi advertise source-active and data-group commands on leaf devices, set the data-delay period to be longer than the frequency of sending the same route update to a peer or peer group. If you fail to do so, BGP might suppress advertisement of the S-PMSI routes for the data group, and traffic will be interrupted during the switchover from the default MDT to the data MDT. To set the data-delay period, use the data-delay command. To set the frequency of sending the same route update to a peer or peer group, use the peer route-update-interval command.
Procedures
Configuring Device A
Configuring the unicast routing protocol for the underlay network
# Assign IP addresses to the loopback interface and VLAN-interface 10.
<Sysname> system-view
[Sysname] sysname DeviceA
[DeviceA] interface loopback 0
[DeviceA-LoopBack0] ip address 1.1.1.1 255.255.255.255
[DeviceA-LoopBack0] quit
[DeviceA] vlan 10
[DeviceA-vlan10] port gigabitethernet 1/0/2
[DeviceA-vlan10] quit
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] ip address 11.1.1.1 24
[DeviceA-Vlan-interface10] quit
# Configure OSPF to make the underlay network routes reachable.
[DeviceA] router id 1.1.1.1
[DeviceA] ospf
[DeviceA-ospf-1] area 0
[DeviceA-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[DeviceA-ospf-1-area-0.0.0.0] network 11.1.1.1 0.0.0.255
[DeviceA-ospf-1-area-0.0.0.0] quit
[DeviceA-ospf-1] quit
Configuring PIM SM on the underlay network
# Enable IP multicast routing and enter MRIB view.
[DeviceA] multicast routing
[DeviceA-mrib] quit
# Enable PIM SM on the loopback interface and VLAN-interface 10.
[DeviceA] interface loopback 0
[DeviceA-LoopBack0] pim sm
[DeviceA-LoopBack0] quit
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] pim sm
[DeviceA-Vlan-interface10] quit
Configuring a VPN instance
# Create VPN instance vpn1 and configure the RD and RT of the VPN instance.
[DeviceA] ip vpn-instance vpn1
[DeviceA-vpn-instance-vpn1] route-distinguisher 1:1
[DeviceA-vpn-instance-vpn1] vpn-target 10:10 20:20 30:30 import-extcommunity
[DeviceA-vpn-instance-vpn1] vpn-target 10:10 export-extcommunity
[DeviceA-vpn-instance-vpn1] quit
Configuring L2VPN
# Enable L2VPN.
[DeviceA] l2vpn enable
# Disable remote MAC address learning and remote ARP learning for VXLANs.
[DeviceA] vxlan tunnel mac-learning disable
[DeviceA] vxlan tunnel arp-learning disable
Configuring the VSI gateway interface
# Configure VSI-interface 1 as the gateway interface and enable PIM SM on this interface.
[DeviceA] interface vsi-interface 1
[DeviceA-Vsi-interface1] ip binding vpn-instance vpn1
[DeviceA-Vsi-interface1] ip address 192.168.10.1 255.255.255.0
[DeviceA-Vsi-interface1] pim sm
[DeviceA-Vsi-interface1] distributed-gateway local
[DeviceA-Vsi-interface1] quit
Configuring a VPN instance
# Create VXLAN 11 on the VSI, and specify VSI-interface 1 as the gateway for the VXLAN.
[DeviceA] vsi vpna
[DeviceA-vsi-vpna] gateway vsi-interface 1
[DeviceA-vsi-vpna] arp suppression enable
[DeviceA-vsi-vpna] vxlan 11
[DeviceA-vsi-vpna-vxlan-11] quit
[DeviceA-vsi-vpna] quit
# Configure an EVPN instance using VXLAN encapsulation, and configure an RD and RT for it.
[DeviceA-vsi-vpna] evpn encapsulation vxlan
[DeviceA-vsi-vpna-evpn-vxlan] route-distinguisher auto
[DeviceA-vsi-vpna-evpn-vxlan] vpn-target auto
[DeviceA-vsi-vpna-evpn-vxlan] quit
[DeviceA-vsi-vpna] quit
Assigning an L3 VXLAN ID (L3VNI) to the VSI interface
# Create VSI-interface 2. Associate VSI-interface 2 with VPN instance vpn1, and configure the L3 VXLAN ID as 1000 for the VPN instance. Enable PIM SM on this interface.
[DeviceA] interface vsi-interface 1
[DeviceA-Vsi-interface2] ip binding vpn-instance vpn1
[DeviceA-Vsi-interface2] l3-vni 1000
[DeviceA-Vsi-interface2] pim sm
[DeviceA-Vsi-interface2] quit
Configuring BGP EVPN routes
# Configure BGP to advertise BGP EVPN routes.
[DeviceA] bgp 100
[DeviceA-bgp-default] peer 77.77.77.77 as-number 100
[DeviceA-bgp-default] peer 77.77.77.77 connect-interface loopback 0
[DeviceA-bgp-default] address-family l2vpn evpn
[DeviceA-bgp-default-evpn] peer 77.77.77.77 enable
[DeviceA-bgp-default-evpn] peer 77.77.77.77 next-hop-local
[DeviceA-bgp-default-evpn] quit
[DeviceA-bgp-default] quit
Mapping ACs to the VSI
# Create VLAN 11.
[DeviceA] vlan 11
[DeviceA-vlan11] quit
# On GigabitEthernet1/0/1, create Ethernet service instance 100 and configure it to match data frames from VLAN 11.
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] port link-type trunk
[DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 1 11
[DeviceA-GigabitEthernet1/0/1] service-instance 100
[DeviceA-GigabitEthernet1/0/1-srv100] encapsulation s-vid 11
# Map Ethernet service instance 100 to VSI vpna.
[DeviceA-GigabitEthernet1/0/1-srv100] xconnect vsi vpna
[DeviceA-GigabitEthernet1/0/1-srv100] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[DeviceA] igmp-snooping
[DeviceA-igmp-snooping] global-enable
[DeviceA-igmp-snooping] quit
# Enable IGMP snooping and IGMP snooping proxy in VSI instance vpna.
[DeviceA] vsi vpna
[DeviceA-vsi-vpna] igmp-snooping enable
[DeviceA-vsi-vpna] igmp-snooping proxy enable
[DeviceA-vsi-vpna] quit
Configuring MVXLAN in MDT mode
# Enable IP multicast routing for VPN-instance vpn1.
[DeviceA] multicast routing vpn-instance vpn1
[DeviceA-mrib-vpn1] quit
# Create the MVXLAN for VPN-instance vpn1 and enter MVXLAN IPv4 address family view. Specify the default group, MVXLAN source interface, and data group range. Enable the device to advertise active multicast sources through S-PMSI routes. Set the switchover delay time from default-MDT to data-MDT to 20 seconds, which is longer than the default time interval for BGP to advertise the same route update, 15 seconds.
[DeviceA] multicast-vpn vxlan vpn-instance vpn1 mode mdt
[DeviceA-mvxlan-vpn1] address-family ipv4
[DeviceA-mvxlan-vpn1-ipv4] default-group 239.0.0.1
[DeviceA-mvxlan-vpn1-ipv4] source loopback 0
[DeviceA-mvxlan-vpn1-ipv4] data-group 239.1.1.0 24
[DeviceA-mvxlan-vpn1-ipv4] s-pmsi advertise source-active
[DeviceA-mvxlan-vpn1-ipv4] data-delay 20
[DeviceA-mvxlan-vpn1-ipv4] quit
[DeviceA-mvxlan-vpn1] quit
# Create interface Loopback1 and configure it.
[DeviceA] interface loopback 1
[DeviceA-LoopBack1] ip binding vpn-instance vpn1
[DeviceA-LoopBack1] ip address 1.1.1.1 32
[DeviceA-LoopBack1] pim sm
[DeviceA-LoopBack1] quit
# Enter VPN instance PIM view, and configure Loopback 1 as a candidate-BSR and candidate-RP in VPN instance vpn1.
[DeviceA] pim vpn-instance vpn1
[DeviceA-pim-vpn1] c-bsr 1.1.1.1
[DeviceA-pim-vpn1] c-rp 1.1.1.1
[DeviceA-pim-vpn1] quit
Configuring Device B
Configuring the unicast routing protocol for the underlay network
# Assign IP addresses to the loopback interface and VLAN-interface 20.
<Sysname> system-view
[Sysname] sysname DeviceB
[DeviceB] interface loopback 0
[DeviceB-LoopBack0] ip address 2.2.2.2 255.255.255.255
[DeviceB-LoopBack0] quit
[DeviceB] vlan 20
[DeviceB-vlan20] port gigabitethernet 1/0/2
[DeviceB-vlan20] quit
[DeviceB] interface vlan-interface 20
[DeviceB-Vlan-interface20] ip address 12.1.1.2 24
[DeviceB-Vlan-interface20] quit
# Configure OSPF to make the underlay network routes reachable.
[DeviceB] router id 2.2.2.2
[DeviceB] ospf
[DeviceB-ospf-1] area 0
[DeviceB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[DeviceB-ospf-1-area-0.0.0.0] network 12.1.1.2 0.0.0.255
[DeviceB-ospf-1-area-0.0.0.0] quit
[DeviceB-ospf-1] quit
Configuring PIM SM on the underlay network
# Enable IP multicast routing and enter MRIB view.
[DeviceB] multicast routing
[DeviceB-mrib] quit
# Enable PIM SM on the loopback interface and VLAN-interface 20.
[DeviceB] interface loopback 0
[DeviceB-LoopBack0] pim sm
[DeviceB-LoopBack0] quit
[DeviceB] interface vlan-interface 20
[DeviceB-Vlan-interface20] pim sm
[DeviceB-Vlan-interface20] quit
Configuring a VPN instance
# Configure the RD and RT for the VPN instance.
[DeviceB] ip vpn-instance vpn1
[DeviceB-vpn-instance-vpn1] route-distinguisher 1:2
[DeviceB-vpn-instance-vpn1] vpn-target 10:10 20:20 30:30 import-extcommunity
[DeviceB-vpn-instance-vpn1] vpn-target 10:10 export-extcommunity
[DeviceB-vpn-instance-vpn1] quit
Configuring L2VPN
# Enable L2VPN.
[DeviceB] l2vpn enable
# Disable remote MAC address learning and remote ARP learning for VXLANs.
[DeviceB] vxlan tunnel mac-learning disable
[DeviceB] vxlan tunnel arp-learning disable
Configuring the VSI gateway interface
# Configure VSI-interface 1 as the gateway interface and enable PIM SM and IGMP on this interface.
[DeviceB] interface vsi-interface 1
[DeviceB-Vsi-interface1] ip binding vpn-instance vpn1
[DeviceB-Vsi-interface1] ip address 192.168.20.1 255.255.255.0
[DeviceB-Vsi-interface1] pim sm
[DeviceB-Vsi-interface1] igmp enable
[DeviceB-Vsi-interface1] distributed-gateway local
[DeviceB-Vsi-interface1] quit
Configuring a VPN instance
# Create VXLAN 12 on the VSI, and specify VSI-interface 1 as the gateway for the VXLAN.
[DeviceB] vsi vpna
[DeviceB-vsi-vpna] gateway vsi-interface 1
[DeviceB-vsi-vpna] arp suppression enable
[DeviceB-vsi-vpna] vxlan 12
[DeviceB-vsi-vpna-vxlan-12] quit
[DeviceB-vsi-vpna] quit
# Configure an EVPN instance using VXLAN encapsulation, and configure an RD and RT for it.
[DeviceB-vsi-vpna] evpn encapsulation vxlan
[DeviceB-vsi-vpna-evpn-vxlan] route-distinguisher auto
[DeviceB-vsi-vpna-evpn-vxlan] vpn-target auto
[DeviceB-vsi-vpna-evpn-vxlan] quit
Assigning an L3 VXLAN ID (L3VNI) to the VSI interface
# Create VSI-interface 2. Associate VSI-interface 2 with VPN instance vpn1, and configure the L3 VXLAN ID as 1000 for the VPN instance. Enable PIM SM on this interface.
[DeviceB] interface vsi-interface 2
[DeviceB-Vsi-interface2] ip binding vpn-instance vpn1
[DeviceB-Vsi-interface2] l3-vni 1000
[DeviceB-Vsi-interface2] pim sm
[DeviceB-Vsi-interface2] quit
Configuring BGP EVPN routes
# Configure BGP to advertise BGP EVPN routes.
[DeviceB] bgp 100
[DeviceB-bgp-default] peer 77.77.77.77 as-number 100
[DeviceB-bgp-default] peer 77.77.77.77 connect-interface loopback 0
[DeviceB-bgp-default] address-family l2vpn evpn
[DeviceB-bgp-default-evpn] peer 77.77.77.77 enable
[DeviceB-bgp-default-evpn] peer 77.77.77.77 next-hop-local
[DeviceB-bgp-default-evpn] quit
[DeviceB-bgp-default] quit
Mapping ACs to the VSI
# Create VLAN 12.
[DeviceB] vlan 12
[DeviceB-vlan12] quit
# On GigabitEthernet1/0/1, create Ethernet service instance 100 and configure it to match data frames from VLAN 12.
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port link-type trunk
[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 1 12
[DeviceB-GigabitEthernet1/0/1] service-instance 100
[DeviceB-GigabitEthernet1/0/1-srv100] encapsulation s-vid 12
# Map Ethernet service instance 100 to VSI vpna.
[DeviceB-GigabitEthernet1/0/1-srv100] xconnect vsi vpna
[DeviceB-GigabitEthernet1/0/1-srv100] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[DeviceB] igmp-snooping
[DeviceB-igmp-snooping] global-enable
[DeviceB-igmp-snooping] quit
# Enable IGMP snooping and IGMP snooping proxy in VSI instance vpna.
[DeviceB] vsi vpna
[DeviceB-vsi-vpna] igmp-snooping enable
[DeviceB-vsi-vpna] igmp-snooping proxy enable
[DeviceB-vsi-vpna] quit
Configuring MVXLAN in MDT mode
# Enable IP multicast routing for VPN-instance vpn1.
[DeviceB] multicast routing vpn-instance vpn1
[DeviceB-mrib-vpn1] quit
# Create the MVXLAN for VPN-instance vpn1 and enter MVXLAN IPv4 address family view to specify the MVXLAN source interface.
[DeviceB] multicast-vpn vxlan vpn-instance vpn1 mode mdt
[DeviceB-mvxlan-vpn1] address-family ipv4
[DeviceB-mvxlan-vpn1-ipv4] source loopback 0
[DeviceB-mvxlan-vpn1-ipv4] quit
[DeviceB-mvxlan-vpn1] quit
# Create interface Loopback1 and configure it.
[DeviceB] interface loopback 1
[DeviceB-LoopBack1] ip binding vpn-instance vpn1
[DeviceB-LoopBack1] ip address 2.2.2.2 32
[DeviceB-LoopBack1] pim sm
[DeviceB-LoopBack1] quit
# Enter VPN instance PIM view, and configure Loopback 1 as a candidate-BSR and candidate-RP in VPN instance vpn1.
[DeviceB] pim vpn-instance vpn1
[DeviceB-pim-vpn1] c-bsr 2.2.2.2
[DeviceB-pim-vpn1] c-rp 2.2.2.2
[DeviceB-pim-vpn1] quit
Configuring Device C
Configuring the unicast routing protocol for the underlay network
# Assign IP addresses to the loopback interface and VLAN interface.
<Sysname> system-view
[Sysname] sysname DeviceC
[DeviceC] interface loopback 0
[DeviceC-LoopBack0] ip address 77.77.77.77 255.255.255.255
[DeviceC-LoopBack0] quit
[DeviceC] vlan 10
[DeviceC-vlan10] port gigabitethernet 1/0/1
[DeviceC-vlan10] quit
[DeviceC] interface vlan-interface 10
[DeviceC-Vlan-interface10] ip address 11.1.1.3 24
[DeviceC-Vlan-interface10] quit
[DeviceC] vlan 20
[DeviceC-vlan20] port gigabitethernet 1/0/2
[DeviceC-vlan20] quit
[DeviceC] interface vlan-interface 20
[DeviceC-Vlan-interface20] ip address 12.1.1.3 24
[DeviceC-Vlan-interface20] quit
[DeviceC] vlan 70
[DeviceC-vlan70] port gigabitethernet 1/0/3
[DeviceC-vlan70] quit
[DeviceC] interface vlan-interface 70
[DeviceC-Vlan-interface70] ip address 78.1.1.3 24
[DeviceC-Vlan-interface70] quit
# Configure OSPF to enable route reachability within the DC.
[DeviceC] router id 77.77.77.77
[DeviceC] ospf
[DeviceC-ospf-1] area 0
[DeviceC-ospf-1-area-0.0.0.0] network 77.77.77.77 0.0.0.0
[DeviceC-ospf-1-area-0.0.0.0] network 11.1.1.3 0.0.0.255
[DeviceC-ospf-1-area-0.0.0.0] network 12.1.1.3 0.0.0.255
[DeviceC-ospf-1-area-0.0.0.0] quit
[DeviceC-ospf-1] quit
# Configure Device C and Device D to establish EBGP neighbors and exchange IPv4 unicast routes to enable route reachability between the DCs.
[DeviceC] bgp 100
[DeviceC-bgp-default] peer 88.88.88.88 as-number 200
[DeviceC-bgp-default] peer 88.88.88.88 connect-interface loopback 0
[DeviceC-bgp-default] peer 88.88.88.88 ebgp-max-hop 64
[DeviceC-bgp-default] address-family ipv4 unicast
[DeviceC-bgp-default-ipv4] peer 88.88.88.88 enable
[DeviceC-bgp-default-ipv4] network 88.88.88.88 32
[DeviceC-bgp-default-ipv4] network 78.1.1.3 24
[DeviceC-bgp-default-ipv4] quit
[DeviceC-bgp-default] quit
Configuring PIM SM on the underlay network
# Enable IP multicast routing and enter MRIB view.
[DeviceC] multicast routing
[DeviceC-mrib] quit
# Enable PIM SM on the loopback interface, VLAN-interface 10 interface, and VLAN-interface 20.
[DeviceC] interface loopback 0
[DeviceC-LoopBack0] pim sm
[DeviceC-LoopBack0] quit
[DeviceC] interface vlan-interface 10
[DeviceC-Vlan-interface10] pim sm
[DeviceC-Vlan-interface10] quit
[DeviceC] interface vlan-interface 20
[DeviceC-Vlan-interface20] pim sm
[DeviceC-Vlan-interface20] quit
Configuring a VPN instance
# Create VPN instance vpn1 and configure the RD and RT of the VPN instance.
[DeviceC] ip vpn-instance vpn1
[DeviceC-vpn-instance-vpn1] route-distinguisher 1:3
[DeviceC-vpn-instance-vpn1] vpn-target 10:10 20:20 30:30 import-extcommunity
[DeviceC-vpn-instance-vpn1] vpn-target 10:10 export-extcommunity
[DeviceC-vpn-instance-vpn1] quit
Configuring L2VPN
# Enable L2VPN.
[DeviceC] l2vpn enable
# Disable remote MAC address learning and remote ARP learning for VXLANs.
[DeviceC] vxlan tunnel mac-learning disable
[DeviceC] vxlan tunnel arp-learning disable
Assigning an L3 VXLAN ID (L3VNI) to the VSI interface
# Create VSI-interface 2. Associate VSI-interface 2 with VPN instance vpn1, and configure the L3 VXLAN ID as 1000 for the VPN instance. Enable PIM SM on this interface.
[DeviceC] interface vsi-interface 2
[DeviceC-Vsi-interface2] ip binding vpn-instance vpn1
[DeviceC-Vsi-interface2] l3-vni 1000
[DeviceC-Vsi-interface2] pim sm
[DeviceC-Vsi-interface2] quit
Configuring BGP EVPN routes
# Add Device A and Device B to IBGP peer group group1.
[DeviceC] bgp 100
[DeviceC-bgp-default] group group1 internal
[DeviceC-bgp-default] peer group1 connect-interface loopback 0
[DeviceC-bgp-default] peer 1.1.1.1 group group1
[DeviceC-bgp-default] peer 2.2.2.2 group group1
# Configure Device C as a route reflector (RR) to establish BGP EVPN neighbors with peer group group1, and set the next hop address to the local device address when advertising routes to peer group group1.
[DeviceC-bgp-default] address-family l2vpn evpn
[DeviceC-bgp-default-evpn] peer group1 enable
[DeviceC-bgp-default-evpn] peer group1 next-hop-local
[DeviceC-bgp-default-evpn] peer group1 reflect-client
# Configure Device C to establish a BGP EVPN neighbor with Device D. Configure it to advertise routes to Device D, and enable route router MAC replacement.
[DeviceC-bgp-default-evpn] peer 88.88.88.88 enable
[DeviceC-bgp-default-evpn] peer 88.88.88.88 router-mac-local
[DeviceC-bgp-default-evpn] quit
[DeviceC-bgp-default] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[DeviceC] igmp-snooping
[DeviceC-igmp-snooping] global-enable
[DeviceC-igmp-snooping] quit
Configuring MVXLAN in MDT mode
# Enable IP multicast routing for VPN-instance vpn1.
[DeviceC] multicast routing vpn-instance vpn1
[DeviceC-mrib-vpn1] quit
# Create the MVXLAN for VPN-instance vpn1 and enter MVXLAN IPv4 address family view to specify the MVXLAN source interface. Enable multicast DCI.
[DeviceC] multicast-vpn vxlan vpn-instance vpn1 mode mdt
[DeviceC-mvxlan-vpn1] address-family ipv4
[DeviceC-mvxlan-vpn1-ipv4] source loopback 0
[DeviceC-mvxlan-vpn1-ipv4] dci enable
[DeviceC-mvxlan-vpn1-ipv4] quit
[DeviceC-mvxlan-vpn1] quit
# Create interface Loopback 1 and configure it.
[DeviceC] interface loopback 1
[DeviceC-LoopBack1] ip binding vpn-instance vpn1
[DeviceC-LoopBack1] ip address 77.77.77.77 32
[DeviceC-LoopBack1] pim sm
[DeviceC-LoopBack1] quit
# Enter VPN instance PIM view, and configure Loopback 1 as a candidate-BSR and candidate-RP in VPN instance vpn1.
[DeviceC] pim vpn-instance vpn1
[DeviceC-pim-vpn1] c-bsr 77.77.77.77
[DeviceC-pim-vpn1] c-rp 77.77.77.77
[DeviceC-pim-vpn1] quit
Enabling DCI
# Enable DCI on the physical interface connected to the external ED.
[DeviceC] interface vlan-interface 70
[DeviceC-Vlan-interface70] dci enable
[DeviceC] quit
Configuring Device D
Configuring the unicast routing protocol for the underlay network
# Assign IP addresses to the loopback interface and VLAN interface.
<Sysname> system-view
[Sysname] sysname DeviceD
[DeviceD] interface loopback 0
[DeviceD-LoopBack0] ip address 88.88.88.88 255.255.255.255
[DeviceD-LoopBack0] quit
[DeviceD] vlan 20
[DeviceD-vlan10] port gigabitethernet 1/0/1
[DeviceD-vlan20] quit
[DeviceD] interface vlan-interface 20
[DeviceD-Vlan-interface20] ip address 22.1.1.2 24
[DeviceD-Vlan-interface20] quit
[DeviceD] vlan 70
[DeviceD-vlan70] port gigabitethernet 1/0/2
[DeviceD-vlan70] quit
[DeviceD] interface vlan-interface 70
[DeviceD-Vlan-interface70] ip address 78.1.1.2 24
[DeviceD-Vlan-interface70] quit
# Configure OSPF to enable route reachability within the DC.
[DeviceD] router id 88.88.88.88
[DeviceD] ospf
[DeviceD-ospf-1] area 0
[DeviceD-ospf-1-area-0.0.0.0] network 88.88.88.88 0.0.0.0
[DeviceD-ospf-1-area-0.0.0.0] network 22.1.1.2 0.0.0.255
[DeviceD-ospf-1-area-0.0.0.0] quit
[DeviceD-ospf-1] quit
# Configure Device C and Device D to establish EBGP neighbors and exchange IPv4 unicast routes to enable route reachability between the DCs.
[DeviceD] bgp 200
[DeviceD-bgp-default] peer 77.77.77.77 as-number 100
[DeviceD-bgp-default] peer 77.77.77.77 connect-interface loopback 0
[DeviceD-bgp-default] peer 77.77.77.77 ebgp-max-hop 64
[DeviceD-bgp-default] address-family ipv4 unicast
[DeviceD-bgp-default-ipv4] peer 77.77.77.77 enable
[DeviceD-bgp-default-ipv4] network 77.77.77.77 32
[DeviceD-bgp-default-ipv4] network 78.1.1.2 24
[DeviceD-bgp-default-ipv4] quit
[DeviceD-bgp-default] quit
Configuring PIM SM on the underlay network
# Enable IP multicast routing and enter MRIB view.
[DeviceD] multicast routing
[DeviceD-mrib] quit
# Enable PIM SM on the loopback interface and VLAN-interface 20.
[DeviceD] interface loopback 0
[DeviceD-LoopBack0] pim sm
[DeviceD-LoopBack0] quit
[DeviceD] interface vlan-interface 20
[DeviceD-Vlan-interface20] pim sm
[DeviceD-Vlan-interface20] quit
Configuring a VPN instance
# Create VPN instance vpn1 and configure the RD and RT of the VPN instance.
[DeviceD] ip vpn-instance vpn1
[DeviceD-vpn-instance-vpn1] route-distinguisher 2:1
[DeviceD-vpn-instance-vpn1] vpn-target 10:10 20:20 30:30 import-extcommunity
[DeviceD-vpn-instance-vpn1] vpn-target 20:20 export-extcommunity
[DeviceD-vpn-instance-vpn1] quit
Configuring L2VPN
# Enable L2VPN.
[DeviceD] l2vpn enable
# Disable remote MAC address learning and remote ARP learning for VXLANs.
[DeviceD] vxlan tunnel mac-learning disable
[DeviceD] vxlan tunnel arp-learning disable
Assigning an L3 VXLAN ID (L3VNI) to the VSI interface
# Create VSI-interface 2. Associate VSI-interface 2 with VPN instance vpn1, and configure the L3 VXLAN ID as 1000 for the VPN instance. Enable PIM SM on this interface.
[DeviceD] interface vsi-interface 2
[DeviceD-Vsi-interface2] ip binding vpn-instance vpn1
[DeviceD-Vsi-interface2] l3-vni 1000
[DeviceD-Vsi-interface2] pim sm
[DeviceD-Vsi-interface2] quit
Configuring BGP EVPN routes
# Configure Device E as an IBGP neighbor.
[DeviceD] bgp 200
[DeviceD-bgp-default] peer 4.4.4.4 as-number 200
[DeviceD-bgp-default] peer 4.4.4.4 connect-interface loopback 0
# Configure Device D to establish a BGP EVPN neighbor with Device E, and set the next hop address to the local device address when advertising routes to Device E.
[DeviceD-bgp-default] address-family l2vpn evpn
[DeviceD-bgp-default-evpn] peer 4.4.4.4 enable
[DeviceD-bgp-default-evpn] peer 4.4.4.4 next-hop-local
# Configure Device D to establish a BGP EVPN neighbor with Device C. Configure Device D to advertise routes to Device C, and enable route router MAC replacement.
[DeviceD-bgp-default-evpn] peer 77.77.77.77 enable
[DeviceD-bgp-default-evpn] peer 77.77.77.77 router-mac-local
[DeviceD-bgp-default-evpn] quit
[DeviceD-bgp-default] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[DeviceD] igmp-snooping
[DeviceD-igmp-snooping] global-enable
[DeviceD-igmp-snooping] quit
Configuring MVXLAN in MDT mode
# Enable IP multicast routing for VPN-instance vpn1.
[DeviceD] multicast routing vpn-instance vpn1
[DeviceD-mrib-vpn1] quit
# Create an MVXLAN for VPN instance vpn1. Create an MVXLAN IPv4 address family and enter its view. Specify the default group, source interface, and data group range, and enable multicast DCI. Make sure the data group range configured on Device D matches that on Device A. If you cannot do that, traffic forwarding might fail.
[DeviceD] multicast-vpn vxlan vpn-instance vpn1 mode mdt
[DeviceD-mvxlan-vpn1] address-family ipv4
[DeviceD-mvxlan-vpn1-ipv4] default-group 239.0.0.1
[DeviceD-mvxlan-vpn1-ipv4] source loopback 0
[DeviceD-mvxlan-vpn1-ipv4] data-group 239.1.1.0 24
[DeviceD-mvxlan-vpn1-ipv4] dci enable
[DeviceD-mvxlan-vpn1-ipv4] quit
[DeviceD-mvxlan-vpn1] quit
# Create interface Loopback 1 and configure it.
[DeviceD] interface loopback 1
[DeviceD-LoopBack1] ip binding vpn-instance vpn1
[DeviceD-LoopBack1] ip address 88.88.88.88 32
[DeviceD-LoopBack1] pim sm
[DeviceD-LoopBack1] quit
# Enter VPN instance PIM view, and configure Loopback 1 as a candidate-BSR and candidate-RP in VPN instance vpn1.
[DeviceD] pim vpn-instance vpn1
[DeviceD-pim-vpn1] c-bsr 88.88.88.88
[DeviceD-pim-vpn1] c-rp 88.88.88.88
[DeviceD-pim-vpn1] quit
Enabling DCI
# Enable DCI on the physical interface connected to the external ED.
[DeviceD] interface vlan-interface 70
[DeviceD-Vlan-interface70] dci enable
[DeviceD-Vlan-interface70] quit
Configuring Device E
Configuring the unicast routing protocol for the underlay network
# Assign IP addresses to the loopback interface and VLAN-interface 10.
<Sysname> system-view
[Sysname] sysname DeviceE
[DeviceE] interface loopback 0
[DeviceE-LoopBack0] ip address 4.4.4.4 255.255.255.255
[DeviceE-LoopBack0] quit
[DeviceE] vlan 20
[DeviceE-vlan20] port gigabitethernet 1/0/2
[DeviceE-vlan20] quit
[DeviceE] interface vlan-interface 20
[DeviceE-Vlan-interface20] ip address 22.1.1.1 24
[DeviceE-Vlan-interface20] quit
# Configure OSPF to make the underlay network routes reachable.
[DeviceE] router id 4.4.4.4
[DeviceE] ospf
[DeviceE-ospf-1] area 0
[DeviceE-ospf-1-area-0.0.0.0] network 4.4.4.4 0.0.0.0
[DeviceE-ospf-1-area-0.0.0.0] network 22.1.1.1 0.0.0.255
[DeviceE-ospf-1-area-0.0.0.0] quit
[DeviceE-ospf-1] quit
Configuring PIM SM on the underlay network
# Enable IP multicast routing and enter MRIB view.
[DeviceE] multicast routing
[DeviceE-mrib] quit
# Enable PIM SM on the loopback interface and VLAN-interface 20.
[DeviceE] interface loopback 0
[DeviceE-LoopBack0] pim sm
[DeviceE-LoopBack0] quit
[DeviceE] interface vlan-interface 20
[DeviceE-Vlan-interface20] pim sm
[DeviceE-Vlan-interface20] quit
Configuring a VPN instance
# Configure the RD and RT for the VPN instance.
[DeviceE] ip vpn-instance vpn1
[DeviceE-vpn-instance-vpn1] route-distinguisher 2:3
[DeviceE-vpn-instance-vpn1] vpn-target 10:10 20:20 30:30 import-extcommunity
[DeviceE-vpn-instance-vpn1] vpn-target 20:20 export-extcommunity
[DeviceE-vpn-instance-vpn1] quit
Configuring L2VPN
# Enable L2VPN.
[DeviceE] l2vpn enable
# Disable remote MAC address learning and remote ARP learning for VXLANs.
[DeviceE] vxlan tunnel mac-learning disable
[DeviceE] vxlan tunnel arp-learning disable
Configuring the VSI gateway interface
# Configure VSI-interface 1 as the gateway interface and enable PIM SM and IGMP on this interface.
[DeviceE] interface vsi-interface 1
[DeviceE-Vsi-interface1] ip binding vpn-instance vpn1
[DeviceE-Vsi-interface1] ip address 192.168.40.1 255.255.255.0
[DeviceE-Vsi-interface1] pim sm
[DeviceE-Vsi-interface1] igmp enable
[DeviceE-Vsi-interface1] distributed-gateway local
[DeviceE-Vsi-interface1] quit
Configuring a VPN instance
# Create VXLAN 21 on the VSI, and specify VSI-interface 1 as the gateway for the VXLAN.
[DeviceE] vsi vpna
[DeviceE-vsi-vpna] gateway vsi-interface 1
[DeviceE-vsi-vpna] arp suppression enable
[DeviceE-vsi-vpna] vxlan 21
[DeviceE-vsi-vpna-vxlan-21] quit
# Configure an EVPN instance using VXLAN encapsulation, and configure an RD and RT for it.
[DeviceE-vsi-vpna] evpn encapsulation vxlan
[DeviceE-vsi-vpna-evpn-vxlan] route-distinguisher auto
[DeviceE-vsi-vpna-evpn-vxlan] vpn-target auto
[DeviceE-vsi-vpna-evpn-vxlan] quit
[DeviceE-vsi-vpna] quit
Assigning an L3 VXLAN ID (L3VNI) to the VSI interface
# Create VSI-interface 2. Associate VSI-interface 2 with VPN instance vpn1, and configure the L3 VXLAN ID as 1000 for the VPN instance. Enable PIM SM on this interface.
[DeviceE] interface vsi-interface 2
[DeviceE-Vsi-interface2] ip binding vpn-instance vpn1
[DeviceE-Vsi-interface2] l3-vni 1000
[DeviceE-Vsi-interface2] pim sm
[DeviceE-Vsi-interface2] quit
Configuring BGP EVPN routes
# Configure BGP to advertise BGP EVPN routes.
[DeviceE] bgp 200
[DeviceE-bgp-default] peer 88.88.88.88 as-number 200
[DeviceE-bgp-default] peer 88.88.88.88 connect-interface loopback 0
[DeviceE-bgp-default] address-family l2vpn evpn
[DeviceE-bgp-default-evpn] peer 88.88.88.88 enable
[DeviceE-bgp-default-evpn] peer 88.88.88.88 next-hop-local
[DeviceE-bgp-default-evpn] quit
[DeviceE-bgp-default] quit
Mapping ACs to the VSI
# Create VLAN 21.
[DeviceE] vlan 21
[DeviceE-vlan21] quit
# On GigabitEthernet1/0/1, create Ethernet service instance 100 and configure it to match data frames from VLAN 21.
[DeviceE] interface gigabitethernet 1/0/1
[DeviceE-GigabitEthernet1/0/1] port link-type trunk
[DeviceE-GigabitEthernet1/0/1] port trunk permit vlan 1 21
[DeviceE-GigabitEthernet1/0/1] service-instance 100
[DeviceE-GigabitEthernet1/0/1-srv100] encapsulation s-vid 21
# Map Ethernet service instance 100 to VSI vpna.
[DeviceE-GigabitEthernet1/0/1-srv100] xconnect vsi vpna
[DeviceE-GigabitEthernet1/0/1-srv100] quit
Configuring IGMP snooping
# Enable IGMP snooping globally.
[DeviceE] igmp-snooping
[DeviceE-igmp-snooping] global-enable
[DeviceE-igmp-snooping] quit
# Enable IGMP snooping and IGMP snooping proxy in VSI instance vpna.
[DeviceE] vsi vpna
[DeviceE-vsi-vpna] igmp-snooping enable
[DeviceE-vsi-vpna] igmp-snooping proxy enable
[DeviceE-vsi-vpna] quit
Configuring MVXLAN in MDT mode
# Enable IP multicast routing for VPN-instance vpn1.
[DeviceE] multicast routing vpn-instance vpn1
[DeviceE-mrib-vpn1] quit
# Create the MVXLAN for VPN-instance vpn1 and enter MVXLAN IPv4 address family view to specify the MVXLAN source interface.
[DeviceE] multicast-vpn vxlan vpn-instance vpn1 mode mdt
[DeviceE-mvxlan-vpn1] address-family ipv4
[DeviceE-mvxlan-vpn1-ipv4] source loopback 0
[DeviceE-mvxlan-vpn1-ipv4] quit
[DeviceE-mvxlan-vpn1] quit
# Create interface Loopback 1 and configure it.
[DeviceE] interface loopback 1
[DeviceE-LoopBack1] ip binding vpn-instance vpn1
[DeviceE-LoopBack1] ip address 4.4.4.4 32
[DeviceE-LoopBack1] pim sm
[DeviceE-LoopBack1] quit
# Enter VPN instance PIM view, and configure Loopback 1 as a candidate-BSR and candidate-RP in VPN instance vpn1.
[DeviceE] pim vpn-instance vpn1
[DeviceE-pim-vpn1] c-bsr 4.4.4.4
[DeviceE-pim-vpn1] c-rp 4.4.4.4
[DeviceE-pim-vpn1] quit
Verifying the configuration
Multicast source Source sends multicast traffic (192.168.10.2, 225.0.0.1). Receiver 1 and Receiver 2 join group 225.0.0.1 and can receive multicast traffic. The multicast route information on each device is as follows.
1. View multicast route information on the leaf devices. (Use Device A as an example. The output on Device B and Device E is similar.)
# View the multicast route information for VPN-instance vpn1 on Device A. Verify that the downlink interfaces for the private network multicast groups (*, 225.0.0.1) and (192.168.10.2, 225.0.0.1) are the multicast tunnel interface (Mtunnel0 or Mtunnel1).
<DeviceA> display pim vpn-instance vpn1 routing-table
Total 1 (*, G) entries; 1 (S, G) entries
(*, 225.0.0.1)
RP: 1.1.1.1 (local)
Protocol: pim-sm, Flag: WC RC
UpTime: 01:19:10
Upstream interface: Register-Tunnel0
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: MTunnel0
Protocol: MD, UpTime: 01:19:10, Expires: -
(192.168.10.2, 225.0.0.1)
RP: 1.1.1.1 (local)
Protocol: pim-sm, Flag: SPT 2MSDP LOC ACT SQ RC 2MVPN
UpTime: 03:27:40
Upstream interface: Vsi-interface1
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: MTunnel1
Protocol: MD, UpTime: 01:19:06, Expires: -
# View the public network multicast route information of Device A. You will see that a default-MDT with 1.1.1.1/2.2.2.2/77.77.77.77 as the root and default-group address as the destination address has been established on the public network, and a data-MDT with 1.1.1.1 as the root and data-group address as the destination address has been established on the public network.
<DeviceA> display pim routing-table
Total 0 (*, G) entries; 4 (S, G) entries
(1.1.1.1, 239.0.0.1)
RP: NULL
Protocol: pim-sm, Flag: SPT LOC VXLAN_L3
UpTime: 03:43:30
Upstream interface: MTunnel0 (VPN: vpn1)
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface10
Protocol: pim-sm, UpTime: 01:19:18, Expires: 00:03:15
(2.2.2.2, 239.0.0.1)
RP: NULL
Protocol: pim-sm, Flag: SPT
UpTime: 01:18:42
Upstream interface: Vlan-interface10
Upstream neighbor: 11.1.1.2
RPF prime neighbor: 11.1.1.2
Downstream interface information:
Total number of downstream interfaces: 1
1: MVXLAN-UPE0
Protocol: MD, UpTime: 01:18:42, Expires: -
(77.77.77.77, 239.0.0.1)
RP: NULL
Protocol: pim-sm, Flag: SPT
UpTime: 01:19:16
Upstream interface: Vlan-interface10
Upstream neighbor: 11.1.1.2
RPF prime neighbor: 11.1.1.2
Downstream interface information:
Total number of downstream interfaces: 1
1: MVXLAN-UPE0
Protocol: MD, UpTime: 01:19:16, Expires: -
(1.1.1.1, 239.1.1.0)
RP: NULL
Protocol: pim-sm, Flag: SPT LOC VXLAN_L3
UpTime: 01:19:16
Upstream interface: MTunnel1 (VPN: vpn1)
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: Vlan-interface10
Protocol: pim-sm, UpTime: 01:19:01, Expires: 00:02:30
2. View multicast route information on the EDs. (Use Device C as an example. The output on Device D is similar.)
# View the multicast route information for VPN-instance vpn1 on Device C. Verify that the downlink interfaces for the private network multicast groups (*, 225.0.0.1) and (192.168.10.2, 225.0.0.1) are the VSI interface or MTunnel interface.
<DeviceC> display pim vpn-instance vpn1 routing-table
Total 1 (*, G) entries; 1 (S, G) entries
(*, 225.0.0.1)
RP: 77.77.77.77 (local)
Protocol: pim-sm, Flag: WC RC
UpTime: 01:18:39
Upstream interface: Register-Tunnel0
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 2
1: Vsi-interface2
Protocol: MD, UpTime: 01:18:39, Expires: -
2: MTunnel0
Protocol: MD, UpTime: 01:18:05, Expires: -
(192.168.10.2, 225.0.0.1)
RP: 77.77.77.77 (local)
Protocol: pim-sm, Flag: SPT ACT RQ SRC-ACT 2MVPN FROMVXLAN
UpTime: 01:18:39
Upstream interface: MVXLAN-UPE0 (0.0.0.0)
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 1
1: Vsi-interface2
Protocol: MD, UpTime: 01:18:39, Expires: -
# View the public network multicast route information of Device C You will see that a default-MDT with 1.1.1.1/2.2.2.2/77.77.77.77 as the root and default-group address as the destination address has been established on the public network, and a data-MDT with 1.1.1.1 as the root and data-group address as the destination address has been established on the public network.
<DeviceC> display pim routing-table
Total 0 (*, G) entries; 4 (S, G) entries
(1.1.1.1, 239.0.0.1)
RP: NULL
Protocol: pim-sm, Flag: SPT
UpTime: 01:18:46
Upstream interface: Vlan-interface10
Upstream neighbor: 11.1.1.1
RPF prime neighbor: 11.1.1.1
Downstream interface information:
Total number of downstream interfaces: 2
1: Vlan-interface20
Protocol: pim-sm, UpTime: 01:18:11, Expires: 00:03:17
2: MVXLAN-UPE0
Protocol: MD, UpTime: 01:19:10, Expires: -
(2.2.2.2, 239.0.0.1)
RP: NULL
Protocol: pim-sm, Flag: SPT
UpTime: 01:18:11
Upstream interface: Vlan-interface20
Upstream neighbor: 12.1.1.1
RPF prime neighbor: 12.1.1.1
Downstream interface information:
Total number of downstream interfaces: 2
1: Vlan-interface10
Protocol: pim-sm, UpTime: 01:18:11, Expires: 00:03:15
2: MVXLAN-UPE0
Protocol: MD, UpTime: 01:18:11, Expires: -
(77.77.77.77, 239.0.0.1)
RP: NULL
Protocol: pim-sm, Flag: SPT LOC VXLAN_L3
UpTime: 01:19:30
Upstream interface: MTunnel0 (VPN: vpn1)
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface information:
Total number of downstream interfaces: 2
1: Vlan-interface10
Protocol: pim-sm, UpTime: 01:18:44, Expires: 00:02:42
2: Vlan-interface20
Protocol: pim-sm, UpTime: 01:18:11, Expires: 00:03:17
(1.1.1.1, 239.1.1.0)
RP: NULL
Protocol: pim-sm, Flag: SPT ACT 2MVPN
UpTime: 01:18:46
Upstream interface: Vlan-interface10
Upstream neighbor: 11.1.1.1
RPF prime neighbor: 11.1.1.1
Downstream interface information:
Total number of downstream interfaces: 2
1: Vlan-interface20
Protocol: pim-sm, UpTime: 01:18:11, Expires: 00:03:17
2: MVXLAN-UPE0
Protocol: MD, UpTime: 01:18:30, Expires: -
# On Device C, view the multicast group information that IGMP snooping learns from EVPN.
<DeviceC> display igmp-snooping evpn-group
Total 2 entries.
VSI Auto_L3VNI1000_2: Total 2 entries.
(0.0.0.0, 225.0.0.1)
Host ports (1 in total):
Tun0 (VXLAN ID 1000)
(192.168.10.2, 225.0.0.1)
Host ports (1 in total):
Tun0 (VXLAN ID 1000)
Configuration files
· Device A:
#
sysname DeviceA
#
ip vpn-instance vpn1
route-distinguisher 1:1
vpn-target 10:10 20:20 30:30 import-extcommunity
vpn-target 10:10 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 1.1.1.1
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 11.1.1.0 0.0.0.255
#
igmp-snooping
global-enable
#
vlan 10 to 11
#
l2vpn enable
vxlan tunnel arp-learning disable
#
vsi vpna
gateway vsi-interface 1
arp suppression enable
vxlan 11
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto export-extcommunity
vpn-target auto import-extcommunity
igmp-snooping enable
igmp-snooping proxy enable
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
pim sm
#
interface LoopBack1
ip binding vpn-instance vpn1
ip address 1.1.1.1 255.255.255.255
pim sm
#
interface Vlan-interface10
ip address 11.1.1.1 255.255.255.0
pim sm
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk permit vlan 1 11
combo enable copper
#
service-instance 1000
encapsulation s-vid 11
xconnect vsi vpna
#
interface GigabitEthernet1/0/2
port access vlan 10
combo enable copper
#
interface Vsi-interface1
ip binding vpn-instance vpn1
ip address 192.168.10.1 255.255.255.0
pim sm
distributed-gateway local
#
interface Vsi-interface2
ip binding vpn-instance vpn1
pim sm
l3-vni 1000
#
bgp 100
peer 77.77.77.77 as-number 100
peer 77.77.77.77 connect-interface LoopBack0
#
address-family l2vpn evpn
peer 77.77.77.77 enable
peer 77.77.77.77 next-hop-local
#
multicast routing
#
multicast routing vpn-instance vpn1
#
pim vpn-instance vpn1
c-bsr 1.1.1.1
c-rp 1.1.1.1
#
multicast-vpn vxlan vpn-instance vpn1 mode mdt
address-family ipv4
source LoopBack0
default-group 239.0.0.1
data-group 239.1.1.0 255.255.255.0
data-delay 20
s-pmsi advertise source-active
#
return
· Device B:
#
sysname DeviceB
#
ip vpn-instance vpn1
route-distinguisher 1:2
vpn-target 10:10 20:20 30:30 import-extcommunity
vpn-target 10:10 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 2.2.2.2
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 12.1.1.0 0.0.0.255
#
igmp-snooping
global-enable
#
vlan 12
#
vlan 20
#
l2vpn enable
vxlan tunnel arp-learning disable
#
vsi vpna
gateway vsi-interface 1
arp suppression enable
vxlan 12
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto export-extcommunity
vpn-target auto import-extcommunity
igmp-snooping enable
igmp-snooping proxy enable
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
pim sm
#
interface LoopBack1
ip binding vpn-instance vpn1
ip address 2.2.2.2 255.255.255.255
pim sm
#
interface Vlan-interface20
ip address 12.1.1.2 255.255.255.0
pim sm
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk permit vlan 1 12
combo enable copper
#
service-instance 100
encapsulation s-vid 12
xconnect vsi vpna
#
interface GigabitEthernet1/0/2
port access vlan 20
combo enable copper
#
interface Vsi-interface1
ip binding vpn-instance vpn1
ip address 192.168.20.1 255.255.255.0
pim sm
igmp enable
distributed-gateway local
#
interface Vsi-interface2
ip binding vpn-instance vpn1
pim sm
l3-vni 1000
#
bgp 100
peer 77.77.77.77 as-number 100
peer 77.77.77.77 connect-interface LoopBack0
#
address-family l2vpn evpn
peer 77.77.77.77 enable
peer 77.77.77.77 next-hop-local
#
multicast routing
#
multicast routing vpn-instance vpn1
#
pim vpn-instance vpn1
c-bsr 2.2.2.2
c-rp 2.2.2.2
#
multicast-vpn vxlan vpn-instance vpn1 mode mdt
address-family ipv4
source LoopBack0
#
return
· Device C:
#
sysname DeviceC
#
ip vpn-instance vpn1
route-distinguisher 1:3
vpn-target 10:10 20:20 30:30 import-extcommunity
vpn-target 10:10 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 77.77.77.77
#
ospf 1
area 0.0.0.0
network 11.1.1.0 0.0.0.255
network 12.1.1.0 0.0.0.255
network 77.77.77.77 0.0.0.0
#
igmp-snooping
global-enable
#
vlan 10
#
vlan 20
#
vlan 70
#
l2vpn enable
vxlan tunnel arp-learning disable
#
interface LoopBack0
ip address 77.77.77.77 255.255.255.255
pim sm
#
interface LoopBack1
ip binding vpn-instance vpn1
ip address 77.77.77.77 255.255.255.255
pim sm
#
interface Vlan-interface10
ip address 11.1.1.3 255.255.255.0
pim sm
#
interface Vlan-interface20
ip address 12.1.1.3 255.255.255.0
pim sm
#
interface Vlan-interface70
ip address 78.1.1.3 255.255.255.0
#
interface GigabitEthernet1/0/1
port access vlan 10
combo enable copper
#
interface GigabitEthernet1/0/2
port access vlan 20
combo enable copper
#
interface GigabitEthernet1/0/3
port access vlan 70
combo enable copper
#
interface Vsi-interface2
ip binding vpn-instance vpn1
pim sm
l3-vni 1000
#
bgp 100
group group1 internal
peer group1 connect-interface LoopBack0
peer 1.1.1.1 group group1
peer 2.2.2.2 group group1
peer 88.88.88.88 as-number 200
peer 88.88.88.88 connect-interface LoopBack0
peer 88.88.88.88 ebgp-max-hop 64
#
address-family ipv4 unicast
network 78.1.1.0 255.255.255.0
network 88.88.88.88 255.255.255.255
peer 88.88.88.88 enable
#
address-family l2vpn evpn
peer group1 enable
peer group1 next-hop-local
peer group1 reflect-client
peer 88.88.88.88 enable
peer 88.88.88.88 router-mac-local
#
multicast routing
#
multicast routing vpn-instance vpn1
#
pim vpn-instance vpn1
c-bsr 77.77.77.77
c-rp 77.77.77.77
#
multicast-vpn vxlan vpn-instance vpn1 mode mdt
address-family ipv4
source LoopBack0
dci enable
#
return
· Device D:
#
sysname DeviceD
#
ip vpn-instance vpn1
route-distinguisher 2:1
vpn-target 10:10 20:20 30:30 import-extcommunity
vpn-target 10:10 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 88.88.88.88
#
ospf 1
area 0.0.0.0
network 22.1.1.0 0.0.0.255
network 88.88.88.88 0.0.0.0
#
igmp-snooping
global-enable
#
vlan 20
#
vlan 70
#
l2vpn enable
vxlan tunnel arp-learning disable
#
interface LoopBack0
ip address 88.88.88.88 255.255.255.255
pim sm
#
interface LoopBack1
ip binding vpn-instance vpn1
ip address 88.88.88.88 255.255.255.255
pim sm
#
interface Vlan-interface20
ip address 22.1.1.2 255.255.255.0
pim sm
#
interface Vlan-interface70
ip address 78.1.1.2 255.255.255.0
#
interface GigabitEthernet1/0/1
port access vlan 20
combo enable copper
#
interface GigabitEthernet1/0/2
port access vlan 70
combo enable copper
#
interface Vsi-interface2
ip binding vpn-instance vpn1
pim sm
l3-vni 1000
#
bgp 200
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
peer 77.77.77.77 as-number 100
peer 77.77.77.77 connect-interface LoopBack0
peer 77.77.77.77 ebgp-max-hop 64
#
address-family ipv4 unicast
network 77.77.77.77 255.255.255.255
network 78.1.1.0 255.255.255.0
peer 77.77.77.77 enable
#
address-family l2vpn evpn
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
peer 77.77.77.77 enable
peer 77.77.77.77 router-mac-local
#
multicast routing
#
multicast routing vpn-instance vpn1
#
pim vpn-instance vpn1
c-bsr 88.88.88.88
c-rp 88.88.88.88
#
multicast-vpn vxlan vpn-instance vpn1 mode mdt
address-family ipv4
source LoopBack0
default-group 239.0.0.1
data-group 239.1.1.0 255.255.255.0
dci enable
#
return
· Device E
#
sysname DeviceE
#
ip vpn-instance vpn1
route-distinguisher 2:3
vpn-target 10:10 20:20 30:30 import-extcommunity
vpn-target 10:10 export-extcommunity
#
vxlan tunnel mac-learning disable
#
router id 4.4.4.4
#
ospf 1
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 22.1.1.0 0.0.0.255
#
igmp-snooping
global-enable
#
vlan 20 to 21
#
l2vpn enable
vxlan tunnel arp-learning disable
#
vsi vpna
gateway vsi-interface 1
arp suppression enable
vxlan 21
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto export-extcommunity
vpn-target auto import-extcommunity
igmp-snooping enable
igmp-snooping proxy enable
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
pim sm
#
interface LoopBack1
ip binding vpn-instance vpn1
ip address 4.4.4.4 255.255.255.255
pim sm
#
interface Vlan-interface20
ip address 22.1.1.1 255.255.255.0
pim sm
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk permit vlan 1 21
combo enable copper
#
service-instance 100
encapsulation s-vid 21
xconnect vsi vpna
#
interface GigabitEthernet1/0/2
port access vlan 20
combo enable copper
#
interface Vsi-interface1
ip binding vpn-instance vpn1
ip address 192.168.40.1 255.255.255.0
pim sm
igmp enable
distributed-gateway local
#
interface Vsi-interface2
ip binding vpn-instance vpn1
pim sm
l3-vni 1000
#
bgp 200
peer 88.88.88.88 as-number 200
peer 88.88.88.88 connect-interface LoopBack0
#
address-family l2vpn evpn
peer 88.88.88.88 enable
peer 88.88.88.88 next-hop-local
#
multicast routing
#
multicast routing vpn-instance vpn1
#
pim vpn-instance vpn1
c-bsr 4.4.4.4
c-rp 4.4.4.4
#
multicast-vpn vxlan vpn-instance vpn1 mode mdt
address-family ipv4
source LoopBack0
#
return