VPLS Configuration Issues in Cisco Modeling Labs (IOS XRd)

The Issue

I’m writing this to give fellow Cisco Modeling Lab users a heads up about configuring VPLS on IOS XRd. I spent a lot of time troubleshooting this and there isn’t much information on the internet. In short the VPLS or EVPN data plane / forwarding plane does not work on the IOS XRd image. Only the control plane works.

What this means is that even if you configure the bridge group, bridge domain, and VFIs correctly data will not be forwarded. The Pseudowires and attachment circuits will come up as you can see in the screenshots below, but no MAC addresses will be learned. This can be confusing to troubleshoot since typical verification commands show everything is up. This is because they are up from a control plane standpoint.

IOS XRd show l2vpn bridge-domain brief

If you try to send traffic through those Pseudowires it will not be forwarded. No MAC addresses will be learned by the bridge domains either. So if you’re trying to figure out why IOS XRd isn’t forwarding VPLS traffic this is why.

The only reference to this issue that I could find was a Cisco Community post from 2015: VPLS Not Working on Cisco IOS XR CRS 5.3. The user was having trouble configuring VPLS on IOS XRv and Cisco support confirmed that the VPLS data plane didn’t work on IOS XRv. IOS XRd is the successor to XRv and it seems to have inherited this disappointing trait.

This also applies to EVPN too. EVPN does not work on IOS XRd or XRv, it is control plane only as well. I was able to confirm this here: EVPN and Bridge domain not working in CML. No multipoint layer 2 VPNs work in IOS XRd or XRv. Point to Point (VPWS) L2VPNs do work without issue, you can see my lab write up on VPWS here: How to Build a Layer 2 VPN (VPWS) in Cisco Modeling Labs.

The Solution

If you need a workaround, IOS XE imaged like the CSR1000v or Cat8000v have functioning EVPN / VPLS data planes. I’ll warn you that they are more resource heavy compared to the containerized XRd image. Because of this I had to shrink my topology for my VPLS lab.

I really hope this can save people some time and stress. It took me a while to figure out why this was happening, partly because I was using AIs to troubleshoot and they weren’t aware of this issue since it’s not mentioned anywhere online (for XRd). Well, it is now.

I was able to successfully build VPLS and EVPN labs using the IOS XE CSR1000v image. The links to those labs are here:

How to Build a Layer 2 Multipoint VPN (VPLS) in Cisco Modeling Labs
How to Build a Layer 2 MPLS VPN (EVPN) in Cisco Modeling Labs

2 thoughts on “VPLS Configuration Issues in Cisco Modeling Labs (IOS XRd)”

  1. good blog , i’m testing the xrd recently and affect this issue also , share my experices also:

    1. from xrd 24.2.2 it support control plane MAC learning , but still not support data plane

    RP/0/RP0/CPU0:Router-A#show l2vpn forwarding bridge-domain BRG-66:BD-66 mac-address location 0/RP0/CPU0
    Fri Jul 31 09:58:03.828 UTC
    Mac Address Type Learned from/Filtered on LC learned Age Mapped to
    ————– ——- ————————— ———- ———————- ————–
    00e0.f71e.d7fe routed BD id: 0 N/A N/A N/A
    aac1.ab50.6b90 dynamic Gi0/0/0/0 0/RP0/CPU0 0d 0h 28m 42s N/A <<<<<<

    2. the only VPLS data path support on XRd-CP is plain L2 bridging between physical or sub-interfaces

    HOST-A eth0 HOST-B eth0
    192.168.100.11/24 192.168.100.22/24
    | |
    XRd Gi0/0/0/0 —— BD-UNTAGGED —— Gi0/0/0/1
    l2transport l2transport

    interface GigabitEthernet0/0/0/0
    no shutdown
    l2transport
    !
    interface GigabitEthernet0/0/0/1
    no shutdown
    l2transport
    !
    l2vpn
    bridge group XRd-LOCAL
    bridge-domain BD-UNTAGGED
    interface GigabitEthernet0/0/0/0
    !
    interface GigabitEthernet0/0/0/1
    !
    !
    !

    HOST-A:~$ ping -c 3 -W 1 192.168.100.22
    PING 192.168.100.22 (192.168.100.22): 56 data bytes
    64 bytes from 192.168.100.22: seq=0 ttl=42 time=3.149 ms

    Reply
    • Thank you for sharing. It is interesting that direct L2 bridging between interfaces works, that is something I hadn’t tried. Hopefully more L2VPN support will be added to IOS XRd in the future!

      Reply

Leave a Comment