Local-as refactoring and extension#1508
Conversation
local-as-options container. Extending with RFC7705 no-prepend and replace-as explicit flags and dual-as option.
There was a problem hiding this comment.
Code Review
This pull request deprecates the local-as leaf and introduces a new local-as-options container under BGP neighbor and peer-group configurations, extending it with RFC7705 options (no-prepend, replace-as, and dual-as). Feedback focuses on correcting a YANG syntax error where deprecated was used incorrectly instead of status deprecated, removing a mandatory true constraint that breaks the OpenConfig inheritance model, and fixing several typos and grammatical errors in the descriptions.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
No major YANG version changes in commit ee7d45e |
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Corrected typos and improved descriptions in BGP local-as configuration.
local-as-options container. Extending with RFC7705 no-prepend and replace-as explicit flags and dual-as option.
[Note: Please fill out the following template for your pull request. Replace
all the text in
[]with your own content.][Note: Before this PR can be reviewed please agree to the CLA covering this
repo. Please also review the contribution guide -
https://github.com/openconfig/public/blob/master/doc/contributions-guide.md]
Change Scope
/openconfig-network-instance:network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/local-as*
/openconfig-network-instance:network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/local-as*
/openconfig-network-instance:network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/config/local-as*
/openconfig-network-instance:network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/state/local-aslocal-as-optionsand define local-as and flags for flexibility and RFC7705 compliance.Platform Implementations
Cross-Vendor Translation Matrix
local-as <AS>local-as <AS>local-as <AS>local-as as-number <AS>local-as <AS> no-prependlocal-as <AS> no-prependlocal-as <AS> no-prepend-global-aslocal-as <AS> no-prepend replace-aslocal-as <AS> no-prepend replace-aslocal-as <AS> privateas-path replace <AS>policy actionfallbackdual-asaliasTree View
module: openconfig-network-instance +--rw network-instances +--rw network-instance* [name] +--rw protocols +--rw protocol* [identifier name] +--rw bgp +--rw peer-groups +--rw peer-group* [peer-group-name] @@ -953,32 +964,43 @@ | +--rw prefix-limit | | +--rw config | | | +--rw max-prefixes? uint32 | | | +--rw prevent-teardown? boolean | | | +--rw warning-threshold-pct? oc-types:percentage | | +--ro state | | +--ro max-prefixes? uint32 | | +--ro prevent-teardown? boolean | | +--ro warning-threshold-pct? oc-types:percentage | | +--ro prefix-limit-exceeded? boolean | +--rw prefix-limit-received | +--rw config | | +--rw max-prefixes? uint32 | | +--rw prevent-teardown? boolean | | +--rw warning-threshold-pct? oc-types:percentage | +--ro state | +--ro max-prefixes? uint32 | +--ro prevent-teardown? boolean | +--ro warning-threshold-pct? oc-types:percentage | +--ro prefix-limit-exceeded? boolean + +--rw local-as-options + | +--rw config + | | +--rw local-as oc-inet:as-number + | | +--rw no-prepend? boolean + | | +--rw replace-as? boolean + | | +--rw dual-as? boolean + | +--ro state + | +--ro local-as oc-inet:as-number + | +--ro no-prepend? boolean + | +--ro replace-as? boolean + | +--ro dual-as? boolean +--rw enable-bfd +--rw config | +--rw enabled? boolean | +--rw desired-minimum-tx-interval? uint32 | +--rw required-minimum-receive? uint32 | +--rw detection-multiplier? uint8 +--ro state +--ro enabled? boolean +--ro desired-minimum-tx-interval? uint32 +--ro required-minimum-receive? uint32 +--ro detection-multiplier? uint8module: openconfig-network-instance +--rw network-instances +--rw network-instance* [name] +--rw protocols +--rw protocol* [identifier name] +--rw bgp +--rw neighbors +--rw neighbor* [neighbor-address] @@ -971,32 +982,43 @@ | | +--rw prefix-limit-received | | +--rw config | | | +--rw max-prefixes? uint32 | | | +--rw prevent-teardown? boolean | | | +--rw warning-threshold-pct? oc-types:percentage | | +--ro state | | +--ro max-prefixes? uint32 | | +--ro prevent-teardown? boolean | | +--ro warning-threshold-pct? oc-types:percentage | | +--ro prefix-limit-exceeded? boolean | +--rw use-multiple-paths | +--rw config | | +--rw enabled? boolean | +--ro state | | +--ro enabled? boolean | +--rw ebgp | +--rw config | | +--rw allow-multiple-as? boolean | +--ro state | +--ro allow-multiple-as? boolean + +--rw local-as-options + | +--rw config + | | +--rw local-as oc-inet:as-number + | | +--rw no-prepend? boolean + | | +--rw replace-as? boolean + | | +--rw dual-as? boolean + | +--ro state + | +--ro local-as oc-inet:as-number + | +--ro no-prepend? boolean + | +--ro replace-as? boolean + | +--ro dual-as? boolean +--rw enable-bfd +--rw config | +--rw enabled? boolean | +--rw desired-minimum-tx-interval? uint32 | +--rw required-minimum-receive? uint32 | +--rw detection-multiplier? uint8 +--ro state +--ro enabled? boolean +--ro desired-minimum-tx-interval? uint32 +--ro required-minimum-receive? uint32 +--ro detection-multiplier? uint8