-
Notifications
You must be signed in to change notification settings - Fork 658
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
Add gre
and mpls
containers under next-hops aft entry state. Add ttl
and tos
under gre, mpls and ip-in-ip aft entry state for telemetry.
#879
Conversation
Major YANG version changes in commit a69ea22: |
Compatibility Report for commit a69ea22: |
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.
are these new fields intended for programming or solely telemetry? It'd be good to understand this.
added some questions in-line to clarify some of the new fields.
Solely for a Telemetry based use case. |
ttl
and tos
in NH AFT entry state and Add next-hop-group-name
in NHG AFT entry statettl
and tos
in NH AFT entry state and Add next-hop-group-name
and auto-size
in NHG AFT entry state
ttl
and tos
in NH AFT entry state and Add next-hop-group-name
and auto-size
in NHG AFT entry stategre
and mpls
containers under next-hops aft entry state. Add ttl
and tos
under gre, mpls and ip-in-ip aft entry state for telemetry.
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.
@romeyod could you clarify which feature you are supporting?
Please include how one would configure this feature (using existing or new OC as required, or if not supported in OC, the relevant vendor CLI ) to demonstrate when these AFT fields would be populated.
@dplore We want to support next-hop-group state and next-hop content streaming for telemetry. For full view of the encapsulation header, streaming TTL and TOS field along with the already existing AFT state. I did not see any existing OC configs for this. Example: https://openconfig.net/projects/models/schemadocs/yangdoc/openconfig-aft.html#mod-openconfig-aft Arista documentation for the CLI Example CLI config snippet:
Let me know if I didnt understand your query correctly. Thanks |
|
||
container mpls { | ||
description | ||
"When specified, the packet has an MPLS header applied to it before |
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.
If multiple labels are getting added and each label has its own tos/ttl values then what should be the values?
Should these mpls specific leaves tos/ttl kept under "pushed-mpls-label-stack"?
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.
@romeyod any comments on this suggestion?
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.
Missed following up on this, let me get back to you about this. [ my understanding is this TTL/TOS is for the next-hop and need to clarify what it means wrt mpls labels ]
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.
@krishna-juniper Thanks for the suggestion
pushed-mpls-label-stack
is of type oc-mplst:mpls-label
which is also used in other models. Example: popped-mpls-label-stack
, start-label-value
more occurences
Instead of adding ttl/tos to oc-mplst:mpls-label
and affecting unrelated models, we can do the following:
define a typedef encap-outer-header-state
with ttl and tos
and
in place of mpls container, under next-hop/state
at the same level as pushed-mpls-label-stack
we define
leaf-list pushed-mpls-label-header-state {
type encap-outer-header-state;
}
This new leaf-list pushed-mpls-label-header-state
will have ordered entries with tos/ttl corresponding to pushed-mpls-label-stack
Let me know what you think about this proposal.
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.
The approach assumes implicit correlation between labels and ttl/tos. (labels coming from pushed-mpls-label-stack, ttl/tos coming from pushed-mpls-label-header-state).
By adding label stack as part of new container(container for encap-outer-header-state + pushed labels) we can avoid this implicit correlation at the cost of redundant information.
what are your thoughts on this approach?
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.
Is this approach supported on any system? Please can we provide multi-vendor examples if we are going to make such a change?
Note that changes around how the MPLS label stack is being pushed have implications in gRIBI and are backwards compatible. I'd like to make sure we're supporting a use case that is actually supported here, since it also has overhead for those that don't care about this.
I also don't really like this typedef being a single leaf -- i think we rather need to think about how this is actually user friendly to parse.
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.
I agree with you @robshakir. We should not be make existing pushed-mpls-label-stack
backward incompatible in anyway. Hence I proposed a new leaf/leaf list pushed-mpls-label-header-state
that focuses only on the ttl/tos use case.
I also don't really like this typedef being a single leaf -- i think we rather need to think about how this is actually user friendly to parse.
I don't completely understand this comment. The newtypedef
encap-outer-header-state
will have ttl and tos leafs.
I do think we need to work together and come up with a more user friendly layout. Will appreciate any inputs or existing precedence references.
* (M) aft/openconfig-aft-common.yang * (M) aft/openconfig-aft-ethernet.yang * (M) aft/openconfig-aft-ipv4.yang * (M) aft/openconfig-aft-ipv6.yang * (M) aft/openconfig-aft-mpls.yang * (M) aft/openconfig-aft-pf.yang * (M) aft/openconfig-aft-state-synced.yang * (M) aft/openconfig-aft.yang - Add next-hop-group-name in NHG AFT entry state - Add ttl and tos in NH AFT entry state
…and tos under gre, mpls and ip-in-ip aft entry state. Remove nexthop-group-name and autosiz changes from this PR.
Change Scope
Platform Implementations
Relevant pyang output: