E-Line (EVPN VPWS) on IOS-XR

This is a short article on configuring EVPN VPWS on IOS-XR.

The configuration is very similar to IOS-XE with a local and remote target value which is used in the type 1 route as the ethernet tag ID

RP/0/RP0/CPU0:R1#show run int gi0/0/0/0
Thu Oct  6 15:25:32.710 UTC
interface GigabitEthernet0/0/0/0
 l2transport

RP/0/RP0/CPU0:R1#show run l2vpn
Thu Oct  6 15:25:08.519 UTC
l2vpn
 xconnect group evpn-vpws
  p2p evpn1
   interface GigabitEthernet0/0/0/0
   neighbor evpn evi 100 target 12 source 10
RP/0/RP0/CPU0:R3#show run int gi0/0/0/0
Thu Oct  6 15:25:42.775 UTC
interface GigabitEthernet0/0/0/0
 l2transport

RP/0/RP0/CPU0:R3#show run l2vpn
Thu Oct  6 15:25:21.290 UTC
l2vpn
 xconnect group evpn-vpws
  p2p evpn1
   interface GigabitEthernet0/0/0/0
   neighbor evpn evi 100 target 10 source 12

The default RT value is <ASN>:<evi> on IOS-XR just like IOS-XE. (The screenshot below uses ASN 100 and EVI 100).

Additionally, IOS-XR advertises a second extcommunity which is used to signal the MTU:

Differing MTUs on each PE does bring down the xconnect on IOS-XR:

IOS-XR implementation of EVPN VPWS seems to resemble the LDP xconnect.

To get the equivalent of IOS-XE EVPN VPWS with no MTU checking, you would need to implement bridging instead of VPWS. We will cover bridging (E-LAN) in a subsequent article. Unfortunately you cannot commit a l2vpn bridge config on XRv9k so we can only lab this with IOS-XE.

Further Reading

https://www.cisco.com/c/en/us/td/docs/iosxr/ncs5500/vpn/66x/b-l2vpn-cg-ncs5500-66x/b-l2vpn-cg-ncs5500-66x_chapter_01011.html

https://xrdocs.io/design/blogs/2019-02-02-modernizing-ixp-design/#p2p-peer-interconnect-using-evpn-vpws

Last updated