EVPN MPLS Single Homing Over BGP-LU
Topology
depicts the Single Homed topology for the EVPN MPLS configuration examples for both ELINE and ELAN service with BGP-LU as underlay MPLS path which in turn over another underlay of LDP/RSVP/SR MPLS paths.
Figure 3. EVPN MPLS Single Homing over LU configuration
Configuration
PE1: Loopback Interface
|
#configure terminal |
Enter configuration mode. |
|
(config)#interface lo |
Enter the Interface mode for the loopback interface. |
|
(config-if)#ip address 10.143.73.1/32 secondary |
Configure IP address on loopback interface. |
|
(config-if)#exit |
Exit interface mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
PE1: Global EVPN MPLS Command
|
#configure terminal |
Enter configuration mode. |
|
(config)#evpn mpls enable |
Enable EVPN MPLS |
|
(config)#evpn mpls vtep-ip-global 10.143.73.1 |
Configuring VTEP global IP to loopback IP |
|
(config)#commit |
Commit candidate configuration to be running configuration |
PE1: Global LDP
|
(config)#router ldp |
Enter the Router LDP mode. |
|
(config-router)#router-id 10.143.73.1 |
Set the router ID to IP address 10.143.73.1 |
|
(config-router)# transport-address ipv4 10.143.73.1 |
Configure transport address at LDP mode |
|
(config-router)#targeted-peer ipv4 10.143.73.5 |
Configure targeted peer. |
|
(config-router-targeted-peer)#exit |
Exit-targeted-peer-mode |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
PE1: Interface Configuration Network Side
|
(config)#interface xe3 |
Enter the Interface mode for eth2. |
|
(config-if)#ip address 10.255.128.8/31 |
Configure IP address on the interface. |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
For RSVP Configuration refer RSVP-TE Configuration.
PE1: OSPF Configuration
|
(config)#router ospf 1 |
Enter the Router OSPF mode. |
|
(config-router)#ospf router-id 10.143.73.1 |
Router-ID configurations |
|
(config-router)#network 10.143.73.1/32 area 0.0.0.0 |
Advertise loopback address in OSPF. |
|
(config-router)#network 10.255.128.8/31 area 0.0.0.0 |
Advertise network address in OSPF. |
|
(config-router)#commit |
Commit the transaction. |
PE1: BGP Configuration
|
(config)#router bgp 65010 |
Enter the Router BGP mode, ASN: 65010 |
|
(config)#allocate-label all |
Configure allocate all under router BGP |
|
(config-router)#neighbor 10.143.73.5 remote-as 65010 |
Configuring PE2 as iBGP neighbor using it's loopback IP |
|
(config-router)#neighbor 10.143.73.2 remote-as 65010 |
Configuring ABR1 as iBGP neighbor using it's loopback IP |
|
(config-router)#neighbor 10.143.73.5 update-source lo |
Source of routing updates as loopback |
|
(config-router)#neighbor 10.143.73.2 update-source lo |
Source of routing updates as loopback |
|
(config-router)# address-family ipv4 unicast |
Entering into address family ipv4 unicast |
|
(config-router-af)# network 10.143.73.1/32 |
Advertise 10.143.73.1/31 network |
|
(config-router-af)# exit-address-family |
Exit from IPv4 address family |
|
(config-router)# address-family ipv4 labeled-unicast |
Entering into address family ipv4 labeled-unicast |
|
(config-router-af)#neighbor 10.143.73.2 activate |
Activate the IPv4 labeled-unicast neighbor |
|
(config-router)#address-family l2vpn evpn |
Entering into address family mode as EVPN |
|
(config-router-af)#neighbor 10.143.73.5 activate |
Enabling EVPN Address family for neighbor |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
PE1: MAC VRF Configuration
|
(config)#mac vrf vrf2 |
Enter VRF mode |
|
(config-vrf)#rd 10.143.73.1:2 |
Configuring Route-Distinguisher value 10.143.73.1:2 |
|
(config-vrf)#route-target both 2:2 |
Configuring import and export value as 2:2 Support: route-target export route-target import |
|
(config-vrf)#exit |
Exiting VRF Mode |
|
(config)#mac vrf vpls1001 |
Enter VRF mode |
|
(config-vrf)#rd 10.143.73.1:1001 |
Configuring Route-Distinguisher value 10.143.73.1:1001 |
|
(config-vrf)#route-target both 1001:1001 |
Configuring import and export value as 1001:1001 Support: route-target export Support: route-target export |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
PE1: EVPN-VPWS (ELINE) and MAC VRF Mapping
|
(config)#evpn mpls id 2 xconnect target-mpls-id 252 |
Configure the EVPN-VPWS identifier with source identifier 2 and target identifier 252 |
|
(config-evpn-mpls)#host-reachability-protocol evpn-bgp vrf2 |
Mapping vrf "vrf2" to EVPN-VPWS identifier |
|
(config-evpn-mpls)#commit |
Commit the transaction. |
|
(config-evpn-mpls)#exit |
Exit the EVPN MPLS mode and return to the configure mode. |
PE1: EVPN -VPWS (ELINE) Access Port Configuration
|
(config)#interface xe6 |
Enter the Interface mode for xe6. |
|
(config-if)#description access-side-int |
Giving Interface Description. |
|
(config-if)#interface xe6.2 switchport |
Creating L2 sub interface of physical interface xe6. |
|
(config-if)#encapsulation dot1q 2 |
Setting Encapsulation to dot1q with VLAN ID 2 Supported Encapsulation: dot1ad, dot1q, untagged, default. |
|
(config-if)#access-if-evpn |
Entering Access mode for EVPN MPLS ID configuration. |
|
(config-access-if)#map vpn-id 2 |
Map VPN-ID 2 to interface xe6.2 (VPWS). |
|
(config-access-if)#exit |
Exiting out of access interface mode. |
PE1: EVPN-VPLS (ELAN) and MAC VRF Mapping
|
(config)#evpn mpls id 1001 |
Configure the EVPN-VPLS identifier with identifier 1001 |
|
(config-evpn-mpls)#host-reachability-protocol evpn-bgp vpls1001 |
Mapping vrf "vpls1001" to EVPN-VPLS identifier |
|
(config-evpn-mpls)#commit |
Commit the transaction. |
|
(config-evpn-mpls)#exit |
Exit the EVPN MPLS mode and return to the configure mode. |
PE1: EVPN-VPLS (ELAN) Access Port Configuration
|
(config-if)#interface xe6.1001 switchport |
Creating L2 sub interface of physical interface xe6 |
|
(config-if)#encapsulation dot1q 1001 |
Setting Encapsulation to dot1q with VLAN ID 1001 Supported Encapsulation: dot1ad, dot1q, untagged, default |
|
(config-if)#access-if-evpn |
Entering Access mode for EVPN MPLS ID configuration |
|
(config-access-if)#map vpn-id 1001 |
Map vpn-id 1001 to interface xe6.1001 (VPLS) |
|
(config-access-if)#commit |
Commit candidate configuration to be running configuration |
ABR1: Loopback Interface
|
#configure terminal |
Enter configuration mode. |
|
(config)#interface lo |
Enter the Interface mode for the loopback interface. |
|
(config-if)#ip address 10.143.73.2/32 secondary |
Configure IP address on loopback interface. |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
ABR1: Global LDP
|
(config)#router ldp |
Enter the Router LDP mode. |
|
(config-router)#transport-address ipv4 10.143.73.2 |
Configure transport address under router ldp |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
ABR1: Interface Configuration
|
(config)#interface xe3 |
Enter the Interface mode for xe3. |
|
(config-if)#ip address 10.255.128.9/31 |
Configure IP address on the interface. |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-if)#exit |
Exit interface mode |
|
(config)#interface xe5 |
Enter the Interface mode for xe5 |
|
(config-if)#ip address 10.255.128.25/31 |
Configure IP address on the interface. |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-router)#exit |
Exit from router target peer and LDP mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
ABR1: OSPF Configuration
|
(config)#enable ext-ospf-multi-inst |
Enable multiple-instance capabilit |
|
(config)#router ospf 1 |
Enter the Router OSPF mode. |
|
(config-router)#ospf router-id 10.143.73.2 |
Setting the Router ID as Loopback IP |
|
(config-router)#network 10.143.73.2/32 area 0.0.0.0 instance-id 100 |
Advertise loopback address in OSPF. |
|
(config-router)#network 10.255.128.25/31 area 0.0.0.0 |
Advertise network address in OSPF |
|
(config)#router ospf 100 |
Enter the Router OSPF mode. |
|
(config-router)#network 10.143.73.2/32 area 0.0.0.0 instance-id 1 |
Advertise loopback address in OSPF |
|
(config-router)#network 10.255.128.9/31 area 0.0.0.0 |
Advertise network address in OSPF that comes under same subnet |
|
(config-router)#exit |
Exit Router OSPF mode and return to Configure mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
ABR1: BGP-LU Configuration
|
(config)#router bgp 65010 |
Enter the Router BGP mode, ASN: 65010 |
|
(config)#allocate-label all |
Configure allocate all under router BGP |
|
(config-router)#neighbor 10.143.73.1 remote-as 65010 |
Configuring PE1 as iBGP neighbor using it's loopback IP |
|
(config-router)#neighbor 10.143.73.4 remote-as 65010 |
Configuring ABR2 as iBGP neighbor using it's loopback IP |
|
(config-router)#neighbor 10.143.73.1 update-source lo |
Source of routing updates as loopback |
|
(config-router)#neighbor 10.143.73.4 update-source lo |
Source of routing updates as loopback |
|
(config-router)# address-family ipv4 unicast |
Entering into address family ipv4 unicast |
|
(config-router-af)# network 10.143.73.2/32 |
Advertise the network |
|
(config-router-af)# exit-address-family |
Exit from IPv4 address family |
|
(config-router)# address-family ipv4 labeled-unicast |
Entering into address family ipv4 labeled-unicast |
|
(config-router-af)#neighbor 10.143.73.4 activate |
Activate the ipv4 labeled-unicast neighbor |
|
(config-router-af)#neighbor 10.143.73.4 next-hop-self |
Configure next-hopself for the ipv4 labeled-unicast neighbor |
|
config-router-af)#neighbor 10.143.73.4 route-reflector-client |
Configure neighbor as route reflector client |
|
(config-router-af)#neighbor 10.143.73.1 activate |
Activate the ipv4 labeled-unicast neighbor |
|
config-router-af)#neighbor 10.143.73.1 route-reflector-client |
Configure neighbor as route reflector client |
|
(config-router-af)#neighbor 10.143.73.1 next-hop-self |
Configure next-hopself for the ipv4 labeled-unicast neighbor |
|
(config)#commit |
Commit candidate configuration to be running configuration |
P2: Loopback Interface
|
#configure terminal |
Enter configuration mode |
|
(config)#interface lo |
Enter the Interface mode for the loopback interface |
|
(config-if)#ip address 10.143.73.3/32 secondary |
Configure IP address on loopback interface |
|
(config-f)#commit |
Commit the transaction |
P2: Global LDP
|
(config)#router ldp |
Enter the Router LDP mode |
|
(config-router)#commit |
Commit the transaction |
P2: Interface Configuration
|
(config)#interface xe5 |
Enter the Interface mode for xe5 |
|
(config-if)#ip address 10.255.128.24/31 |
Configure IP address on the interface |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface |
|
(config-if)#exit |
Exit interface mode |
|
(config)#interface xe6 |
Enter the Interface mode for xe6 |
|
(config-if)#ip address 10.255.128.35/31 |
Configure IP address on the interface |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-if)#commit |
Commit the transaction |
P2: OSPF Configuration
|
(config)#router ospf 100 |
Enter the Router OSPF mode. |
|
(config-router)#ospf router-id 10.143.73.3 |
Setting the Router ID as Loopback IP |
|
(config-router)#network 10.143.73.3/32 area 0.0.0.0 |
Advertise loopback address in OSPF |
|
(config-router)#network 10.255.128.24/31 area 0.0.0.0 |
Advertise network address in OSPF that comes under same subnet |
|
(config-router)#network 10.255.128.35/31 area 0.0.0.0 |
Advertise xe5 network address in OSPF |
|
(config-router)#exit |
Exit Router OSPF mode and return to Configure mode |
|
(config)#commit |
Commit candidate configuration to be running configuration |
ABR2: Loopback Interface
|
#configure terminal |
Enter configuration mode |
|
(config)#interface lo |
Enter the Interface mode for the loopback interface |
|
(config-if)#ip address 10.143.73.4/32 secondary |
Configure IP address on loopback interface |
|
(config-if)#commit |
Commit the transaction |
ABR2: Global LDP
|
(config)#router ldp |
Enter the Router LDP mode |
|
(config-router)#transport-address ipv4 10.143.73.4 |
Configure transport address under router ldp |
|
(config)#commit |
Commit the transaction |
ABR2: Interface Configuration
|
(config)#interface xe6 |
Enter the Interface mode for xe6. |
|
(config-if)#ip address 10.255.128.34/31 |
Configure IP address on the interface. |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-if)#exit |
Exit interface mode |
|
(config)#interface xe3 |
Enter the Interface mode for xe3 |
|
(config-if)#ip address 10.255.128.45/31 |
Configure IP address on the interface. |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-if)#commit |
Commit the transaction. |
ABR2: OSPF Configuration
|
(config)#enable ext-ospf-multi-inst |
Enable multiple-instance capabilit |
|
(config)#router ospf 100 |
Enter the Router OSPF mode. |
|
(config-router)#ospf router-id 10.143.73.4 |
Setting the Router ID as Loopback IP |
|
(config-router)#network 10.143.73.4/32 area 0.0.0.0 instance-id 200 |
Advertise loopback address in OSPF. |
|
(config-router)#network 10.255.128.34/31 area 0.0.0.0 |
Advertise network address in OSPF that comes under same subnet. |
|
(config)#router ospf 200 |
Enter the Router OSPF mode. |
|
(config-router)#network 10.255.128.45/31 area 0.0.0.0 instance-id 100 |
Advertise xe5 network address in OSPF. |
|
(config-router)#exit |
Exit Router OSPF mode and return to Configure mode. |
|
(config)#commit |
Commit candidate configuration to be running configuration |
ABR2: BGP-LU Configuration
|
(config)#router bgp 65010 |
Enter the Router BGP mode, ASN: 65010 |
|
(config)#allocate-label all |
Configure allocate all under router BGP |
|
(config-router)#neighbor 10.143.73.2 remote-as 65010 |
Configuring ABR1 as iBGP neighbor using its loopback IP |
|
(config-router)#neighbor 10.143.73.5 remote-as 65010 |
Configuring PE2 as iBGP neighbor using its loopback IP |
|
(config-router)#neighbor 10.143.73.2 update-source lo |
Source of routing updates as loopback |
|
(config-router)#neighbor 10.143.73.5 update-source lo |
Source of routing updates as loopback |
|
(config-router)# address-family ipv4 unicast |
Entering into address family ipv4 unicast |
|
(config-router-af)# network 10.143.73.4/32 |
Advertise the network |
|
(config-router-af)# exit-address-family |
Exit from IPv4 address family |
|
(config-router)# address-family ipv4 labeled-unicast |
Entering into address family IPv4 labeled-unicast |
|
(config-router-af)#neighbor 10.143.73.2 activate |
Activate the IPv4 labeled-unicast neighbor |
|
(config-router-af)#neighbor 10.143.73.2 next-hop-self |
Configure next-hop-self for the IPv4 labeled-unicast neighbor |
|
config-router-af)#neighbor 10.143.73.2 route-reflector-client |
Configure neighbor as route reflector client |
|
(config-router-af)#neighbor 10.143.73.5 activate |
Activate the IPv4 labeled-unicast neighbor |
|
config-router-af)#neighbor 10.143.73.5 route-reflector-client |
Configure neighbor as route reflector client |
|
(config-router-af)#neighbor 10.143.73.5 next-hop-self |
Configure next-hop-self for the ipv4 labeled-unicast neighbor |
|
(config-router-af)#commit |
Commit the transaction. |
PE2: Loopback Interface
|
#configure terminal |
Enter configuration mode |
|
(config)#interface lo |
Enter the Interface mode for the loopback interface |
|
(config-if)#ip address 10.143.73.5/32 secondary |
Configure IP address on loopback interface |
|
(config-if)#exit |
Exit interface mode |
|
(config)#commit |
Commit the transaction |
PE2: Global LDP
|
(config)#router ldp |
Enter the Router LDP mode. |
|
(config-router)#router-id 10.143.73.5 |
Set the router ID to IP address 10.143.73.5 |
|
(config-router)#transport-address ipv4 10.143.73.5 |
Configure transport address under router ldp |
|
(config-router)#targeted-peer ipv4 10.143.73.3 |
Configure targeted peer |
|
(config-router-targeted-peer)#exit |
Exit-targeted-peer-mode |
|
(config-router)#commit |
Commit the transaction |
PE2: Global EVPN MPLS Command
|
(config)#evpn mpls enable |
Enable EVPN MPLS |
|
(config)#commit |
Commit candidate configuration to be running configuration Reload is required after enabling or disabling EVPN MPLS. |
|
(config)#evpn mpls vtep-ip-global 10.143.73.5 |
Configuring VTEP global IP to loopback IP |
|
(config)#commit |
Commit the transaction |
PE2: Interface Configuration Network Side
|
(config)#interface xe3 |
Enter the Interface mode for xe3. |
|
(config-if)#ip address 10.255.128.44/31 |
Configure IP address on the interface. |
|
(config-if)#enable-ldp ipv4 |
Enable LDP on the physical interface |
|
(config-if)#label-switching |
Enable label switching on the interface. |
|
(config-router)#commit |
Commit the transaction. |
PE2: OSPF Configuration
|
(config)#router ospf 200 |
Enter the Router OSPF mode. |
|
(config-router)#ospf router-id 10.143.73.5 |
Router-ID configurations |
|
(config-router)#network 10.143.73.5/32 area 0.0.0.0 |
Advertise loopback address in OSPF. |
|
(config-router)#network 10.255.128.44/31 area 0.0.0.0 |
Advertise network address in OSPF. |
|
(config-router)#commit |
Commit the transaction. |
PE2: BGP Configuration
|
(config)#router bgp 65010 |
Enter the Router BGP mode, ASN: 65010 |
|
(config)#allocate-label all |
Configure allocate all under router BGP |
|
(config-router)#neighbor 10.143.73.1 remote-as 65010 |
Configuring PE1 as iBGP neighbor using its loopback IP |
|
(config-router)#neighbor 10.143.73.4 remote-as 65010 |
Configuring ABR2 as iBGP neighbor using its loopback IP |
|
(config-router)#neighbor 10.143.73.1 update-source lo |
Source of routing updates as loopback |
|
(config-router)#neighbor 10.143.73.4 update-source lo |
Source of routing updates as loopback |
|
(config-router)# address-family ipv4 unicast |
Entering into address family ipv4 unicast |
|
(config-router-af)# network 10.143.73.5/32 |
Advertise the network |
|
(config-router-af)# exit-address-family |
Exit from IPv4 address family |
|
(config-router)# address-family ipv4 labeled-unicast |
Entering into address family ipv4 labeled-unicast |
|
(config-router-af)#neighbor 10.143.73.4 activate |
Activate the ipv4 labeled-unicast neighbor |
|
(config-router)#address-family l2vpn evpn |
Entering into address family mode as EVPN |
|
(config-router-af)#neighbor 10.143.73.1 activate |
Enabling EVPN Address family for neighbor |
|
(config-router-af)#exit |
Exiting of Address family mode |
|
(config-router)#commit |
Commit the transaction |
PE2: MAC VRF Configuration
|
(config)#mac vrf vrf2 |
Enter VRF mode |
|
(config-vrf)#rd 10.143.73.5:2 |
Configuring Route-Distinguisher value 10.143.73.3:2 |
|
(config-vrf)#route-target both 2:2 |
Configuring import and export value as 2:2 Support: route-target export route-target import |
|
(config-vrf)#exit |
Exiting VRF Mode |
|
(config)#mac vrf vpls1001 |
Enter VRF mode |
|
(config-vrf)#rd 10.143.73.5:1001 |
Configuring Route-Distinguisher value 10.143.73.3:1001 |
|
(config-vrf)#route-target both 1001:1001 |
Configuring import and export value as 1001:1001 |
|
(config-vrf)#commit |
Commit the transaction |
PE2: EVPN-ELINE (VPWS) and VRF Mapping
|
(config)#evpn mpls id 252 xconnect target-mpls-id 2 |
Configure the EVPN-ELINE identifier with source identifier 252 and target identifier 2 |
|
(config-evpn-mpls)#host-reachability-protocol evpn-bgp vrf2 |
Mapping vrf "vrf2" to EVPN-ELINE identifier |
|
(config-evpn-mpls)#commit |
Commit the transaction. |
|
(config-evpn-mpls)#exit |
Exit the EVPN MPLS mode and return to the configure mode. |
PE2: EVPN-VPWS (ELINE) Access Port Configuration
|
(config)#interface xe2 |
Enter the Interface mode for xe2. |
|
(config-if)#description access-side-int |
Giving Interface Description. |
|
(config-if)#interface xe2.2 switchport |
Creating L2 sub interface of physical interface xe2. |
|
(config-if)#encapsulation dot1q 2 |
Setting Encapsulation to dot1q with VLAN ID 2. Supported Encapsulation: dot1ad, dot1q, untagged, default |
|
(config-if)#access-if-evpn |
Entering Access mode for EVPN MPLS ID configuration. |
|
(config-access-if)#map vpn-id 252 |
Map VPN-ID 252 to interface xe2.2 (VPWS). |
PE2: EVPN-VPLS (ELAN) and VRF Mapping
|
(config)#evpn mpls id 1001 |
Configure the EVPN-ELAN identifier with identifier 1001 |
|
(config-evpn-mpls)#host-reachability-protocol evpn-bgp vpls1001 |
Mapping vrf "vpls1001" to EVPN-ELAN identifier |
|
(config-evpn-mpls)#commit |
Commit the transaction. |
|
(config-evpn-mpls)#exit |
Exit the EVPN MPLS mode and return to the configure mode. |
PE2: EVPN-VPLS (ELAN) Access Port Configuration
|
(config-if)#interface xe2.1001 switchport |
Creating L2 sub interface of physical interface xe2 |
|
(config-if)#encapsulation dot1q 1001 |
Setting Encapsulation to dot1q with VLAN ID 1001 Supported Encapsulation: dot1ad, dot1q, untagged, default |
|
(config-if)#access-if-evpn |
Entering Access mode for EVPN MPLS ID configuration |
|
(config-access-if)#map vpn-id 1001 |
Map vpn-id 1001 to interface xe2.1001 (VPLS) |
|
(config)#commit |
Commit candidate configuration to be running configuration |