Skip to content

lacp: add fallback-timeout configuration to aggregate interfaces#1473

Open
aamirshah2k wants to merge 4 commits intoopenconfig:masterfrom
aamirshah2k:add-lacp-fallback-timeout
Open

lacp: add fallback-timeout configuration to aggregate interfaces#1473
aamirshah2k wants to merge 4 commits intoopenconfig:masterfrom
aamirshah2k:add-lacp-fallback-timeout

Conversation

@aamirshah2k
Copy link
Copy Markdown

Change Scope

  • This PR adds a fallback-timeout leaf to the openconfig-lacp model under /lacp/interfaces/interface/config/. This leaf specifies the timeout in seconds to wait for LACP PDUs before the interface falls back to a single port active state. This allows for faster or more predictable failover behaviors when LACP negotiation fails
  • This change is backwards compatible as it only adds a new optional leaf to the existing model

Platform Implementations

Tree View


[Next, cut and paste the relevant portion of the tree with enough context for reviewers to quickly understand the change.]
```diff
 module: openconfig-lacp
   +--rw lacp
      +--rw config
      |  +--rw system-priority?   uint16
      +--ro state
      |  +--ro system-priority?   uint16
      +--rw interfaces
         +--rw interface* [name]
            +--rw name       -> ../config/name
            +--rw config
            |  +--rw name?              oc-if:base-interface-ref
            |  +--rw interval?          lacp-period-type
            |  +--rw lacp-mode?         lacp-activity-type
            |  +--rw system-id-mac?     oc-yang:mac-address
            |  +--rw fallback?          boolean
+           |  +--rw fallback-timeout?   uint16
            |  +--rw system-priority?   uint16
            +--ro state
            |  +--ro name?              oc-if:base-interface-ref
            |  +--ro interval?          lacp-period-type
            |  +--ro lacp-mode?         lacp-activity-type
            |  +--ro system-id-mac?     oc-yang:mac-address
            |  +--ro fallback?          boolean
+           |  +--ro fallback-timeout?   uint16
            |  +--ro system-priority?   uint16
            +--rw members
               +--rw member* [interface]
                  +--rw interface    -> ../config/interface
                  +--rw config
                  |  +--rw interface?       oc-if:base-interface-ref
                  |  +--rw port-priority?   uint16
                  +--ro state
                     +--ro interface?               oc-if:base-interface-ref
                     +--ro port-priority?           uint16
                     +--ro activity?                lacp-activity-type
                     +--ro timeout?                 lacp-timeout-type
                     +--ro synchronization?         lacp-synchronization-type
                     +--ro aggregatable?            boolean
                     +--ro collecting?              boolean
                     +--ro distributing?            boolean
                     +--ro system-id?               oc-yang:mac-address
                     +--ro oper-key?                uint16
                     +--ro partner-id?              oc-yang:mac-address
                     +--ro partner-key?             uint16
                     +--ro port-num?                uint16
                     +--ro partner-port-num?        uint16
                     +--ro partner-port-priority?   uint16
                     +--ro last-change?             oc-types:timeticks64
                     +--ro counters
                        +--ro lacp-in-pkts?               oc-yang:counter64
                        +--ro lacp-out-pkts?              oc-yang:counter64
                        +--ro lacp-rx-errors?             oc-yang:counter64
                        +--ro lacp-tx-errors?             oc-yang:counter64
                        +--ro lacp-unknown-errors?        oc-yang:counter64
                        +--ro lacp-errors?                oc-yang:counter64
                        +--ro lacp-timeout-transitions?   oc-yang:counter64

Copy link
Copy Markdown

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

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 introduces a new 'fallback-timeout' leaf to the LACP statistics grouping in the OpenConfig YANG model. The review identifies that the description string for this new leaf exceeds the 70-character line length limit recommended by the project's style guidelines and provides a corrected suggestion.

Comment thread release/models/lacp/openconfig-lacp.yang
@dplore dplore self-assigned this Apr 9, 2026
@dplore dplore moved this to Ready to discuss in OC Operator Review Apr 9, 2026
@dplore
Copy link
Copy Markdown
Member

dplore commented Apr 9, 2026

/gcbrun

@OpenConfigBot
Copy link
Copy Markdown

OpenConfigBot commented Apr 9, 2026

No major YANG version changes in commit 370b097

@dplore
Copy link
Copy Markdown
Member

dplore commented Apr 9, 2026

This looks good to me, thank you for providing the implementation references. Scheduled for review in April 14, 2026 OC operators review. I am going to mark this last call now with merge target date of April 14,2026 since this is rather straightforward.

@dplore dplore moved this from Ready to discuss to last-call in OC Operator Review Apr 9, 2026
Comment thread release/models/lacp/openconfig-lacp.yang Outdated
@ElodinLaarz
Copy link
Copy Markdown
Contributor

/gcbrun

@ElodinLaarz
Copy link
Copy Markdown
Contributor

Reviewed at OC Operators Meeting April 14th, 2026:

Still need the author to fix the failing CI checks.

The units of uint16 seem okay (vendor max are 300 / 3600 seconds; both of which are smaller than 2^16).

Since fallback already exists, this seems reasonable. Will re-review once the CI checks are passing (@dplore left a comment on how to fix it with OC version update.)

Co-authored-by: Darren Loher <dloher@google.com>
@ElodinLaarz
Copy link
Copy Markdown
Contributor

/gcbrun

@ElodinLaarz
Copy link
Copy Markdown
Contributor

/gcbrun

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