-
Notifications
You must be signed in to change notification settings - Fork 97
Mlag VTEP plugin #1912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mlag VTEP plugin #1912
Conversation
32ce37c to
7c91ecc
Compare
4eacfe8 to
36c4ada
Compare
…the base code features.lag.mlag = True exists, so the plugin cannot use features.lag.mlag.vtep
|
Are you sure there's need for such a convoluted solution? Wouldn't it be better to create an extra loopback link per node, set static IP on it, and set vxlan.vtep to true. Also, use the existing address pool functionality instead of building your own. Don't reinvent the wheel where it's not needed. Closing this PR as I assume it will be cleaner to start from scratch. |
At its core, that's what this 80-line plugin does (lines 59-67): Some devices - like Cumulus NVUE - have their own way of configuring this loopback, so those use a custom script instead
Lines 27-30: This adds a separate address pool to the existing functionality, with fallback to the regular loopback pool. I could tweak the logic to allow the user to just use the regular loopback pool, but for debugging/tracing purposes I think it can be helpful if MLAG VTEP addresses are distinct from ordinary loopbacks.
I could draft a clean PR, but IMHO the functionality you're asking for is already there - I don't see how I could submit something fundamentally different |
|
Look, if other people invest time into commenting your stuff, you should at least carefully read what they wrote. For example,
Here's the exact data structure you would have to use: https://netlab.tools/module/vxlan/#changing-the-vxlan-vtep-source-interface-address Creating a loopback link before link transformation would eliminate all the hassle and the dirty hacks you had to go through to make the plugin work for one use case you had in mind -- OSPF running in area 0. Instead of reinventing a badly-designed wheel, everything would work out of the box. There would be no need to add feature flags. Either multiple loopbacks, MLAG, and VXLAN work or not. Similarly for the address pools. Why do you have to invent a new attribute and convert it into an address pool if the address pools work just fine out of the box? Just add an address pool in plugin defaults. Finally, you should use vrf_loopback pool as the fallback. Addresses are taken sequentially from the vrf_loopback pool while the loopback address allocation uses node ID. |
I wasn't following what you were saying, but now I see what you mean. Will rework things |
Context: #1835
This PR adds support for VTEP redundancy, by provisioning a shared IP across both MLAG peers.
Includes - tested - support for: