Skip to content

Add subinterface egress VLAN filter drop counter#1502

Open
ostromart wants to merge 1 commit into
openconfig:masterfrom
ostromart:feature/add-egress-vlan-discard-counter
Open

Add subinterface egress VLAN filter drop counter#1502
ostromart wants to merge 1 commit into
openconfig:masterfrom
ostromart:feature/add-egress-vlan-discard-counter

Conversation

@ostromart

@ostromart ostromart commented Jun 1, 2026

Copy link
Copy Markdown

This change introduces a new subinterface-level operational state counter 'out-vlan-filter-discards' to track packet drops caused by egress VLAN filtering mismatch. Version bumped to 3.9.0 in openconfig-interfaces.yang.

Change-Id: I9a11ff67688e8aec8f3d8eb08ef05220bff44040

Change Scope

  • Description: This PR introduces a new subinterface-level operational state counter out-vlan-filter-discards to openconfig-interfaces.yang to track packets dropped due to VLAN egress filtering being enabled on the subinterface where the packet's VLAN tag did not match the allowed VLANs.
  • Backwards Compatibility: This change is fully backward compatible as it only adds a new operational state leaf counter to an existing grouping.

Use case

This counter is designed for production network debugging. Silent packet drops are difficult to diagnose in live networks, so introducing granular drop counters like this one helps network operators to pinpoint and root cause issues. Unlike other counters (e.g packet drops), this counter indicates a configuration or programming error so if would not be seen as increasing during normal operation and would indicate that the system is not functioning as intended.

Platform Implementations

This counter is part of the Generic SAI Debug Counters spec, see also header file.

Google network switches implement egress VLAN filter drop counters to track packet dispatches that violate allowed VLAN criteria.

Tree View

 module: openconfig-interfaces
   +--rw interfaces
      +--rw interface* [name]
...
        +--rw subinterfaces
           +--rw subinterface* [index]
              +--rw index     -> ../config/index
              +--rw config
              |  +--rw index?         uint32
              |  +--rw description?   string
              |  +--rw enabled?       boolean
              +--ro state
                 +--ro index?          uint32
                 +--ro description?    string
                 +--ro enabled?        boolean
                 +--ro name?           string
                 +--ro ifindex?        uint32
                 +--ro admin-status    enumeration
                 +--ro oper-status     enumeration
                 +--ro last-change?    oc-types:timeticks64
                 +--ro logical?        boolean
                 +--ro management?     boolean
                 +--ro cpu?            boolean
                 +--ro counters
                    +--ro in-octets?                  oc-yang:counter64
                    +--ro in-pkts?                    oc-yang:counter64
                    +--ro in-unicast-pkts?            oc-yang:counter64
                    +--ro in-broadcast-pkts?          oc-yang:counter64
                    +--ro in-multicast-pkts?          oc-yang:counter64
                    +--ro in-errors?                  oc-yang:counter64
                    +--ro in-discards?                oc-yang:counter64
                    +--ro out-octets?                 oc-yang:counter64
                    +--ro out-pkts?                   oc-yang:counter64
                    +--ro out-unicast-pkts?           oc-yang:counter64
                    +--ro out-broadcast-pkts?         oc-yang:counter64
                    +--ro out-multicast-pkts?         oc-yang:counter64
                    +--ro out-discards?               oc-yang:counter64
                    +--ro out-errors?                 oc-yang:counter64
                    +--ro last-clear?                 oc-types:timeticks64
                    x--ro in-unknown-protos?          oc-yang:counter64
                    x--ro in-fcs-errors?              oc-yang:counter64
                    x--ro carrier-transitions?        oc-yang:counter64
+                   +--ro out-vlan-filter-discards?   oc-yang:counter64

@ostromart ostromart requested a review from a team as a code owner June 1, 2026 22:53

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the openconfig-interfaces YANG module to version 3.9.0, introducing a new subinterface operational egress VLAN filter drop counter (out-vlan-filter-discards). The feedback suggests enhancing the description of this new counter to include the standard OpenConfig statement regarding counter discontinuities, ensuring consistency with other counters in the module.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread release/models/interfaces/openconfig-interfaces.yang
@ostromart ostromart force-pushed the feature/add-egress-vlan-discard-counter branch from 20bcbc6 to 7501dc6 Compare June 2, 2026 15:07
This change introduces a new subinterface-level operational state counter
'out-vlan-filter-discards' to track packet drops caused by egress VLAN
filtering mismatch. Version bumped to 3.9.0 in openconfig-interfaces.yang.

Change-Id: I9a11ff67688e8aec8f3d8eb08ef05220bff44040
@ostromart ostromart force-pushed the feature/add-egress-vlan-discard-counter branch from 7501dc6 to a1eb4f4 Compare June 2, 2026 15:09
@navaneethyv

Copy link
Copy Markdown

review June 2 :

Request to elaborate on the use case and share the link to the SAI APIs and the vendor implementations if any in the PR.

@ostromart

Copy link
Copy Markdown
Author

I've updated the PR description as requested, PTAL @navaneethyv

@dplore

dplore commented Jun 5, 2026

Copy link
Copy Markdown
Member

/gcbrun

@OpenConfigBot

Copy link
Copy Markdown

No major YANG version changes in commit a1eb4f4

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

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants