ipspace / netlab

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

EVPN IRB models #562

Closed ipspace closed 1 year ago

ipspace commented 1 year ago

Have to do "a bit" more reading and a few hands-on tests, but it looks like we might have to support three modes of EVPN IRB:

We could add a VRF attribute evpn.irb with three valid values: asymmetric, symmetric and hosts. These settings would trigger a ton of things that we still have to figure out. For example:

I'm positive there will be other gotchas we'll discover along the way. Any thoughts on this @jbemmel @ssasso @ddutt?

jbemmel commented 1 year ago

RFC9135 defines a control plane procedure for symmetric IRB which involves 2 RTs per type 2 route. I'm guessing this may be what you call "host routes" symmetric IRB flavor?

SR Linux does not support that - it only uses a single RT and type 5 routes (RFC9136)

FRR has a feature called EVPN Overlay Index Gateway IP for recursive RT5 resolution following RFC9136. It is supported for asymmetric routing model only

In all the above cases, what I think we need support for (perhaps more), is anycast gateways (https://github.com/ipspace/netlab/pull/551)

ipspace commented 1 year ago

RFC9135 defines a control plane procedure for symmetric IRB which involves 2 RTs per type 2 route. I'm guessing this may be what you call "host routes" symmetric IRB flavor?

Yes. Have to reach that RFC one of these days ;)

SR Linux does not support that - it only uses a single RT and type 5 routes (RFC9136)

Noted. There are probably other platforms out there doing the same -- the more I'm dealing with EVPN, the more I believe calling it "SIP of networking" was the right call.

In all the above cases, what I think we need support for (perhaps more), is anycast gateways (#551)

Absolutely agree. We'll get there ;) I'm just jotting down things that might have to be done (or not).

ssasso commented 1 year ago
  • Symmetric -- transit VNI/L3 wire used for RT5 prefixes
  • Host routes -- symmetric IRB with RT2 IP addresses turned into VRF host routes

Couldn't we "embed" these two into the same functionality (symmetric irb), and let the "template developer" to define how to handle them?

ipspace commented 1 year ago

I had a weird idea (not sure whether anyone implemented it though) of not stretching VLANs but using host routes to achieve intra-subnet connectivity.

I know Cisco did something similar (host routes as RT5), and I know Cumulus can do "redistribute arp". It's the question of whether enough platforms support this design to make it separate from more traditional symmetric IRB with stretched VLANs.

ipspace commented 1 year ago

The implementation (at least for the VXLAN world) turned out to be surprisingly simple, and in the MPLS world we assume symmetric IRB.

I don't think we want to go down the infinitely branching paths of various EVPN deployment models for the moment, but of course we could do whatever extra stuff with plugins ;)