Skip to content
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 SRv6 support in Bgpcfgd #21156

Merged
merged 14 commits into from
Jan 13, 2025
Merged

Add SRv6 support in Bgpcfgd #21156

merged 14 commits into from
Jan 13, 2025

Conversation

BYGX-wcr
Copy link
Contributor

@BYGX-wcr BYGX-wcr commented Dec 13, 2024

Why I did it

There is a motivation to add capabilities in SONiC that allows static configuration of SRv6 network.

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

How I did it

I added a SRv6 manager in Bgpcfgd that subscribes to SRV6_MY_LOCATORS and SRV6_MY_SIDS in CONFIG_DB and programs the changes to FRR's configuration.

Note: this change depends on the availability and implementation details of the following FRR patch FRR SRv6 Static SID CLI

How to verify it

  • Run unit tests
  • Build an image that contains this change and the relevant FRR CLI support.
  • Test the Image on a virtual device or physical device

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

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

SRv6 static config HLD

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

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BYGX-wcr BYGX-wcr marked this pull request as ready for review January 7, 2025 01:07
@BYGX-wcr BYGX-wcr requested a review from StormLiangMS as a code owner January 7, 2025 01:07
@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link

Commenter does not have sufficient privileges for PR 21156 in repo sonic-net/sonic-buildimage

@BYGX-wcr
Copy link
Contributor Author

BYGX-wcr commented Jan 9, 2025

/azp rerun

Copy link

Command 'rerun' is not supported by Azure Pipelines.

Supported commands
  • help:
    • Get descriptions, examples and documentation about supported commands
    • Example: help "command_name"
  • list:
    • List all pipelines for this repository using a comment.
    • Example: "list"
  • run:
    • Run all pipelines or specific pipelines for this repository using a comment. Use this command by itself to trigger all related pipelines, or specify specific pipelines to run.
    • Example: "run" or "run pipeline_name, pipeline_name, pipeline_name"
  • where:
    • Report back the Azure DevOps orgs that are related to this repository and org
    • Example: "where"

See additional documentation.

@BYGX-wcr
Copy link
Contributor Author

BYGX-wcr commented Jan 9, 2025

@abdosi , can you please trigger the run pipeline for me?

@abdosi
Copy link
Contributor

abdosi commented Jan 9, 2025

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@abdosi
Copy link
Contributor

abdosi commented Jan 11, 2025

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@@ -75,6 +76,9 @@ def do_work():
RouteMapMgr(common_objs, "APPL_DB", swsscommon.APP_BGP_PROFILE_TABLE_NAME),
# Device Global Manager
DeviceGlobalCfgMgr(common_objs, "CONFIG_DB", swsscommon.CFG_BGP_DEVICE_GLOBAL_TABLE_NAME),
# SRv6 Manager
SRv6Mgr(common_objs, "CONFIG_DB", "SRV6_MY_SIDS"),
Copy link
Contributor

Choose a reason for hiding this comment

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

nitpick: you can use the "swsscommon." table names added in the sonic-net/sonic-swss-common#962

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks. Yet, I am not sure when that swss-common feature will be cherry-picked into 202412. Let's keep using the literals by now. I can raise a PR to use the reference later.

@lguohan lguohan merged commit 01c3112 into sonic-net:master Jan 13, 2025
19 checks passed
dgsudharsan pushed a commit to dgsudharsan/sonic-buildimage that referenced this pull request Jan 15, 2025
Why I did it
There is a motivation to add capabilities in SONiC that allows static configuration of SRv6 network.

Work item tracking
Microsoft ADO (number only): 30251795

How I did it
I added a SRv6 manager in Bgpcfgd that subscribes to SRV6_MY_LOCATORS and SRV6_MY_SIDS in CONFIG_DB and programs the changes to FRR's configuration.

Note: this change depends on the availability and implementation details of the following FRR patch FRR SRv6 Static SID CLI

How to verify it
- Run unit tests
- Build an image that contains this change and the relevant FRR CLI support.
- Test the Image on a virtual device or physical device
@BYGX-wcr BYGX-wcr deleted the srv6 branch January 17, 2025 22:09
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to msft-202412:

VladimirKuk pushed a commit to Marvell-switching/sonic-buildimage that referenced this pull request Jan 21, 2025
Why I did it
There is a motivation to add capabilities in SONiC that allows static configuration of SRv6 network.

Work item tracking
Microsoft ADO (number only): 30251795

How I did it
I added a SRv6 manager in Bgpcfgd that subscribes to SRV6_MY_LOCATORS and SRV6_MY_SIDS in CONFIG_DB and programs the changes to FRR's configuration.

Note: this change depends on the availability and implementation details of the following FRR patch FRR SRv6 Static SID CLI

How to verify it
- Run unit tests
- Build an image that contains this change and the relevant FRR CLI support.
- Test the Image on a virtual device or physical device
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants