From 421412493b5378c7a4ee933d015b7569b51f1d01 Mon Sep 17 00:00:00 2001 From: Ebben Aries Date: Sun, 5 Apr 2026 16:14:57 -0600 Subject: [PATCH 1/4] Interface MTU type adjustments and description updates * (M) release/models/interfaces/openconfig-interfaces.yang - Change interface MTU type from uint16 to max-frame-size (uint32) - Increment to version 4.0.0 * (M) release/models/interfaces/openconfig-if-ip.yang - Update IPv4/IPv6 MTU descriptions - Increment to version 3.9.1 * (A) release/models/interfaces/openconfig-if-types.yang - Initial version 0.1.0 - Introduction of max-frame-size typedef --- .../models/interfaces/openconfig-if-ip.yang | 55 +++++++++------- .../interfaces/openconfig-if-types.yang | 56 ++++++++++++++++ .../interfaces/openconfig-interfaces.yang | 66 ++++++++++--------- 3 files changed, 125 insertions(+), 52 deletions(-) create mode 100644 release/models/interfaces/openconfig-if-types.yang diff --git a/release/models/interfaces/openconfig-if-ip.yang b/release/models/interfaces/openconfig-if-ip.yang index b995ec99af..d75ba890e9 100644 --- a/release/models/interfaces/openconfig-if-ip.yang +++ b/release/models/interfaces/openconfig-if-ip.yang @@ -45,29 +45,40 @@ module openconfig-if-ip { Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info)."; - oc-ext:openconfig-version "3.9.0"; + oc-ext:openconfig-version "3.9.1"; - revision "2025-06-20" { + revision "2026-04-05" { description - "Add IPv6 Router Advertisement Options for DNS Configuration (RDNSS) RFC 8106."; - reference "3.9.0"; + "Update IPv6 mtu reference from obsoleted RFC 2460 to RFC 8200. + Add RFC 2675 reference for jumbogram support justifying the uint32 + type."; + reference "3.9.1"; } - revision "2025-06-20" { + revision "2025-06-20" { description - "Add model for support of URPF source address validation through network-instance different then one used for destination lookup"; - reference "3.8.0"; + "Add IPv6 Router Advertisement Options for DNS Configuration + (RDNSS) RFC 8106."; + reference "3.9.0"; + } + + revision "2025-06-20" { + description + "Add model for support of URPF source address validation through + network-instance different then one used for destination lookup"; + reference "3.8.0"; } revision "2025-05-12" { description "Add model for support of URPF source address verification"; - reference "3.7.0"; + reference "3.7.0"; } revision "2024-05-28" { description - "Add gratuitous-arp-accepted for IPv4 and unsolicited-na-accepted for IPv6."; + "Add gratuitous-arp-accepted for IPv4 and unsolicited-na-accepted + for IPv6."; reference "3.6.0"; } @@ -83,10 +94,10 @@ module openconfig-if-ip { reference "3.5.0"; } -revision "2023-06-30" { + revision "2023-06-30" { description - "Deprecate IPv6 router advertisment config suppress leaf and add config - mode leaf."; + "Deprecate IPv6 router advertisment config suppress leaf and add + config mode leaf."; reference "3.4.0"; } @@ -134,9 +145,8 @@ revision "2023-06-30" { revision "2017-07-14" { description - "Added Ethernet/IP state data; Add dhcp-client; - migrate to OpenConfig types modules; Removed or - renamed opstate values"; + "Added Ethernet/IP state data; Add dhcp-client; migrate to + OpenConfig types modules; Removed or renamed opstate values"; reference "2.0.0"; } @@ -524,13 +534,13 @@ revision "2023-06-30" { units octets; description "The size, in octets, of the largest IPv4 packet that the - interface will send and receive. + interface will send and receive. - The server may restrict the allowed values for this leaf, - depending on the interface's type. + The server may restrict the allowed values for this leaf, + depending on the interface's type. - If this leaf is not configured, the operationally used MTU - depends on the interface's type."; + If this leaf is not configured, the operationally used MTU + depends on the interface's type."; reference "RFC 791: Internet Protocol"; } @@ -651,8 +661,9 @@ revision "2023-06-30" { If this leaf is not configured, the operationally used MTU depends on the interface's type."; reference - "RFC 2460: Internet Protocol, Version 6 (IPv6) Specification - Section 5"; + "RFC 8200: Internet Protocol, Version 6 (IPv6) Specification + Section 5 + RFC 2675: IPv6 Jumbograms"; } leaf dup-addr-detect-transmits { diff --git a/release/models/interfaces/openconfig-if-types.yang b/release/models/interfaces/openconfig-if-types.yang new file mode 100644 index 0000000000..9e122b4ecc --- /dev/null +++ b/release/models/interfaces/openconfig-if-types.yang @@ -0,0 +1,56 @@ +module openconfig-if-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/interfaces/types"; + + prefix "oc-ift"; + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + netopenconfig@googlegroups.com"; + + description + ""; + + oc-ext:openconfig-version "0.1.0"; + + revision "2026-04-05" { + description + "Initial revision."; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // typedef statements + + typedef max-frame-size { + type uint32; + units octets; + description + "The maximum frame size in octets that may be transmitted or + received on an interface. For Ethernet interfaces, this value + includes the Ethernet header but excludes the 4-octet frame check + sequence (FCS) per IEEE 802.3. For non-Ethernet interface types + (e.g., loopback, tunnel), the value represents the maximum + transmission unit of the interface without Layer 2 framing overhead + specific to the encapsulation type. + + If configured, the max-frame-size also limits the maximum frame + size of any child sub-interfaces. The MTU available to higher layer + protocols is restricted to the maximum frame payload size, and may + be further restricted by explicit Layer 3 or protocol specific MTU + configuration."; + } +} diff --git a/release/models/interfaces/openconfig-interfaces.yang b/release/models/interfaces/openconfig-interfaces.yang index 6d79517cdd..6db30d197a 100644 --- a/release/models/interfaces/openconfig-interfaces.yang +++ b/release/models/interfaces/openconfig-interfaces.yang @@ -13,6 +13,7 @@ module openconfig-interfaces { import openconfig-types { prefix oc-types; } import openconfig-extensions { prefix oc-ext; } import openconfig-transport-types { prefix oc-opt-types; } + import openconfig-if-types { prefix oc-ift; } // meta organization "OpenConfig working group"; @@ -51,48 +52,54 @@ module openconfig-interfaces { Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info)."; - oc-ext:openconfig-version "3.8.1"; + oc-ext:openconfig-version "4.0.0"; + + revision "2026-04-05" { + description + "Change interface mtu type from uint16 to max-frame-size (uint32) + typedef to support MTU values exceeding 16-bit boundaries as seen + on loopback and non-Ethernet interface types. Clarify L2 frame + size semantics in description."; + reference "4.0.0"; + } revision "2026-01-06" { - description - "Fix typos in descriptions for hardware-specific and interface statistics entities."; - reference - "3.8.1"; + description + "Fix typos in descriptions for hardware-specific and interface + statistics entities."; + reference "3.8.1"; } revision "2024-12-05" { - description - "Add interface-transitions and link-transitions counters"; - reference - "3.8.0"; + description + "Add interface-transitions and link-transitions counters"; + reference "3.8.0"; } revision "2024-12-05" { - description - "Description typo for unnumbered/interface-ref/config/subinterface leaf"; - reference - "3.7.2"; + description + "Description typo for unnumbered/interface-ref/config/subinterface + leaf"; + reference "3.7.2"; } revision "2024-04-04" { - description - "Use single quotes in descriptions."; - reference - "3.7.1"; + description + "Use single quotes in descriptions."; + reference "3.7.1"; } revision "2023-11-06" { - description - "Clarify description for admin-status TESTING."; - reference - "3.7.0"; + description + "Clarify description for admin-status TESTING."; + reference "3.7.0"; } revision "2023-08-29" { - description - "Add augment for penalty-based additive-increase, exponential-decrease link damping algorithm."; - reference - "3.6.0"; + description + "Add augment for penalty-based additive-increase, + exponential-decrease link damping algorithm."; + reference "3.6.0"; } revision "2023-07-14" { @@ -458,12 +465,11 @@ module openconfig-interfaces { } leaf mtu { - type uint16; + type oc-ift:max-frame-size; description - "Set the max transmission unit size in octets - for the physical interface. If this is not set, the mtu is - set to the operational default -- e.g., 1514 bytes on an - Ethernet interface."; + "The maximum frame size for the physical interface. If this is + not set, the mtu is set to the operational default -- e.g., 1514 + bytes on an Ethernet interface."; } leaf loopback-mode { From eb35928816905c17e6d188334b04d84a37e9d427 Mon Sep 17 00:00:00 2001 From: Ebben Aries Date: Sun, 5 Apr 2026 17:04:36 -0600 Subject: [PATCH 2/4] Add missing comment to openconfig-if-types --- release/models/interfaces/openconfig-if-types.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/models/interfaces/openconfig-if-types.yang b/release/models/interfaces/openconfig-if-types.yang index 9e122b4ecc..be1c9615b8 100644 --- a/release/models/interfaces/openconfig-if-types.yang +++ b/release/models/interfaces/openconfig-if-types.yang @@ -18,7 +18,8 @@ module openconfig-if-types { netopenconfig@googlegroups.com"; description - ""; + "This module defines types and identities used in OpenConfig models + related to Interfaces." oc-ext:openconfig-version "0.1.0"; From fa8b3616184ce50092ba4cf368e8f4406f511761 Mon Sep 17 00:00:00 2001 From: Ebben Aries Date: Sun, 5 Apr 2026 17:05:51 -0600 Subject: [PATCH 3/4] Fix missing semicolon --- release/models/interfaces/openconfig-if-types.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/interfaces/openconfig-if-types.yang b/release/models/interfaces/openconfig-if-types.yang index be1c9615b8..0667239559 100644 --- a/release/models/interfaces/openconfig-if-types.yang +++ b/release/models/interfaces/openconfig-if-types.yang @@ -19,7 +19,7 @@ module openconfig-if-types { description "This module defines types and identities used in OpenConfig models - related to Interfaces." + related to Interfaces."; oc-ext:openconfig-version "0.1.0"; From 9fd8c62e2579e1c9d0e02bd78b17d38158cbb484 Mon Sep 17 00:00:00 2001 From: Ebben Aries Date: Mon, 11 May 2026 18:13:57 -0600 Subject: [PATCH 4/4] Update revision dates --- release/models/interfaces/openconfig-if-ip.yang | 2 +- release/models/interfaces/openconfig-if-types.yang | 2 +- release/models/interfaces/openconfig-interfaces.yang | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/release/models/interfaces/openconfig-if-ip.yang b/release/models/interfaces/openconfig-if-ip.yang index d75ba890e9..df42a86416 100644 --- a/release/models/interfaces/openconfig-if-ip.yang +++ b/release/models/interfaces/openconfig-if-ip.yang @@ -47,7 +47,7 @@ module openconfig-if-ip { oc-ext:openconfig-version "3.9.1"; - revision "2026-04-05" { + revision "2026-05-11" { description "Update IPv6 mtu reference from obsoleted RFC 2460 to RFC 8200. Add RFC 2675 reference for jumbogram support justifying the uint32 diff --git a/release/models/interfaces/openconfig-if-types.yang b/release/models/interfaces/openconfig-if-types.yang index 0667239559..1f18efc9d9 100644 --- a/release/models/interfaces/openconfig-if-types.yang +++ b/release/models/interfaces/openconfig-if-types.yang @@ -23,7 +23,7 @@ module openconfig-if-types { oc-ext:openconfig-version "0.1.0"; - revision "2026-04-05" { + revision "2026-05-11" { description "Initial revision."; reference "0.1.0"; diff --git a/release/models/interfaces/openconfig-interfaces.yang b/release/models/interfaces/openconfig-interfaces.yang index 6db30d197a..40b59303c9 100644 --- a/release/models/interfaces/openconfig-interfaces.yang +++ b/release/models/interfaces/openconfig-interfaces.yang @@ -54,7 +54,7 @@ module openconfig-interfaces { oc-ext:openconfig-version "4.0.0"; - revision "2026-04-05" { + revision "2026-05-11" { description "Change interface mtu type from uint16 to max-frame-size (uint32) typedef to support MTU values exceeding 16-bit boundaries as seen