From 3501335e290840a8b1f0c2b5fb1b60507fbbb500 Mon Sep 17 00:00:00 2001 From: Rafal Szarecki Date: Tue, 16 Jun 2026 12:46:41 -0700 Subject: [PATCH 1/5] Deprecation of ../config/local-as leaf and replacement with local-as-options container. Extending with RFC7705 no-prepend and replace-as explicit flags and dual-as option. --- .../openconfig-bgp-common-multiprotocol.yang | 10 ++- .../bgp/openconfig-bgp-common-structure.yang | 10 ++- release/models/bgp/openconfig-bgp-common.yang | 63 ++++++++++++++++++- release/models/bgp/openconfig-bgp-global.yang | 10 ++- .../models/bgp/openconfig-bgp-neighbor.yang | 31 ++++++++- .../models/bgp/openconfig-bgp-peer-group.yang | 31 ++++++++- release/models/bgp/openconfig-bgp.yang | 10 ++- 7 files changed, 157 insertions(+), 8 deletions(-) diff --git a/release/models/bgp/openconfig-bgp-common-multiprotocol.yang b/release/models/bgp/openconfig-bgp-common-multiprotocol.yang index 056246d7fc..6b7e5b5a1c 100644 --- a/release/models/bgp/openconfig-bgp-common-multiprotocol.yang +++ b/release/models/bgp/openconfig-bgp-common-multiprotocol.yang @@ -24,7 +24,15 @@ submodule openconfig-bgp-common-multiprotocol { for multiple protocols in BGP. The groupings are common across multiple contexts."; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description diff --git a/release/models/bgp/openconfig-bgp-common-structure.yang b/release/models/bgp/openconfig-bgp-common-structure.yang index d233f26f8c..2e91ee8233 100644 --- a/release/models/bgp/openconfig-bgp-common-structure.yang +++ b/release/models/bgp/openconfig-bgp-common-structure.yang @@ -21,7 +21,15 @@ submodule openconfig-bgp-common-structure { "This sub-module contains groupings that are common across multiple BGP contexts and provide structure around other primitive groupings."; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description diff --git a/release/models/bgp/openconfig-bgp-common.yang b/release/models/bgp/openconfig-bgp-common.yang index 630a4600ec..181e414cf5 100644 --- a/release/models/bgp/openconfig-bgp-common.yang +++ b/release/models/bgp/openconfig-bgp-common.yang @@ -24,13 +24,21 @@ submodule openconfig-bgp-common { may be application to a subset of global, peer-group or neighbor contexts."; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description "Clarification to usage of link-bandwidth-ext-community container under BGP use-multiple-paths`."; - reference "9.9.1"; + reference "9.9.1"; } revision "2025-03-30" { @@ -279,6 +287,56 @@ submodule openconfig-bgp-common { } } + grouping bgp-local-as-group-config { + description + "Local-as configuration items. + Local-as is migration tool described in RFC7705"; + + leaf local-as { + type oc-inet:as-number; + mandatory true; + description + "The local autonomous system number that is to be used + when establishing sessions with the remote peer or peer + group, if this differs from the global BGP router + autonomous system number. Value is set in My Autonomous + Sytem of the OPEN messagege send to establish session."; + reference + "RFC7705: Autonomous System Migration Mechanisms + and Their Effects on the BGP AS_PATH Attribute. + Section 3.1 - Modify Inbound BGP AS_PATH Attribute"; + } + + leaf no-prepend { + type boolean; + description + "When set to TRUE, the value configured as local-as is + not prepended to AS-PATH on recived routes."; + reference + "RFC7705: Autonomous System Migration Mechanisms + and Their Effects on the BGP AS_PATH Attribute. + Section 3.1 - Modify Inbound BGP AS_PATH Attribute"; + } + + leaf replace-as { + type boolean; + description + "When set to TRUE, the global AS is not added to AS-PATH + when route is advertised to peer. Only local-as is prepended."; + reference + "RFC7705: Autonomous System Migration Mechanisms + and Their Effects on the BGP AS_PATH Attribute. + Section 3.2 - Modify Outbound BGP AS_PATH Attribute"; + } + + leaf dual-as { + type boolean; + description + "When set to TRUE, the speaker alternate between local-ASN + and global ASN in every other OPEN messages."; + } + } + grouping bgp-common-neighbor-group-config { description "Neighbor level configuration items."; @@ -291,6 +349,7 @@ submodule openconfig-bgp-common { leaf local-as { type oc-inet:as-number; + deprecated; description "The local autonomous system number that is to be used when establishing sessions with the remote peer or peer diff --git a/release/models/bgp/openconfig-bgp-global.yang b/release/models/bgp/openconfig-bgp-global.yang index 4921fc07b9..de480a3466 100644 --- a/release/models/bgp/openconfig-bgp-global.yang +++ b/release/models/bgp/openconfig-bgp-global.yang @@ -27,7 +27,15 @@ submodule openconfig-bgp-global { "This sub-module contains groupings that are specific to the global context of the OpenConfig BGP module"; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description diff --git a/release/models/bgp/openconfig-bgp-neighbor.yang b/release/models/bgp/openconfig-bgp-neighbor.yang index 9afa0c748d..fb1f73c377 100644 --- a/release/models/bgp/openconfig-bgp-neighbor.yang +++ b/release/models/bgp/openconfig-bgp-neighbor.yang @@ -30,7 +30,15 @@ submodule openconfig-bgp-neighbor { "This sub-module contains groupings that are specific to the neighbor context of the OpenConfig BGP module."; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description @@ -877,6 +885,27 @@ submodule openconfig-bgp-neighbor { the neighbor"; uses bgp-neighbor-afi-safi-list; } + + container local-as-options { + description + "Local-as options. + Local-as is migration tool described in RFC7705"; + + container config { + description + "Local-as options configuration. + Local-as is migration tool described in RFC7705"; + uses bgp-local-as-group-config; + } + + container state { + config false; + description + "Local-as options state. + Local-as is migration tool described in RFC7705"; + uses bgp-local-as-group-config; + } + } } grouping bgp-neighbor-list { diff --git a/release/models/bgp/openconfig-bgp-peer-group.yang b/release/models/bgp/openconfig-bgp-peer-group.yang index cb336f9985..b378ebc783 100644 --- a/release/models/bgp/openconfig-bgp-peer-group.yang +++ b/release/models/bgp/openconfig-bgp-peer-group.yang @@ -25,7 +25,15 @@ submodule openconfig-bgp-peer-group { "This sub-module contains groupings that are specific to the peer-group context of the OpenConfig BGP module."; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description @@ -385,6 +393,27 @@ submodule openconfig-bgp-peer-group { thegroup"; uses bgp-peer-group-afi-safi-list; } + + container local-as-options { + description + "Local-as options. + Local-as is migration tool described in RFC7705"; + + container config { + description + "Local-as options configuration. + Local-as is migration tool described in RFC7705"; + uses bgp-local-as-group-config; + } + + container state { + config false; + description + "Local-as options state. + Local-as is migration tool described in RFC7705"; + uses bgp-local-as-group-config; + } + } } grouping bgp-peer-group-list { diff --git a/release/models/bgp/openconfig-bgp.yang b/release/models/bgp/openconfig-bgp.yang index a5cc41f91c..62674597ab 100644 --- a/release/models/bgp/openconfig-bgp.yang +++ b/release/models/bgp/openconfig-bgp.yang @@ -68,7 +68,15 @@ module openconfig-bgp { whereas leaf not present inherits its value from the leaf present at the next higher level in the hierarchy."; - oc-ext:openconfig-version "9.9.1"; + oc-ext:openconfig-version "9.10.0"; + + revision "2026-06-16" { + description + "Deprecation of ../config/local-as leaf and replacement with + local-as-options container. Extending with RFC7705 no-prepend + and replace-as explicit flags and dual-as option."; + reference "9.10.0"; + } revision "2025-04-18" { description From 4437a9312ccce6c259190adbf2640806f94846cb Mon Sep 17 00:00:00 2001 From: rszarecki <46606165+rszarecki@users.noreply.github.com> Date: Tue, 16 Jun 2026 13:29:20 -0700 Subject: [PATCH 2/5] Update release/models/bgp/openconfig-bgp-common.yang Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- release/models/bgp/openconfig-bgp-common.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/bgp/openconfig-bgp-common.yang b/release/models/bgp/openconfig-bgp-common.yang index 181e414cf5..2fe5ca6438 100644 --- a/release/models/bgp/openconfig-bgp-common.yang +++ b/release/models/bgp/openconfig-bgp-common.yang @@ -349,7 +349,7 @@ submodule openconfig-bgp-common { leaf local-as { type oc-inet:as-number; - deprecated; + status deprecated; description "The local autonomous system number that is to be used when establishing sessions with the remote peer or peer From 8cc528258aa48a7d0af5250c78e9c6f81f743ee3 Mon Sep 17 00:00:00 2001 From: rszarecki <46606165+rszarecki@users.noreply.github.com> Date: Tue, 16 Jun 2026 13:38:30 -0700 Subject: [PATCH 3/5] Update release/models/bgp/openconfig-bgp-neighbor.yang Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- release/models/bgp/openconfig-bgp-neighbor.yang | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/release/models/bgp/openconfig-bgp-neighbor.yang b/release/models/bgp/openconfig-bgp-neighbor.yang index fb1f73c377..8721cff18e 100644 --- a/release/models/bgp/openconfig-bgp-neighbor.yang +++ b/release/models/bgp/openconfig-bgp-neighbor.yang @@ -888,21 +888,21 @@ submodule openconfig-bgp-neighbor { container local-as-options { description - "Local-as options. - Local-as is migration tool described in RFC7705"; + "Local-AS options. + Local-AS is a migration tool described in RFC7705."; container config { description - "Local-as options configuration. - Local-as is migration tool described in RFC7705"; + "Local-AS options configuration. + Local-AS is a migration tool described in RFC7705."; uses bgp-local-as-group-config; } container state { config false; description - "Local-as options state. - Local-as is migration tool described in RFC7705"; + "Local-AS options state. + Local-AS is a migration tool described in RFC7705."; uses bgp-local-as-group-config; } } From ead8f31322289a6a7d4d1fdcc5d5e61682c5ec10 Mon Sep 17 00:00:00 2001 From: rszarecki <46606165+rszarecki@users.noreply.github.com> Date: Tue, 16 Jun 2026 13:40:22 -0700 Subject: [PATCH 4/5] Update release/models/bgp/openconfig-bgp-peer-group.yang Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- release/models/bgp/openconfig-bgp-peer-group.yang | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/release/models/bgp/openconfig-bgp-peer-group.yang b/release/models/bgp/openconfig-bgp-peer-group.yang index b378ebc783..6bf7a64b37 100644 --- a/release/models/bgp/openconfig-bgp-peer-group.yang +++ b/release/models/bgp/openconfig-bgp-peer-group.yang @@ -396,21 +396,21 @@ submodule openconfig-bgp-peer-group { container local-as-options { description - "Local-as options. - Local-as is migration tool described in RFC7705"; + "Local-AS options. + Local-AS is a migration tool described in RFC7705."; container config { description - "Local-as options configuration. - Local-as is migration tool described in RFC7705"; + "Local-AS options configuration. + Local-AS is a migration tool described in RFC7705."; uses bgp-local-as-group-config; } container state { config false; description - "Local-as options state. - Local-as is migration tool described in RFC7705"; + "Local-AS options state. + Local-AS is a migration tool described in RFC7705."; uses bgp-local-as-group-config; } } From ee7d45e7fa569058316e00686954afb9ad075088 Mon Sep 17 00:00:00 2001 From: rszarecki <46606165+rszarecki@users.noreply.github.com> Date: Tue, 16 Jun 2026 13:40:39 -0700 Subject: [PATCH 5/5] Fix typos in bgp-local-as-group-config descriptions Corrected typos and improved descriptions in BGP local-as configuration. --- release/models/bgp/openconfig-bgp-common.yang | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/release/models/bgp/openconfig-bgp-common.yang b/release/models/bgp/openconfig-bgp-common.yang index 2fe5ca6438..0b23a6cdb2 100644 --- a/release/models/bgp/openconfig-bgp-common.yang +++ b/release/models/bgp/openconfig-bgp-common.yang @@ -289,18 +289,17 @@ submodule openconfig-bgp-common { grouping bgp-local-as-group-config { description - "Local-as configuration items. - Local-as is migration tool described in RFC7705"; + "Local-AS configuration items. + Local-AS is a migration tool described in RFC7705"; leaf local-as { type oc-inet:as-number; - mandatory true; description "The local autonomous system number that is to be used when establishing sessions with the remote peer or peer group, if this differs from the global BGP router autonomous system number. Value is set in My Autonomous - Sytem of the OPEN messagege send to establish session."; + System of the OPEN message sent to establish session."; reference "RFC7705: Autonomous System Migration Mechanisms and Their Effects on the BGP AS_PATH Attribute. @@ -311,7 +310,7 @@ submodule openconfig-bgp-common { type boolean; description "When set to TRUE, the value configured as local-as is - not prepended to AS-PATH on recived routes."; + not prepended to AS-PATH on received routes."; reference "RFC7705: Autonomous System Migration Mechanisms and Their Effects on the BGP AS_PATH Attribute. @@ -332,7 +331,7 @@ submodule openconfig-bgp-common { leaf dual-as { type boolean; description - "When set to TRUE, the speaker alternate between local-ASN + "When set to TRUE, the speaker alternates between local-ASN and global ASN in every other OPEN messages."; } }