-
Notifications
You must be signed in to change notification settings - Fork 220
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
Set origin incomplete on routes from MLAG iBGP peer #600
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few changed and also we need to discuss setting this as default. Reach out if you need help on the new test/filter.
ansible_collections/arista/avd/roles/eos_l3ls_evpn/templates/fabric/bgp_base/route-maps.j2
Outdated
Show resolved
Hide resolved
...ions/arista/avd/roles/eos_l3ls_evpn/templates/fabric/bgp_base/leaf-router-bgp-peer-groups.j2
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_l3ls_evpn/templates/fabric/bgp_base/route-maps.j2
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bgp.j2
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_l3ls_evpn/templates/evpn-fabric-l3leaf-yml.j2
Outdated
Show resolved
Hide resolved
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/route-maps.yml
Outdated
Show resolved
Hide resolved
...ollections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-v4-evpn.yml
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/molecule/eos_cli_config_gen/molecule.yml
Outdated
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bgp.j2
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_l3ls_evpn/templates/fabric/bgp_base/route-maps.j2
Show resolved
Hide resolved
ansible_collections/arista/avd/roles/eos_l3ls_evpn/templates/fabric/bgp_base/route-maps.j2
Outdated
Show resolved
Hide resolved
@emilotep So after the latest changes you need to rerun molecule if you can. And then you have a merge conflict for eos_l3ls_evpn/README.md, so I suggest to do a rebase. |
Add variable knob and functionality for setting origin to incomplete on routes received from MLAG iBGP peer on l3leafs. The aim is to avoid suboptimal forwarding over peerlink for some traffic. The new knob is "mlag_ibgp_origin_incomplete: true/false" and is defined under fabric variables, either as default for all l3leafs or individually per l3leaf node group. The setting defaults to true if omitted. Additions to eos_l3ls_evpn and eos_cli_config_gen have been made to define a route-map RM-MLAG-PEER that sets the origin and applies it to the MLAG iBGP peer group: MLAG-IPv4-UNDERLAY-PEER. The knob is documented in the README for eos_l3ls_evpn role under the section that deals with fabric variables.
- Add newline at end of route-maps.j2 - Renaming new route-map from RM-MLAG-PEER to RM-MLAG-PEER-IN - Refactoring to use new arista.avd.defined test in /eos_cli_config_gen/templates/eos/router-bgp.j2
Refactored to using arista.avd.default filter for added variable.
Add descriptive text to the new route-map to clarify the purpose of the added configuration.
- Undid unintentional changes to Makefile and molecule.yml - Update molecule files with correct route-map name - Added condition in route-maps.yml to check for underlay proto = ebgp - Improved documentation of new variable knob
- Support for route_map_out added in router-bgp.j2 template - Added eos_cli_config_gen role documentation for route_map_in and _out - Added route_map_out to molecule - Reran molecule and linting
Conflicts have been resolved. A maintainer will review the pull request shortly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
Change Summary
Add variable knob and functionality for setting origin to incomplete on routes received from MLAG iBGP peer on l3leafs. The aim is to avoid suboptimal forwarding over the peerlink for some traffic.
Types of changes
Related Issue(s)
Fixes #572
Component(s) name
eos_l3ls_evpn/README.md
eos_l3ls_evpn/templates/evpn-fabric-l3leaf-yml.j2
eos_l3ls_evpn/templates/fabric/bgp_base/leaf-router-bgp-peer-groups.j2
eos_l3ls_evpn/templates/fabric/bgp_base/route-maps.j2
eos_cli_config_gen/templates/eos/router-bgp.j2
eos_cli_config_gen
eos_l3ls_evpn
Proposed changes
Add a new knob "mlag_ibgp_origin_incomplete: true/false, default -> true" under fabric variables, either as default for all l3leafs or individually per l3leaf node group to override the default.
Additions to eos_l3ls_evpn and eos_cli_config_gen templates have been made to define a route-map RM-MLAG-PEER that sets the origin and applies it inbound to the MLAG iBGP peer group: MLAG-IPv4-UNDERLAY-PEER. The route-map is not created if the knob is set to false.
The new variable is documented in the README for eos_l3ls_evpn role under the section that deals with fabric variables.
Example:
How to test
Have tried rendering EVPN configurations with most combinations of defining the knob under l3leaf defaults as well as overriding the default per node group. Templates render as expected regardless of whether the knob is undefined (implicitly true) or defined (explicitly true or false) at different levels.
Checklist:
pre-commit
,make linting
andmake sanity-lint
).