-
Notifications
You must be signed in to change notification settings - Fork 657
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
Adding support for configuration of ECMP of next hops for a static LSP #1138
Conversation
I would propose to align this with the AFT model and introduce the concept of next-hop-groups. Also, I'm not entirely clear on the |
By backward compatibility, I meant the leaves model under (egress | transit | ingress)/config to configure a single next-hop are not being removed to change into a list. Instead, we are introducing a new container for the list of next-hops. |
Ah, I see what you mean. I don't think it makes too much sense to keep the two (redundant/conflicting) methods in the long term, and the usual procedure of marking the old leafs as |
Sure thanks, will update that. Also regarding next-hops, I have tried to use here similar to Static routes |
I'd be happy if we added the concept of NHGs to static-routes too! That makes a lot of sense. I think you guys support it as well? |
Yes, next-hop-groups is like an addition/enhancement to next-hops, right? We can still configure a list of next-hops and use them directly without configuring next-hop groups right? In EOS, we can create a new next-hop each time we run a command: Here, we need not use next-hop group |
w.r.t |
For reference:
|
yes, and I think we should allow that.
Not a must, but a uniform approach would be highly beneficial from an implementation point of view. Otherwise, we need to support different ways of "config" (e.g., for gRIBI vs. CLI), which has to be normalized behind the scenes multiple times/in different ways (e.g., for hw programming, for AFT outputs, etc.).
I'd love to see it for static routes as well. :-) |
/gcbrun |
No major YANG version changes in commit 75ac876 |
Also Arista implementation doesn't have option to use next-hop group to configure transit labels and its optional for egress labels (https://www.arista.com/en/um-eos/eos-mpls-commands#xx1141474) |
9ee7059
to
6bdbc24
Compare
/gcbrun |
To be reviewed on July 30,2024 OC Operators meeting |
Should this also deprecate the following leafs? This way it's clear the preferred way to configure any/all LSP's is via the next-hops/next-hop subtree.
|
|
To avoid a breaking change we can't rename the existing, to be deprecated leaf so we'll need the newly introduced container and list to use something like |
Actually, Regarding |
Reviewed with OC Operators on July 30,2024. The following names were proposed. We'll leave this open a couple more days and then should choose one: Ideas to resolve conflict due to ygot compression:
|
6bdbc24
to
c406910
Compare
/gcbrun |
I would be updating the model using the first option: lsp-next-hops/lsp-next-hop |
I approve, please do submit the change. |
c406910
to
039ee2a
Compare
Thanks, I have updated the PR with the change. |
/gcbrun |
Regarding operational use case, Google and others on the Operator group voiced support that this is a real use case in use. Regarding multiple vendor implementations:
@LimeHat I think adding next-hop-group is also an option. That could be via a separate PR. As Rob pointed out, the precedent with IP static routes uses only a nexthop. So I think this PR follows that precedent which is ok. Internally a NOS is free to construct an AFT using groups to deliver this configured functionality. |
Last call for comment Aug 20th, 2024 |
@dplore, yes, repeating the CLI configuration is the method to define multiple next hops in EOS. |
Updated the implementation references, including adding a reference to SRLinux. |
Gentle reminder! |
/gcbrun |
Co-authored-by: Darren Loher <[email protected]>
Change Scope
Currently, model supports configuration of only a single next hop for a given LSP name. We are adding support to configure multiple next hops by adding a new container
next-hops
to support backward compatibility. The incoming-label and metric will be used from existing config itself as its common to all next-hops.Platform Implementations
CLI configuration: mpls static top-label top_tag[ bgp peer [peer IP]] [DEST_INTF] NEXTHOP_ADDR ACTION [PRIORITY]