Skip to content

Add support for IPv6 RA reachable-time and router-preference - #1543

Merged
dplore merged 3 commits into
openconfig:masterfrom
vishak-mut:add-ipv6-ra-reachable-time-router-preference
Oct 8, 2026
Merged

dplore merged 3 commits into
openconfig:masterfrom
vishak-mut:add-ipv6-ra-reachable-time-router-preference

Conversation

@vishak-mut

@vishak-mut vishak-mut commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor
  • (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).

Change Scope

This change adds support for configuring two standard IPv6 Neighbor Discovery (ND) Router Advertisement (RA) parameters within the OpenConfig interfaces IP model:

  1. reachable-time (RFC 4861 §4.2 & §6.2.1):

    • Carried in the 32-bit Reachable Time field of ICMPv6 Router Advertisement messages.
    • Defines the time (in milliseconds) a node assumes a neighbor remains reachable after receiving a reachability confirmation.
    • Setting to 0 indicates that reachable time is unspecified by the advertising router.
    • Essential in bare-metal and data center environments with dynamic or routed host interfaces to tune neighbor unreachability detection (NUD) and ARP/ND cache refresh cycles.
  2. router-preference (RFC 4191 §2.1 & §2.2):

    • Advertised in the 2-bit Default Router Preference (Prf) field of the flag octet in ICMPv6 Router Advertisement messages.
    • Allows routers to signal preference levels (HIGH, MEDIUM, LOW) to downstream hosts.
    • Multi-homed hosts utilize this preference to prioritize default gateway selection when multiple routers are present on a shared or redundant segment.

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

    • AOS-CX supports both parameters under the interface context:
      • 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).
    • Verification: show ipv6 nd interface <interface-name>
  • Arista EOS documentation

    • Arista EOS supports both parameters under interface configuration mode:
      • 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).
    • Verification: 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

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 thread release/models/interfaces/openconfig-if-ip.yang
@vishak-mut
vishak-mut force-pushed the add-ipv6-ra-reachable-time-router-preference branch from e792977 to 560a0d3 Compare September 15, 2026 15:42

@vishak-mut vishak-mut left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed comment

@dplore dplore moved this to Ready to discuss in OC Operator Review Sep 17, 2026
@dplore

dplore commented Sep 17, 2026

Copy link
Copy Markdown
Member

/gcbrun

@OpenConfigBot

OpenConfigBot commented Sep 17, 2026 •

Copy link
Copy Markdown

No major YANG version changes in commit 28bb876

@dplore dplore moved this from Ready to discuss to last-call in OC Operator Review Sep 22, 2026

@dplore dplore left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, setting to last call for Oct 6, 2026

@dplore

dplore commented Sep 22, 2026

Copy link
Copy Markdown
Member

/gcbrun

* (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).
@vishak-mut
vishak-mut force-pushed the add-ipv6-ra-reachable-time-router-preference branch from 405d2b3 to b9c8d70 Compare October 1, 2026 15:37
@vishak-mut

Copy link
Copy Markdown
Contributor Author

/gcbrun

@dplore

dplore commented Oct 5, 2026

Copy link
Copy Markdown
Member

/gcbrun

@dplore

dplore commented Oct 8, 2026

Copy link
Copy Markdown
Member

/gcbrun

@dplore
dplore merged commit a40843a into openconfig:master Oct 8, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: last-call

Development

Successfully merging this pull request may close these issues.

4 participants