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..0667239559 --- /dev/null +++ b/release/models/interfaces/openconfig-if-types.yang @@ -0,0 +1,57 @@ +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 + "This module defines types and identities used in OpenConfig models + related to Interfaces."; + + 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 {