Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 75 additions & 7 deletions release/models/aft/openconfig-aft-common.yang
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@ submodule openconfig-aft-common {
"Submodule containing definitions of groupings that are re-used
across multiple contexts within the AFT model.";

oc-ext:openconfig-version "3.4.0";
oc-ext:openconfig-version "3.5.0";

revision "2026-06-11" {
description
"Add tunnel header-field processing modes and default TTL/DSCP
values for UDP encapsulation.";
reference "3.5.0";
}

revision "2026-03-10" {
description
Expand Down Expand Up @@ -840,11 +847,45 @@ submodule openconfig-aft-common {
description
"Common fields used for UDP in IPv4/IPv6 encapsulation applied on top of a packet.";

leaf dscp-processing-mode {
type oc-aftt:tunnel-header-field-mode-type;
description
"Specifies the tunnel processing mode for DSCP / Traffic Class.

When set to TUNNEL_HEADER_FIELD_MODE_UNIFORM, the DSCP value is
propagated from the inner packet header to the outer IP header
during encapsulation.

When set to TUNNEL_HEADER_FIELD_MODE_PIPE, the outer DSCP value
is set independently of the inner packet using the configured or
default dscp value.";
Comment thread
tasaleh marked this conversation as resolved.
reference
"RFC 2474: Definition of the Differentiated Services Field
in the IPv4 and IPv6 Headers.

RFC 2983: Differentiated Services and Tunnels.

RFC 3270: Multi-Protocol Label Switching (MPLS) Support of
Differentiated Services.";
}

leaf dscp {
type oc-inet:dscp;
default "0";
description
"DSCP value to use for the UDP header of the encapsulated
packet.";
"Configured/default DSCP value to use in the outer IP header
during packet encapsulation when dscp-processing-mode is set to
TUNNEL_HEADER_FIELD_MODE_PIPE.

If dscp-processing-mode is set to
TUNNEL_HEADER_FIELD_MODE_UNIFORM, the DSCP value from the inner
packet header is propagated to the outer IP header and this leaf
is ignored for encapsulation.";
reference
"RFC 2474: Definition of the Differentiated Services Field
in the IPv4 and IPv6 Headers.

RFC 2983: Differentiated Services and Tunnels.";
}

leaf src-udp-port {
Expand Down Expand Up @@ -872,13 +913,40 @@ submodule openconfig-aft-common {
system is expected to utilize the appropriate port.";
}

leaf ttl-processing-mode {
type oc-aftt:tunnel-header-field-mode-type;
description
"Specifies the tunnel processing mode for IPv4 TTL.

When set to TUNNEL_HEADER_FIELD_MODE_UNIFORM, the IPv4 TTL value
is propagated from the inner packet header to the outer IP header
during encapsulation.

When set to TUNNEL_HEADER_FIELD_MODE_PIPE, the outer IPv4 TTL
value is set independently of the inner packet using the
configured or default ip-ttl value.";
Comment thread
tasaleh marked this conversation as resolved.
reference
"RFC 3443: Time To Live (TTL) Processing in Multi-Protocol
Label Switching (MPLS) Networks.";
}

leaf ip-ttl {
type uint8;
default "255";
description
"This leaf reflects the configured/default IP TTL value that is used
in the outer header during packet encapsulation. When this leaf is
not set, the TTL value of the inner packet is copied over as the
outer packet's IP TTL value during encapsulation.";
"Configured/default IPv4 TTL value used in the outer IP header
during packet encapsulation when ttl-processing-mode is set to
TUNNEL_HEADER_FIELD_MODE_PIPE.

If ttl-processing-mode is set to
TUNNEL_HEADER_FIELD_MODE_UNIFORM, the TTL value from the inner
packet header is propagated to the outer IP header and this leaf
is ignored for encapsulation.";
Comment thread
tasaleh marked this conversation as resolved.
reference
"RFC 791: Internet Protocol.

RFC 3443: Time To Live (TTL) Processing in Multi-Protocol
Label Switching (MPLS) Networks.";
}
}

Expand Down
89 changes: 88 additions & 1 deletion release/models/aft/openconfig-aft-types.yang
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@ module openconfig-aft-types {
"Types related to the OpenConfig Abstract Forwarding
Table (AFT) model";

oc-ext:openconfig-version "1.3.0";
oc-ext:openconfig-version "1.4.0";

revision "2026-06-11" {
description
"Add reusable tunnel header-field processing mode identities and typedef.";
reference "1.4.0";
}

revision "2025-01-28" {
description
Expand Down Expand Up @@ -77,6 +83,87 @@ module openconfig-aft-types {
oc-ext:catalog-organization "openconfig";
oc-ext:origin "openconfig";

identity TUNNEL_HEADER_FIELD_MODE {
description
"Base identity for tunnel header-field processing modes.

Tunnel header-field processing modes describe how a packet header
field is handled across a tunnel encapsulation boundary. Examples
include IPv4 TTL and DSCP / Traffic Class.

The selected mode determines whether the tunnel header field is
propagated from the inner packet header or uses an independently
configured/default value.";
Comment thread
tasaleh marked this conversation as resolved.
reference
"RFC 3270: Multi-Protocol Label Switching (MPLS) Support of
Differentiated Services.

RFC 2983: Differentiated Services and Tunnels.

RFC 3443: Time To Live (TTL) Processing in Multi-Protocol
Label Switching (MPLS) Networks.";
}

identity TUNNEL_HEADER_FIELD_MODE_UNIFORM {
base TUNNEL_HEADER_FIELD_MODE;
description
"Uniform tunnel header-field processing mode.

In uniform mode, the selected tunnel header field is propagated
from the corresponding inner packet header field during
encapsulation.

This mode is also commonly described as propagation.";
reference
"RFC 3270: Multi-Protocol Label Switching (MPLS) Support of
Differentiated Services.

RFC 2983: Differentiated Services and Tunnels.

RFC 3443: Time To Live (TTL) Processing in Multi-Protocol
Label Switching (MPLS) Networks.";
}

identity TUNNEL_HEADER_FIELD_MODE_PIPE {
base TUNNEL_HEADER_FIELD_MODE;
description
"Pipe tunnel header-field processing mode.

In pipe mode, the selected outer tunnel header field is
independent of the corresponding inner packet header field during
encapsulation. The outer field is set using an explicitly
configured value, a default value, or another field-specific
policy.";
reference
"RFC 3270: Multi-Protocol Label Switching (MPLS) Support of
Differentiated Services.

RFC 2983: Differentiated Services and Tunnels.

RFC 3443: Time To Live (TTL) Processing in Multi-Protocol
Label Switching (MPLS) Networks.";
}

typedef tunnel-header-field-mode-type {
type identityref {
base TUNNEL_HEADER_FIELD_MODE;
}
description
"Type definition for tunnel header-field processing modes.

This type is intended for leaves that control whether a packet
header field is propagated across a tunnel encapsulation boundary
or independently set by the tunnel header policy.";
reference
"RFC 3270: Multi-Protocol Label Switching (MPLS) Support of
Differentiated Services.

RFC 2983: Differentiated Services and Tunnels.

RFC 3443: Time To Live (TTL) Processing in Multi-Protocol
Label Switching (MPLS) Networks.";
}

typedef encapsulation-header-type {
type enumeration {
enum GRE {
Expand Down
9 changes: 8 additions & 1 deletion release/models/aft/openconfig-aft.yang
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,14 @@ module openconfig-aft {
is referred to as an Abstract Forwarding Table (AFT), rather than
the FIB.";

oc-ext:openconfig-version "3.4.0";
oc-ext:openconfig-version "3.5.0";

revision "2026-06-11" {
description
"Add tunnel header-field processing modes and default TTL/DSCP
values for UDP encapsulation.";
reference "3.5.0";
}

revision "2026-03-10" {
description
Expand Down
Loading