Add support for IPv6 RA reachable-time and router-preference - #1543
Open
vishak-mut wants to merge 1 commit into
Open
Add support for IPv6 RA reachable-time and router-preference#1543vishak-mut wants to merge 1 commit into
vishak-mut wants to merge 1 commit into
Conversation
* (M) release/models/interfaces/openconfig-if-ip.yang - Add support for IPv6 RA reachable-time (RFC 4861). - Add support for IPv6 RA router-preference (RFC 4191).
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates the openconfig-if-ip.yang module to version 3.10.0, introducing reachable-time and router-preference leaves to the IPv6 Router Advertisement configuration. The review feedback recommends adding a range constraint of 0..3600000 to the reachable-time leaf to comply with RFC 4861 limits.
Comment on lines
+1184
to
+1193
| leaf reachable-time { | ||
| type uint32; | ||
| units milliseconds; | ||
| default 0; | ||
| description | ||
| "The time, in milliseconds, that a node assumes a neighbor is | ||
| reachable after having received a reachability confirmation. Set | ||
| to 0 to indicate that reachable time is unspecified by this router."; | ||
| reference "RFC4861: Neighbor Discovery for IPv6, section 4.2 and 6.2.1"; | ||
| } |
Contributor
There was a problem hiding this comment.
According to RFC 4861 Section 6.2.1, the ReachableTime value MUST be no greater than 3,600,000 milliseconds (1 hour). It is highly recommended to add a range constraint to the reachable-time leaf to enforce this limit and prevent invalid configurations.
leaf reachable-time {
type uint32 {
range "0..3600000";
}
units milliseconds;
default 0;
description
"The time, in milliseconds, that a node assumes a neighbor is
reachable after having received a reachability confirmation. Set
to 0 to indicate that reachable time is unspecified by this router.";
reference "RFC4861: Neighbor Discovery for IPv6, section 4.2 and 6.2.1";
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change Scope
This change adds support for configuring two standard IPv6 Neighbor Discovery (ND) Router Advertisement (RA) parameters within the OpenConfig interfaces IP model:
reachable-time(RFC 4861 §4.2 & §6.2.1):0indicates that reachable time is unspecified by the advertising router.router-preference(RFC 4191 §2.1 & §2.2):HIGH,MEDIUM,LOW) to downstream hosts.The change is backwards-compatible and purely additive (minor version bump
3.9.0->3.10.0).Platform Implementations
Proof of implementation across two separate network operating system platforms:
HPE Aruba Networking (AOS-CX) documentation
ipv6 nd ra reachable-time <TIME>: Configures the reachable time in milliseconds advertised in RAs (default:0).ipv6 nd router-preference {high | medium | low}: Configures the Default Router Preference in RAs (default:medium).show ipv6 nd interface <interface-name>Arista EOS documentation
ipv6 nd reachable-time <0-3600000>: Configures the reachable time in milliseconds advertised in RAs (default:0).ipv6 nd router-preference {high | medium | low}: Configures the Default Router Preference in RAs (default:medium).show ipv6 interface <interface-name>Tree View
module: openconfig-interfaces +--rw interfaces +--rw interface* [name] +--rw subinterfaces +--rw subinterface* [index] +--rw oc-ip:ipv6 +--rw oc-ip:router-advertisement +--rw oc-ip:config | +--rw oc-ip:enable? boolean | +--rw oc-ip:interval? uint32 | +--rw oc-ip:lifetime? uint32 | x--rw oc-ip:suppress? boolean | +--rw oc-ip:mode? enumeration | +--rw oc-ip:managed? boolean | +--rw oc-ip:other-config? boolean + | +--rw oc-ip:reachable-time? uint32 + | +--rw oc-ip:router-preference? enumeration +--ro oc-ip:state +--ro oc-ip:enable? boolean +--ro oc-ip:interval? uint32 +--ro oc-ip:lifetime? uint32 x--ro oc-ip:suppress? boolean +--ro oc-ip:mode? enumeration +--ro oc-ip:managed? boolean +--ro oc-ip:other-config? boolean + +--ro oc-ip:reachable-time? uint32 + +--ro oc-ip:router-preference? enumeration