Skip to content

Conversation

@dplore
Copy link
Member

@dplore dplore commented Dec 16, 2025

Change Scope

Platform Implementations

See #1371 which includes references to implementation.

Tree View

module: openconfig-network-instance
  +--rw network-instances
     +--rw network-instance* [name]

         +--rw policy-forwarding
         |  +--rw config
         |  |  +--rw global-decap-policy?   string
         |  +--ro state
         |  |  +--ro global-decap-policy?   string
         |  +--rw policies
         |  |  +--rw policy* [policy-id]
         |  |     +--rw policy-id    -> ../config/policy-id
         |  |     +--rw config
         |  |     |  +--rw policy-id?   string
         |  |     |  +--rw type?        enumeration
         |  |     +--ro state
         |  |     |  +--ro policy-id?   string
         |  |     |  +--ro type?        enumeration
         |  |     +--rw rules
         |  |        +--rw rule* [sequence-id]
         |  |           +--rw sequence-id        -> ../config/sequence-id
         |  |           +--rw config
         |  |           |  +--rw sequence-id?   uint32
+        |  |           |  +--rw address-family?   identityref
+        |  |           |  +--rw name?             string
         |  |           +--ro state
         |  |           |  +--ro sequence-id?      uint32
+        |  |           |  +--ro address-family?   identityref
+        |  |           |  +--ro name?             string
         |  |           |  +--ro matched-pkts?     oc-yang:counter64
         |  |           |  +--ro matched-octets?   oc-yang:counter64
         |  |           +--rw l2
         |  |           |  +--rw config
         |  |           |  |  +--rw source-mac?             oc-yang:mac-address
         |  |           |  |  +--rw source-mac-mask?        oc-yang:mac-address
         |  |           |  |  +--rw destination-mac?        oc-yang:mac-address
         |  |           |  |  +--rw destination-mac-mask?   oc-yang:mac-address
         |  |           |  |  +--rw ethertype?              oc-pkt-match-types:ethertype-type
         |  |           |  +--ro state
         |  |           |     +--ro source-mac?             oc-yang:mac-address
         |  |           |     +--ro source-mac-mask?        oc-yang:mac-address
         |  |           |     +--ro destination-mac?        oc-yang:mac-address
         |  |           |     +--ro destination-mac-mask?   oc-yang:mac-address
         |  |           |     +--ro ethertype?              oc-pkt-match-types:ethertype-type
         |  |           +--rw ipv4
         |  |           |  +--rw config
         |  |           |  |  +--rw source-address?                   oc-inet:ipv4-prefix
         |  |           |  |  +--rw source-address-prefix-set?        -> /oc-sets:defined-sets/ipv4-prefix-sets/ipv4-prefix-set/name
         |  |           |  |  +--rw destination-address?              oc-inet:ipv4-prefix
         |  |           |  |  +--rw destination-address-prefix-set?   -> /oc-sets:defined-sets/ipv4-prefix-sets/ipv4-prefix-set/name
         |  |           |  |  +--rw fragment-offsets*                 oc-pkt-match-types:fragment-offset-range
         |  |           |  |  +--rw dscp?                             oc-inet:dscp
         |  |           |  |  +--rw dscp-set*                         oc-inet:dscp
         |  |           |  |  +--rw length?                           uint16
         |  |           |  |  +--rw protocol?                         oc-pkt-match-types:ip-protocol-type
         |  |           |  |  +--rw hop-limit?                        uint8
         |  |           |  +--ro state
         |  |           |  |  +--ro source-address?                   oc-inet:ipv4-prefix
         |  |           |  |  +--ro source-address-prefix-set?        -> /oc-sets:defined-sets/ipv4-prefix-sets/ipv4-prefix-set/name
         |  |           |  |  +--ro destination-address?              oc-inet:ipv4-prefix
         |  |           |  |  +--ro destination-address-prefix-set?   -> /oc-sets:defined-sets/ipv4-prefix-sets/ipv4-prefix-set/name
         |  |           |  |  +--ro fragment-offsets*                 oc-pkt-match-types:fragment-offset-range
         |  |           |  |  +--ro dscp?                             oc-inet:dscp
         |  |           |  |  +--ro dscp-set*                         oc-inet:dscp
         |  |           |  |  +--ro length?                           uint16
         |  |           |  |  +--ro protocol?                         oc-pkt-match-types:ip-protocol-type
         |  |           |  |  +--ro hop-limit?                        uint8
         |  |           |  +--rw icmpv4
         |  |           |     +--rw config
         |  |           |     |  +--rw type?   identityref
         |  |           |     |  +--rw code?   identityref
         |  |           |     +--ro state
         |  |           |        +--ro type?   identityref
         |  |           |        +--ro code?   identityref
         |  |           +--rw ipv6
         |  |           |  +--rw config
         |  |           |  |  +--rw source-address?                   oc-inet:ipv6-prefix
         |  |           |  |  +--rw source-address-prefix-set?        -> /oc-sets:defined-sets/ipv6-prefix-sets/ipv6-prefix-set/name
         |  |           |  |  +--rw source-flow-label?                oc-inet:ipv6-flow-label
         |  |           |  |  +--rw destination-address?              oc-inet:ipv6-prefix
         |  |           |  |  +--rw destination-address-prefix-set?   -> /oc-sets:defined-sets/ipv6-prefix-sets/ipv6-prefix-set/name
         |  |           |  |  +--rw destination-flow-label?           oc-inet:ipv6-flow-label
         |  |           |  |  +--rw dscp?                             oc-inet:dscp
         |  |           |  |  +--rw dscp-set*                         oc-inet:dscp
         |  |           |  |  +--rw length?                           uint16
         |  |           |  |  +--rw protocol?                         oc-pkt-match-types:ip-protocol-type
         |  |           |  |  +--rw hop-limit?                        uint8
         |  |           |  +--ro state
         |  |           |  |  +--ro source-address?                   oc-inet:ipv6-prefix
         |  |           |  |  +--ro source-address-prefix-set?        -> /oc-sets:defined-sets/ipv6-prefix-sets/ipv6-prefix-set/name
         |  |           |  |  +--ro source-flow-label?                oc-inet:ipv6-flow-label
         |  |           |  |  +--ro destination-address?              oc-inet:ipv6-prefix
         |  |           |  |  +--ro destination-address-prefix-set?   -> /oc-sets:defined-sets/ipv6-prefix-sets/ipv6-prefix-set/name
         |  |           |  |  +--ro destination-flow-label?           oc-inet:ipv6-flow-label
         |  |           |  |  +--ro dscp?                             oc-inet:dscp
         |  |           |  |  +--ro dscp-set*                         oc-inet:dscp
         |  |           |  |  +--ro length?                           uint16
         |  |           |  |  +--ro protocol?                         oc-pkt-match-types:ip-protocol-type
         |  |           |  |  +--ro hop-limit?                        uint8
         |  |           |  +--rw icmpv6
         |  |           |     +--rw config
         |  |           |     |  +--rw type?   identityref
         |  |           |     |  +--rw code?   identityref
         |  |           |     +--ro state
         |  |           |        +--ro type?   identityref
         |  |           |        +--ro code?   identityref
         |  |           +--rw transport
         |  |           |  +--rw config
         |  |           |  |  +--rw source-port?                  oc-pkt-match-types:port-num-range
         |  |           |  |  +--rw source-port-set?              -> /oc-sets:defined-sets/port-sets/port-set/name
         |  |           |  |  +--rw destination-port?             oc-pkt-match-types:port-num-range
         |  |           |  |  +--rw destination-port-set?         -> /oc-sets:defined-sets/port-sets/port-set/name
         |  |           |  |  +--rw detail-mode?                  enumeration
         |  |           |  |  +--rw explicit-detail-match-mode?   enumeration
         |  |           |  |  +--rw explicit-tcp-flags*           identityref
         |  |           |  |  +--rw builtin-detail?               enumeration
         |  |           |  +--ro state
         |  |           |     +--ro source-port?                  oc-pkt-match-types:port-num-range
         |  |           |     +--ro source-port-set?              -> /oc-sets:defined-sets/port-sets/port-set/name
         |  |           |     +--ro destination-port?             oc-pkt-match-types:port-num-range
         |  |           |     +--ro destination-port-set?         -> /oc-sets:defined-sets/port-sets/port-set/name
         |  |           |     +--ro detail-mode?                  enumeration
         |  |           |     +--ro explicit-detail-match-mode?   enumeration
         |  |           |     +--ro explicit-tcp-flags*           identityref
         |  |           |     +--ro builtin-detail?               enumeration
         |  |           +--rw action
         |  |           |  +--rw config
-        |  |           |  |  +--rw discard?                           boolean
+        |  |           |  |  x--rw discard?                           boolean
         |  |           |  |  +--rw decapsulate-gre?                   boolean
         |  |           |  |  +--rw decap-network-instance?            -> /network-instances/network-instance/config/name
         |  |           |  |  +--rw decap-fallback-network-instance?   -> /network-instances/network-instance/config/name
+        |  |           |  |  +--rw log?                               boolean
         |  |           |  |  +--rw post-decap-network-instance?       -> /network-instances/network-instance/config/name
         |  |           |  |  +--rw network-instance?                  -> /network-instances/network-instance/config/name
         |  |           |  |  +--rw path-selection-group?              -> ../../../../../../../path-selection-groups/path-selection-group/config/group-id
         |  |           |  |  +--rw next-hop?                          oc-inet:ip-address
         |  |           |  |  +--rw next-hop-group?                    -> ../../../../../../../../static/next-hop-groups/next-hop-group/config/name
         |  |           |  |  +--rw decapsulate-mpls-in-udp?           boolean
         |  |           |  |  +--rw decapsulate-gue?                   boolean
-        |  |           |  |  +--rw ip-ttl?                            uint8
+        |  |           |  |  x--rw ip-ttl?                            uint8
         |  |           |  +--ro state
-        |  |           |  |  +--ro discard?                           boolean
+        |  |           |  |  x--ro discard?                           boolean
         |  |           |  |  +--ro decapsulate-gre?                   boolean
         |  |           |  |  +--ro decap-network-instance?            -> /network-instances/network-instance/config/name
         |  |           |  |  +--ro decap-fallback-network-instance?   -> /network-instances/network-instance/config/name
+        |  |           |  |  +--ro log?                               boolean
         |  |           |  |  +--ro post-decap-network-instance?       -> /network-instances/network-instance/config/name
         |  |           |  |  +--ro network-instance?                  -> /network-instances/network-instance/config/name
         |  |           |  |  +--ro path-selection-group?              -> ../../../../../../../path-selection-groups/path-selection-group/config/group-id
         |  |           |  |  +--ro next-hop?                          oc-inet:ip-address
         |  |           |  |  +--ro next-hop-group?                    -> ../../../../../../../../static/next-hop-groups/next-hop-group/config/name
         |  |           |  |  +--ro decapsulate-mpls-in-udp?           boolean
         |  |           |  |  +--ro decapsulate-gue?                   boolean
-        |  |           |  |  +--ro ip-ttl?                            uint8
+        |  |           |  |  x--ro ip-ttl?                            uint8
         |  |           |  +--rw encapsulate-gre
         |  |           |  |  +--rw config
         |  |           |  |  |  +--rw identifying-prefix?   oc-inet:ip-prefix
         |  |           |  |  +--ro state
         |  |           |  |  |  +--ro identifying-prefix?   oc-inet:ip-prefix
         |  |           |  |  +--rw targets
         |  |           |  |     +--rw target* [id]
         |  |           |  |        +--rw id        -> ../config/id
         |  |           |  |        +--rw config
         |  |           |  |        |  +--rw id?            string
         |  |           |  |        |  +--rw source?        oc-inet:ip-address
         |  |           |  |        |  +--rw destination?   oc-inet:ip-prefix
         |  |           |  |        |  +--rw ip-ttl?        uint8
         |  |           |  |        +--ro state
         |  |           |  |           +--ro id?            string
         |  |           |  |           +--ro source?        oc-inet:ip-address
         |  |           |  |           +--ro destination?   oc-inet:ip-prefix
+        |  |           |  |           +--ro ip-ttl?        uint8
+        |  |           |  +--rw ipv4
+        |  |           |  |  +--rw config
+        |  |           |  |  |  +--rw dscp?     oc-inet-types:dscp
+        |  |           |  |  |  +--rw ip-ttl?   uint8
+        |  |           |  |  +--ro state
+        |  |           |  |     +--ro dscp?     oc-inet-types:dscp
         |  |           |  |           +--ro ip-ttl?        uint8
+        |  |           |  +--rw ipv6
+        |  |           |  |  +--rw config
+        |  |           |  |  |  +--rw dscp?        oc-inet-types:dscp
+        |  |           |  |  |  +--rw hop-limit?   uint8
+        |  |           |  |  +--ro state
+        |  |           |  |     +--ro dscp?        oc-inet-types:dscp
+        |  |           |  |     +--ro hop-limit?   uint8
+        |  |           |  +--rw mpls
+        |  |           |  |  +--rw config
+        |  |           |  |  |  +--rw mpls-traffic-class?   oc-mplst:mpls-tc
+        |  |           |  |  +--ro state
+        |  |           |  |     +--ro mpls-traffic-class?   oc-mplst:mpls-tc
+        |  |           |  +--rw forwarding
+        |  |           |  |  +--rw config
+        |  |           |  |  |  +--rw forwarding-action?      identityref
+        |  |           |  |  |  +--rw qos-forwarding-group?   -> /oc-qos:qos/forwarding-groups/forwarding-group/config/name
+        |  |           |  |  +--ro state
+        |  |           |  |     +--ro forwarding-action?      identityref
+        |  |           |  |     +--ro qos-forwarding-group?   -> /oc-qos:qos/forwarding-groups/forwarding-group/config/name
         |  |           |  +--rw oc-pf-srte:segment-lists
         |  |           |     +--rw oc-pf-srte:segment-list* [index]
         |  |           |        +--rw oc-pf-srte:index     -> ../config/index
         |  |           |        +--rw oc-pf-srte:config
         |  |           |        |  +--rw oc-pf-srte:index?    uint64
         |  |           |        |  +--rw oc-pf-srte:weight?   uint32
         |  |           |        +--ro oc-pf-srte:state
         |  |           |        |  +--ro oc-pf-srte:index?    uint64
         |  |           |        |  +--ro oc-pf-srte:weight?   uint32
         |  |           |        +--rw oc-pf-srte:sids
         |  |           |           +--rw oc-pf-srte:sid* [index]
         |  |           |              +--rw oc-pf-srte:index     -> ../config/index
         |  |           |              +--rw oc-pf-srte:config
         |  |           |              |  +--rw oc-pf-srte:index?      uint64
         |  |           |              |  +--rw oc-pf-srte:value?      oc-srt:sr-sid-type
         |  |           |              |  +--rw oc-pf-srte:mpls-ttl?   uint8
         |  |           |              |  +--rw oc-pf-srte:mpls-tc?    uint8
         |  |           |              +--ro oc-pf-srte:state
         |  |           |                 +--ro oc-pf-srte:index?      uint64
         |  |           |                 +--ro oc-pf-srte:value?      oc-srt:sr-sid-type
         |  |           |                 +--ro oc-pf-srte:mpls-ttl?   uint8
         |  |           |                 +--ro oc-pf-srte:mpls-tc?    uint8
         |  |           +--rw oc-pf-srte:srte
         |  |              +--rw oc-pf-srte:config
         |  |              |  +--rw oc-pf-srte:mpls-bsid?         oc-mplst:mpls-label
         |  |              |  +--rw oc-pf-srte:srte-endpoint?     oc-inet:ip-address
         |  |              |  +--rw oc-pf-srte:srte-color?        uint32
         |  |              |  +--rw oc-pf-srte:srte-preference?   uint32
         |  |              +--ro oc-pf-srte:state
         |  |                 +--ro oc-pf-srte:mpls-bsid?         oc-mplst:mpls-label
         |  |                 +--ro oc-pf-srte:srte-endpoint?     oc-inet:ip-address
         |  |                 +--ro oc-pf-srte:srte-color?        uint32
         |  |                 +--ro oc-pf-srte:srte-preference?   uint32

@OpenConfigBot
Copy link

OpenConfigBot commented Dec 16, 2025

No major YANG version changes in commit cf168d1

@dplore dplore marked this pull request as ready for review December 16, 2025 23:57
@dplore dplore requested a review from a team as a code owner December 16, 2025 23:57
@dplore dplore moved this to Ready to discuss in OC Operator Review Dec 18, 2025
dplore and others added 5 commits January 6, 2026 16:14
)

* add IPv6 DNS Server advertisement (RDNSS) configuration and state
* Add GLOME YANG paths.

cloned from #1378

* Update with changes from comments

* Update with changes from comments

* Fix typo

* Remove the oc-ap augment

---------

Co-authored-by: Darren Loher <[email protected]>
Co-authored-by: Caleb Geiger <[email protected]>
* Add FEC statistics and update descriptions in YANG

* (M) release/models/optical-transport/openconfig-terminal-device.yang
* (M)  release/models/interfaces/openconfig-if-ethernet.yang

---------

Co-authored-by: Darren Loher <[email protected]>
@dplore dplore requested a review from robshakir January 7, 2026 00:20
Copy link
Member

@robshakir robshakir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes, this LGTM. I added a couple of small nit comments.

@ElodinLaarz
Copy link
Contributor

Reviewed at OC Operators Meeting on January 27th:

We can set last call to 2 weeks from now and bring it up at the community meeting.

@ElodinLaarz ElodinLaarz moved this from Ready to discuss to last-call in OC Operator Review Jan 27, 2026
leaf name {
type string;
description
"A user defined name for a rule, used to give a user friendly
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any constraints for the name attribute? Is it allowed for multiple rules within a policy to share the same name? From the description of this leaf, more appropriate leaf name is description.

base oc-types:ADDRESS_FAMILY;
}
description
"The type determines the address family allowed in the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please include information about transport layer match handling in the description, since the address family is limited to L2, IPV4, IPV6 and MPLS.

"Set the matching packet DSCP value.";
}

leaf ttl {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: leaf name here is ttl vs ip-ttl in the PR description

status deprecated;
description
"If set, this leaf causes the local system to not decrement the TTL
"This is is deprecated and may be removed in a future OC model release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: is is

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: last-call

Development

Successfully merging this pull request may close these issues.

7 participants