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:

#R3
int Gi0/0/0/0
 mtu 1400

#R1
RP/0/RP0/CPU0:R1#show l2vpn xconnect detail
Thu Oct  6 15:31:20.634 UTC

Group evpn-vpws, XC evpn1, state is down; Interworking none
  AC: GigabitEthernet0/0/0/0, state is up
    Type Ethernet
    MTU 1500; XC ID 0x2; interworking none
    Statistics:
      packets: received 130, sent 134
      bytes: received 15160, sent 15115
  EVPN: neighbor 3.3.3.3, PW ID: evi 100, ac-id 12, state is down ( all ready )
    XC ID 0xa0000003
    Encapsulation MPLS
    Source address 1.1.1.1
    Encap type Ethernet, control word disabled
    Sequencing not set
    Ignore MTU mismatch: Disabled
    Transmit MTU zero: Disabled
    LSP : Up

      EVPN         Local                          Remote                        
      ------------ ------------------------------ -----------------------------
      Label        24000                          24000                         
      MTU          1500                           1386                          
      Control word disabled                       disabled                      
      AC ID        10                             12                            
      EVPN type    Ethernet                       Ethernet                      

      ------------ ------------------------------ -----------------------------
    Create time: 06/10/2022 15:11:31 (00:19:48 ago)
    Last time status changed: 06/10/2022 15:31:17 (00:00:02 ago)
    Last time PW went down: 06/10/2022 15:31:17 (00:00:02 ago)
    Error: MTU mismatched
    Statistics:
      packets: received 134, sent 130
      bytes: received 15115, sent 15160

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.

evpn
 evi 100
!
l2vpn bridge group evpn
 bridge-domain evpn1
  int Gi0/0/0/0
  evi 100

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