- List of Tables
- List of Figures
- Revision
- About this Manual
- Scope
- Defintions/Abbreviation
- 1 Overview
- 2 Requirements
- 3 Design
Rev | Date | Author | Change Description |
---|---|---|---|
0.1 | 07/08/20 | Mykola Faryma | Initial version |
This document provides an overview of requirements of port buffer drop counters in SONiC.
This document describes the motivation for port buffer drop counters and the changes expected.
Abbreviation | Description |
---|---|
FC | Flex Counter |
The main goal of this feature is to poll port level buffer drop counters in a safe way. According to sonic-net/sonic-swss#1308,
These counters are causing widespread issues in the master branch, so we're backing them out for now to be revisited in a later PR. They will likely need to be polled separately from the other counters, and on a longer interval, to avoid performance issues and conflicts.
The solution for now is to introduce a new FC group with a larger polling interval than the rest of port counters. Also limit user configuring a small interval for this FC group via CLI.
- New flex counter group is introduced for the port-level buffer drop counters
- The FC group is enabled by default
- The polling interval is 60s by default
- Users can configure FC group via a CLI tool
- Users can enable/disable polling
- Users can set the polling interval in range from 30s to 5m
- Users can view the FC configuration
- SAI_PORT_STAT_IN_DROPPED_PKTS: port-level ingress buffer drop counters
- SAI_PORT_STAT_OUT_DROPPED_PKTS: port-level egress buffer drop counters
admin@sonic:~$ counterpoll show
Type Interval (in ms) Status
-------------------------- ------------------ --------
QUEUE_STAT default (10000) enable
PORT_STAT default (1000) enable
RIF_STAT default (1000) enable
QUEUE_WATERMARK_STAT default (10000) enable
PG_WATERMARK_STAT default (10000) enable
BUFFER_POOL_WATERMARK_STAT default (10000) enable
admin@sonic:~$ counterpoll show
Type Interval (in ms) Status
-------------------------- ------------------ --------
QUEUE_STAT default (10000) enable
PORT_STAT default (1000) enable
PORT_BUFFER_DROP default (60000) enable
RIF_STAT default (1000) enable
QUEUE_WATERMARK_STAT default (10000) enable
PG_WATERMARK_STAT default (10000) enable
BUFFER_POOL_WATERMARK_STAT default (10000) enable
admin@sonic:~$ counterpoll port-buffer-drop enable
admin@sonic:~$ counterpoll port-buffer-drop disable
admin@sonic:~$ counterpoll port-buffer-drop interval 30000