Skip to content

[FRR] set the enable as default value for zebra_nexthop#25117

Merged
StormLiangMS merged 6 commits intosonic-net:masterfrom
lipxu:20260118_publicMaster_zebraNext_defaultDisable
Jan 30, 2026
Merged

[FRR] set the enable as default value for zebra_nexthop#25117
StormLiangMS merged 6 commits intosonic-net:masterfrom
lipxu:20260118_publicMaster_zebraNext_defaultDisable

Conversation

@lipxu
Copy link
Copy Markdown
Contributor

@lipxu lipxu commented Jan 18, 2026

Why I did it

Set the default value to enabled

Work item tracking
  • Microsoft ADO (number only):
    36367940

How I did it

Set the default value to enabled

How to verify it

Local

Which release branch to backport (provide reason below if selected)

  • 202305
  • 202311
  • 202405
  • 202411
  • 202505
  • 202511

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@lipxu lipxu marked this pull request as ready for review January 19, 2026 22:38
@lipxu lipxu requested review from StormLiangMS and Copilot January 19, 2026 22:38
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR changes the default value of the zebra_nexthop configuration from disabled to enabled in the YANG model and updates the virtual switch FRR zebra configuration accordingly.

Changes:

  • Changed the default value for zebra_nexthop from disabled to enabled in the YANG model
  • Updated the VS platform zebra.conf to enable zebra nexthop kernel by default

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/sonic-yang-models/yang-models/sonic-device_metadata.yang Changed default value for zebra_nexthop leaf from "disabled" to "enabled"
platform/vs/docker-sonic-vs/frr/zebra.conf Changed zebra nexthop kernel configuration from disabled to enabled

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@deepak-singhal0408
Copy link
Copy Markdown
Contributor

@lipxu , We probably need to modify the logic here too..
https://github.com/sonic-net/sonic-buildimage/blob/master/dockers/docker-fpm-frr/frr/zebra/zebra.conf.j2#L10

{% if (('localhost' in DEVICE_METADATA) and ('zebra_nexthop' in DEVICE_METADATA['localhost']) and
       (DEVICE_METADATA['localhost']['zebra_nexthop'] == 'enabled')) %}
zebra nexthop kernel enable
{% else %}
! Force disable next hop group support
no zebra nexthop kernel enable
{% endif %}

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@lipxu
Copy link
Copy Markdown
Contributor Author

lipxu commented Jan 20, 2026

/azpw run Azure.sonic-buildimage

@mssonicbld
Copy link
Copy Markdown
Collaborator

/AzurePipelines run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@eddieruan-alibaba
Copy link
Copy Markdown
Collaborator

Can you explain the motivation why you change the default behavior?

@deepak-singhal0408
Copy link
Copy Markdown
Contributor

Can you explain the motivation why you change the default behavior?

@eddieruan-alibaba, This is to ensure by default we keep nexthop group support enabled in kernel. Disabling this by default has side effects(like memory explosion etc)..
for MSFT issue seen on T1s, we can disable this feature internally for specific platforms as required.. But by default its better we keep this enabled, so the benefits of nethop group sharing in kernel is available..

Copy link
Copy Markdown
Contributor

@deepak-singhal0408 deepak-singhal0408 left a comment

Choose a reason for hiding this comment

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

LGTM

Signed-off-by: Liping Xu <[email protected]>
rraghav-cisco pushed a commit to rraghav-cisco/sonic-mgmt that referenced this pull request Feb 13, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: Raghavendran Ramanathan <[email protected]>
anilal-amd pushed a commit to anilal-amd/anilal-forked-sonic-mgmt that referenced this pull request Feb 19, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: Zhuohui Tan <[email protected]>
@deepak-singhal0408
Copy link
Copy Markdown
Contributor

recommend to not merge this in 202511, as this will alter the existing default behavior.. Newer branches going forward can have this default behavior..

let me know if any concerns.. Thanks,

looks like having this enabled by default works better for the community as well. we will take care internally for the devices where we dont need this setting, by explictly setting device_metadata flag.

@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202511: #25604

@mssonicbld
Copy link
Copy Markdown
Collaborator

@lipxu cherry pick PR didn't pass PR checker. Please check!!!
#25604

1 similar comment
@mssonicbld
Copy link
Copy Markdown
Collaborator

@lipxu cherry pick PR didn't pass PR checker. Please check!!!
#25604

@mssonicbld
Copy link
Copy Markdown
Collaborator

@lipxu cherry pick PR didn't pass PR checker. Please check!!!
#25604

mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Feb 24, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: mssonicbld <[email protected]>
vmittal-msft pushed a commit to sonic-net/sonic-mgmt that referenced this pull request Feb 25, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: mssonicbld <[email protected]>
Co-authored-by: Liping Xu <[email protected]>
FengPan-Frank pushed a commit to FengPan-Frank/sonic-buildimage that referenced this pull request Mar 6, 2026
)

Why I did it
Set the default value to enabled

Work item tracking
Microsoft ADO (number only):
36367940
How I did it
Set the default value to enabled

How to verify it
Local

Signed-off-by: Feng Pan <[email protected]>
ravaliyel pushed a commit to ravaliyel/sonic-mgmt that referenced this pull request Mar 12, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: Ravali Yeluri (WIPRO LIMITED) <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Mar 17, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: Abhishek <[email protected]>
dprital pushed a commit that referenced this pull request Mar 19, 2026
Why I did it
Set the default value to enabled

Work item tracking
Microsoft ADO (number only):
36367940
How I did it
Set the default value to enabled

How to verify it
Local

Signed-off-by: dprital <[email protected]>
ravaliyel pushed a commit to ravaliyel/sonic-mgmt that referenced this pull request Mar 27, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58
venu-nexthop pushed a commit to venu-nexthop/sonic-mgmt that referenced this pull request Mar 27, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58
selldinesh pushed a commit to selldinesh/sonic-mgmt that referenced this pull request Apr 1, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: selldinesh <[email protected]>
albertovillarreal-keys pushed a commit to albertovillarreal-keys/sonic-mgmt that referenced this pull request Apr 3, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58
opcoder0 pushed a commit to opcoder0/sonic-mgmt that referenced this pull request Apr 13, 2026
)

What is the motivation for this PR?
The PR sonic-net/sonic-buildimage#25117 would update the default value of zebra_nexthop in FRR from disable to enable.
Enable is the default configuration in FRR, it would not show in ouput of "show running" in FRR, so it would cause the test case test_frr_config_check failed once the previous PR merged.

How did you do it?
Skip the FRR hidden config check in test_frr_config_check.

How did you verify/test it?
Run the case in elastic
with fix
https://elastictest.org/scheduler/testplan/6978a655c5f3d9049fbb9138

without fix
https://elastictest.org/scheduler/testplan/6978a6671910fa9097bc5e58

Signed-off-by: opcoder0 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

10 participants