ipspace / netlab

Making virtual networking labs suck less
https://netlab.tools
Other
439 stars 66 forks source link

EVPN/MPLS VLAN-Aware Bundle Service is severely limited on Arista EOS #557

Closed ipspace closed 2 years ago

ipspace commented 2 years ago

Turns out that Arista EOS doesn't like having a vlan interface configured on a VLAN that's part of EVPN/MPLS VLAN-Aware Service bundle. No such limitation exists on the VXLAN side, probably because it's still using VNI-per-VLAN whereas they have to pass dot1q-encapsulated packets over MPLS.

Without a VLAN interface, it's obviously impossible to do IRB on VLANs in a VLAN bundle.

Adhering to the "we won't add a feature flag because a single platform is broken" mantra, it would be interesting to know what the limitations are on SR OS, SR Linux, and Junos. If it turns out that I'm dealing with an Arista-only SNAFU, I would add a plugin that would restrict the data model to what Arista can support (and throw errors otherwise), and add "you really need that plugin to make things work" to caveats.

Alternatively, we could decide to drop VLAN interfaces that have no useful information on them (this seems to be the case for VLANs with mode: bridge). I could also bake that into Arista initial configuration template. I vaguely remember having this discussion a while ago, but can't remember what the results were.

Any ideas @jbemmel @ssasso?

jbemmel commented 2 years ago

At https://www.arista.com/en/um-eos/eos-sample-configurations it looks like EOS does support Vlan interfaces on bundles?

jbemmel commented 2 years ago

Could also need ‘’’ hardware tcam

system profile vxlan-routing’’’

ipspace commented 2 years ago

At https://www.arista.com/en/um-eos/eos-sample-configurations it looks like EOS does support Vlan interfaces on bundles?

That example works as-is (with VXLAN encapsulation), but didn't work for me with MPLS transport.

ipspace commented 2 years ago

Could also need ‘’’ hardware tcam system profile vxlan-routing’’’

Yeah, that's probably needed on a real switch, but shouldn't matter on vEOS, and again, relates to VXLAN.

Thanks for the hints, will implement "device quirks" once I get the EVPN branch merged.

ipspace commented 2 years ago

Implemented the EOS checks in "EOS device quirks" module f286bf71a941f08792aacba555be7cc92236110e -- if it turns out that these are common restrictions, we can move the tests into the EVPN module.