Skip to content

Conversation

@ipspace
Copy link
Owner

@ipspace ipspace commented Feb 7, 2026

Limitations:

  • No support for symmetric IRB

Limitations:
* No support for symmetric IRB
@ipspace
Copy link
Owner Author

ipspace commented Feb 7, 2026

@DanPartelly -- in case you want to try it out. Symmetric IRB coming as soon as I overcome my disgust at the fact that they expect us to configure an explicit VLAN for the transit VNI.

ipspace added a commit that referenced this pull request Feb 7, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds EVPN/VXLAN support for Cisco IOS/XE-based virtual platforms (Catalyst 8000v, IOL, IOLL2), with documented limitations (notably no symmetric IRB) and updated platform capability matrices.

Changes:

  • Extend IOS BGP session extras to include the L2VPN EVPN address-family neighbor knobs.
  • Add IOS/XE EVPN templates (common control-plane + platform-specific dataplane) and adjust IOS VXLAN template for EVPN-based flooding.
  • Update device feature flags and documentation tables/caveats to reflect EVPN/VXLAN support and limitations on Cat8000v and IOL/IOLL2.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
netsim/extra/bgp.session/ios.j2 Adds EVPN address-family handling in the BGP session “extra” template for IOS.
netsim/devices/iol.yml Declares VXLAN dependency on EVPN and EVPN asymmetric-IRB capability/limitations for IOL.
netsim/devices/cat8000v.yml Declares EVPN asymmetric-IRB capability/limitations for Catalyst 8000v.
netsim/ansible/templates/vxlan/ios.j2 Switches NVE config behavior depending on whether flooding is EVPN-based vs static replication.
netsim/ansible/templates/evpn/ios.j2 New IOS/XE EVPN dataplane template (bridge-domain-based platforms).
netsim/ansible/templates/evpn/ios-common.j2 New shared IOS/XE EVPN control-plane + MAC-VRF config (BGP + EVPN instance).
netsim/ansible/templates/evpn/ioll2.j2 New IOLL2-specific EVPN dataplane template using vlan configuration.
docs/platforms.md Updates platform support matrices to mark Cat8000v and IOL/IOLL2 EVPN-capable.
docs/module/vxlan.md Documents VXLAN feature support for IOL/IOLL2 (with caveat link).
docs/module/evpn.md Documents IOS/XE EVPN support (Cat8000v/IOL/IOLL2) and limitations via footnote and tables.
docs/caveats.md Adds IOL/IOLL2 caveats relevant to VXLAN/EVPN (MTU + static replication limitation).

@DanPartelly
Copy link
Collaborator

On IOL 17.16.01 I have been unable to get it to work. Even in a simple scenario. I'll run relevant tests tomorrow and see what the heck is going on on my side, as I'm sure you have run tests already, so the problem should be here.

@ipspace
Copy link
Owner Author

ipspace commented Feb 7, 2026

On IOL 17.16.01 I have been unable to get it to work.

I got that lab's solution.yml topology working with vrnetlab/cisco_iol:17.16.01a

as I'm sure you have run tests already

All of them, on all three platforms. Do keep in mind that VXLAN only works with EVPN

@DanPartelly
Copy link
Collaborator

DanPartelly commented Feb 7, 2026

Definitely a problem on my side, then.

Yes, I saw the notes. I've only run scenarios with EVPN as the control plane, and I haven't attempted anything with a static ingress list. Netlab will catch those scenarios anyway, for it requires EVPN for VXLAN on the platform. I have tried solution.yml as well (it did not work here), to make sure I didn't mess up the configuration, but the results are the same and the config is identical for all practical purposes.

Now I have to deal with another conundrum.

@DanPartelly
Copy link
Collaborator

Valid VNI range on Cisco IOL/IOl2 is 4096-16,777,215. And probably on other cisco devices as well.

We need some quirks to account for this.

s1(config-if)#member vni 1000 in
s1(config-if)#member vni 1000 ingress-replication ?
local-routing Enable vxlan centralized gateway forwarding for routed traffic

s1(config-if)#member vni 1000 ingress-replication
% Valid VNI Range is 4096-16777215.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants