[Cisco][fboss2-dev] Add SRv6 MySID configuration support - #1426
[Cisco][fboss2-dev] Add SRv6 MySID configuration support#1426selekkala wants to merge 3 commits into
Conversation
Summary: - Add fboss2 commands to initialize SRv6 MySID configuration and add or delete adjacency, node, and decap entries. - Add support for deleting the complete MySID configuration. - Validate IPv6 /32 locator prefixes, function IDs, entry-specific arguments, and locator consistency. - Synchronize static MySID switch state from the RIB after configuration updates. - Defer SAI programming for unresolved node micro-SIDs until resolution. - Register the new commands and tests in the CMake and BUCK builds. - Add CLI, configuration-application, and SAI manager unit coverage. Test Plan: - Compiled the relevant SRv6 CLI and test sources with -Wall -Werror. - Ran CmdConfigSrv6MySidTestFixture.*. - All 25 tests passed, covering every new command and positive, negative, validation, missing-configuration, and prefix-mismatch scenarios. - Integrated the changes into FBOSS and verified the SRv6 MySID CLI workflows on a Cisco 8501 switch.
|
Hi @selekkala! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
Pre-submission checklist
pip install -r requirements-dev.txt && pre-commit installpre-commit runSummary
FBOSS currently lacks an
fboss2-devworkflow for configuring SRv6 MySID entries. This makes it difficult for operators to initialize a locator and manage adjacency, node, and decapsulation entries through the configuration session CLI.This change:
fboss2-devcommands to initialize SRv6 MySID configuration and add or delete adjacency, node, and decap entries./32locator prefixes, function IDs, entry-specific arguments, and locator consistency.New CLI commands
fboss2-dev config srv6 my-sid <locator-prefix>fboss2-dev config srv6 my-sid <locator-prefix> add entry <function> type adjacency is-v6 <true|false> port-name <port>fboss2-dev config srv6 my-sid <locator-prefix> add entry <function> type node node-address <IPv6-address>fboss2-dev config srv6 my-sid <locator-prefix> add entry <function> type decapfboss2-dev config srv6 my-sid <locator-prefix> delete entry <function>fboss2-dev delete srv6 my-sid <locator-prefix>Test Plan
Compiled the relevant SRv6 CLI and test translation units with the repository-generated CMake flags, including
-Wall -Werror.Ran the focused CLI suite:
./fboss2_cmd_config_test \ --gtest_filter='CmdConfigSrv6MySidTestFixture.*' \ --gtest_color=noResult: all 25 tests passed in 3.471 seconds.
Coverage includes every new command path, invalid or missing arguments, missing configuration, locator-prefix mismatch, and update/delete behavior.
Integrated the changes into FBOSS and verified the SRv6 MySID CLI workflows on a Cisco 8501 switch.
Clean GoogleTest log
UT_logs_from_fboss_switch