From 4a3a9c08434932d7f2e45cd1c9b27bcf13ea1812 Mon Sep 17 00:00:00 2001 From: Tarik Saleh Date: Tue, 7 Jul 2026 17:06:20 -0400 Subject: [PATCH 1/4] Add a global template for encap-header attributes --- .../openconfig-network-instance-static.yang | 68 ++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/release/models/network-instance/openconfig-network-instance-static.yang b/release/models/network-instance/openconfig-network-instance-static.yang index b54c72f796..855b0c979a 100644 --- a/release/models/network-instance/openconfig-network-instance-static.yang +++ b/release/models/network-instance/openconfig-network-instance-static.yang @@ -11,6 +11,7 @@ module openconfig-network-instance-static { import openconfig-aft { prefix "oc-aft"; } import openconfig-aft-types { prefix "oc-aftt"; } import openconfig-local-routing { prefix "oc-loc-rt"; } + import openconfig-inet-types { prefix "oc-inet"; } // meta organization "OpenConfig working group"; @@ -22,7 +23,13 @@ module openconfig-network-instance-static { description "Static configurations associated with a network instance"; - oc-ext:openconfig-version "0.2.1"; + oc-ext:openconfig-version "0.3.0"; + + revision "2026-07-07" { + description + "Add a global encapsulation header template for static next-hops."; + reference "0.3.0"; + } revision "2025-08-05" { description @@ -56,6 +63,12 @@ module openconfig-network-instance-static { statically configured next hop group"; } + uses static-encap-header-template-top { + description + "Configuration and state parameters relating to the global + encapsulation header template."; + } + uses static-next-hops-top { description "Configuration and state parameters relating to @@ -151,6 +164,59 @@ module openconfig-network-instance-static { } } + grouping static-encap-header-template-top { + description + "Logical grouping for the global encapsulation header template."; + + container encap-header-template { + description + "Surrounding container for groups of encap-header templates."; + + container config { + description + "Configuration parameters relating to the encapsulation header + template."; + + uses static-encap-header-template; + } + + container state { + config false; + description + "State parameters relating to the encapsulation header template."; + + uses static-encap-header-template; + } + } + } + + grouping static-encap-header-template { + description + "Configuration parameters for the global encapsulation header + template."; + + leaf ipv4-dst-udp-port { + type oc-inet:port-number; + description + "Destination UDP port to use when the encapsulated payload is an + IPv4 packet."; + } + + leaf ipv6-dst-udp-port { + type oc-inet:port-number; + description + "Destination UDP port to use when the encapsulated payload is an + IPv6 packet."; + } + + leaf mpls-dst-udp-port { + type oc-inet:port-number; + description + "Destination UDP port to use when the encapsulated payload is an + MPLS packet."; + } + } + grouping static-nhg-next-hop { description "Configuration parameters relating to an individual next-hop From e13df5f5b726d084776aad896bd52ef156c53b83 Mon Sep 17 00:00:00 2001 From: tasaleh <32487472+tasaleh@users.noreply.github.com> Date: Tue, 7 Jul 2026 17:15:13 -0400 Subject: [PATCH 2/4] Update release/models/network-instance/openconfig-network-instance-static.yang Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../network-instance/openconfig-network-instance-static.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/network-instance/openconfig-network-instance-static.yang b/release/models/network-instance/openconfig-network-instance-static.yang index 855b0c979a..7c5e3fc4da 100644 --- a/release/models/network-instance/openconfig-network-instance-static.yang +++ b/release/models/network-instance/openconfig-network-instance-static.yang @@ -170,7 +170,7 @@ module openconfig-network-instance-static { container encap-header-template { description - "Surrounding container for groups of encap-header templates."; + "Surrounding container for the global encapsulation header template."; container config { description From 63337e9a2005603668f75cfc05a04c0aad9aa581 Mon Sep 17 00:00:00 2001 From: Tarik Saleh Date: Tue, 7 Jul 2026 17:16:58 -0400 Subject: [PATCH 3/4] Add MPLS UDP-Port reference --- .../network-instance/openconfig-network-instance-static.yang | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release/models/network-instance/openconfig-network-instance-static.yang b/release/models/network-instance/openconfig-network-instance-static.yang index 855b0c979a..8390b00c34 100644 --- a/release/models/network-instance/openconfig-network-instance-static.yang +++ b/release/models/network-instance/openconfig-network-instance-static.yang @@ -214,6 +214,8 @@ module openconfig-network-instance-static { description "Destination UDP port to use when the encapsulated payload is an MPLS packet."; + reference + "RFC 7510: Encapsulating MPLS in UDP"; } } From 04b16d8a959bcbf9a9f42b2b8f463fa46bac9735 Mon Sep 17 00:00:00 2001 From: Tarik Saleh Date: Thu, 6 Aug 2026 14:54:27 -0400 Subject: [PATCH 4/4] Replace template with global configs notation --- .../openconfig-network-instance-static.yang | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/release/models/network-instance/openconfig-network-instance-static.yang b/release/models/network-instance/openconfig-network-instance-static.yang index d00bea1a16..cb838a9b8e 100644 --- a/release/models/network-instance/openconfig-network-instance-static.yang +++ b/release/models/network-instance/openconfig-network-instance-static.yang @@ -27,7 +27,7 @@ module openconfig-network-instance-static { revision "2026-07-07" { description - "Add a global encapsulation header template for static next-hops."; + "Add a global encapsulation header configurations for static next-hops."; reference "0.3.0"; } @@ -63,10 +63,10 @@ module openconfig-network-instance-static { statically configured next hop group"; } - uses static-encap-header-template-top { + uses static-global-encap-header-top { description "Configuration and state parameters relating to the global - encapsulation header template."; + encapsulation header."; } uses static-next-hops-top { @@ -164,36 +164,34 @@ module openconfig-network-instance-static { } } - grouping static-encap-header-template-top { + grouping static-global-encap-header-top { description - "Logical grouping for the global encapsulation header template."; + "Logical grouping for the global encapsulation header."; - container encap-header-template { + container encap-header { description - "Surrounding container for the global encapsulation header template."; + "Surrounding container for the global encapsulation header."; container config { description - "Configuration parameters relating to the encapsulation header - template."; + "Configuration parameters relating to the global encapsulation header."; - uses static-encap-header-template; + uses static-global-encap-header; } container state { config false; description - "State parameters relating to the encapsulation header template."; + "State parameters relating to the global encapsulation header."; - uses static-encap-header-template; + uses static-global-encap-header; } } } - grouping static-encap-header-template { + grouping static-global-encap-header { description - "Configuration parameters for the global encapsulation header - template."; + "Configuration parameters for the global encapsulation header."; leaf ipv4-dst-udp-port { type oc-inet:port-number;