Test Plan for Align watermark flow with port configuration
Rev 0.1
Table of Contents
- Revision
- Overview
- Abbreviations
- Test information
- Supported topology
- Test configuration
- High level test details
- Ensure that when only 1 counterpoll enabled only this counterpoll stats exists in DBs
- When all relevant counterpoll types enabled stats for all 3 co-exists in DBs
- Detailed test flows
- one relevant counterpoll type enabled with config save and reload
- queue enabled one counterpoll config reload
- [watermark enabled one counterpoll config reload]](#watermark-enabled-one-counterpoll-config-reload)
- [pg-drop enabled one counterpoll config reload]](#pg-drop-enabled-one-counterpoll-config-reload)
- all relevant counterpoll type enabled with config save and reload
- one relevant counterpoll type enabled with switch reboot
- all relevant counterpoll type enabled with config save and switch reboot
- one relevant counterpoll type enabled with config save and reload
Revision
Rev | Date | Author | Change Description |
---|---|---|---|
0.1 | 10/30/2022 | Doron Barashi | Initial version |
Overview
The purpose of this test plan is to describe tests for Align watermark flow with port configuration feature.
Abbreviations
Term | Meaning |
---|---|
PG | Priority Group |
PG-DROP | Priority Group drop (packets) |
Test information
Supported topology
The test will be supported on any toplogy, since it doesn't require any traffic, except configuring port buffers since a performance improvement in queue and pg-drop maps creation was merged few days ago.
Test configuration
The configuration to the DUT done by the test.
First all counterpoll are disabled. Then each counterpoll queue/watermark/pg-drop is enabled and COUNTERS_DB and FLEX_COUNTER_DB maps and stats are checked.
counterpoll cli coverage
- counterpoll queue enable
- counterpoll watermark enable
- counterpoll pg-drop enable
Port buffer configuration
Due to performance improvement in queue and pg-drop maps creation, need to configure ports buffers to be able to have stats in both COUNTERS_DB and FLEX_COUNTER_DB.
counterpoll type configuration
Created rules:
counterpoll type | state | counter | pass criteria |
---|---|---|---|
queue | enabled | FLEX_COUNTER_TABLE:QUEUE_STAT_COUNTER:oid:0x* | present |
watermark | disabled | FLEX_COUNTER_TABLE:QUEUE_WATERMARK_STAT_COUNTER:oid:0x* | not present |
FLEX_COUNTER_TABLE:PG_WATERMARK_STAT_COUNTER:oid:0x* | not present | ||
pg-drop | disabled | FLEX_COUNTER_TABLE:PG_DROP_STAT_COUNTER:oid:0x* | not present |
queue | disabled | FLEX_COUNTER_TABLE:QUEUE_STAT_COUNTER:oid:0x* | not present |
watermark | enabled | FLEX_COUNTER_TABLE:QUEUE_WATERMARK_STAT_COUNTER:oid:0x* | present |
FLEX_COUNTER_TABLE:PG_WATERMARK_STAT_COUNTER:oid:0x* | present | ||
pg-drop | disabled | FLEX_COUNTER_TABLE:PG_DROP_STAT_COUNTER:oid:0x* | not present |
queue | disabled | FLEX_COUNTER_TABLE:QUEUE_STAT_COUNTER:oid:0x* | not present |
watermark | disabled | FLEX_COUNTER_TABLE:QUEUE_WATERMARK_STAT_COUNTER:oid:0x* | not present |
FLEX_COUNTER_TABLE:PG_WATERMARK_STAT_COUNTER:oid:0x* | not present | ||
pg-drop | enabled | FLEX_COUNTER_TABLE:PG_DROP_STAT_COUNTER:oid:0x* | present |
QUEUE maps in COUNTERS_DB
COUNTERS_QUEUE_NAME_MAP COUNTERS_QUEUE_INDEX_MAP COUNTERS_QUEUE_PORT_MAP COUNTERS_QUEUE_TYPE_MAP
PG maps in COUNTERS_DB
COUNTERS_PG_NAME_MAP COUNTERS_PG_PORT_MAP COUNTERS_PG_INDEX_MAP
watermark stats in COUNTERS_DB example
USER_WATERMARKS:oid:0x150000000003c5 PERIODIC_WATERMARKS:oid:0x150000000001d9 PERSISTENT_WATERMARKS:oid:0x150000000004e9
queue stats in FLEX_COUNTER_DB example
FLEX_COUNTER_TABLE:QUEUE_STAT_COUNTER:oid:0x15000000000284
pg-drop stats in FLEX_COUNTER_DB example
FLEX_COUNTER_TABLE:PG_DROP_STAT_COUNTER:oid:0x1a00000000008f
watermark stats in FLEX_COUNTER_DB example
FLEX_COUNTER_TABLE:QUEUE_WATERMARK_STAT_COUNTER:oid:0x150000000002bc FLEX_COUNTER_TABLE:PG_WATERMARK_STAT_COUNTER:oid:0x1a0000000000d9
High level test details
- Disable the counter polling for all counters
- save and reload configuration
- Switch (type[watermark,queue,pg-drop]) a. queue: enable the queue counter polling, check whether queue map is generated in COUNTERS_DB, no WATERMARK stats in FLEX_COUNTER_DB b. watermark: enable the watermark counter polling, check whether PG and queue map are generated in COUNTER_DB and both PG and QUEUE WATERMARK stats exists in FLEX_COUNTER_DB c. pg-drop: enable the pg-drop counter polling, check whether PG map is generated in COUNTERS_DB, no WATERMARK stats in FLEX_COUNTER_DB
- repeat this test 3 times, each time with different type [watermark,queue,pg-drop]
- test each type separately and also another test with all of them enabled one after the other with checks in between
- repeat the tests with reboot to verify config is saved and same output is generated after reboot
Ensure that when only 1 counterpoll enabled only this counterpoll stats exists in DBs
When only one of the counterpoll types is enabled each time (type[watermark,queue,pg-drop]), make sure only this counterpoll stats exists in:
- COUNTERS_DB
- FLEX_COUNTER_DB
When all relevant counterpoll types enabled stats for all 3 co-exists in DBs
When all counterpolls types are enabled (type[watermark,queue,pg-drop]), make sure only these counterpoll stats co-exists in:
- COUNTERS_DB
- FLEX_COUNTER_DB
Detailed test flows
one relevant counterpoll type enabled with config save and reload
queue enabled one counterpoll config reload
- Disable the counter polling for all counters
- save and reload configuration
- enable the queue counter polling
- check whether queue map is generated in COUNTERS_DB
- check for QUEUE stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
watermark enabled one counterpoll config reload
- Disable the counter polling for all counters
- save and reload configuration
- enable the watermark counter polling
- check whether PG and queue maps are generated in COUNTERS_DB
- check for both PG_WATERMARK and QUEUE_WATERMARK stats exists in FLEX_COUNTER_DB
- no QUEUE or PG-DROP stats exists
pg-drop enabled one counterpoll config reload
- Disable the counter polling for all counters
- save and reload configuration
- enable the pg-drop counter polling
- check whether PG map is generated in COUNTERS_DB
- check for PG-DROP stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
all relevant counterpoll type enabled with config save and reload
- Disable the counter polling for all counters
- save and reload configuration
- enable the queue counter polling
- check whether queue map is generated in COUNTERS_DB
- check for QUEUE stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
- enable the watermark counter polling
- check whether PG and queue maps are generated in COUNTERS_DB
- check for both PG_WATERMARK and QUEUE_WATERMARK stats exists in FLEX_COUNTER_DB
- no PG-DROP stats exists
- enable the pg-drop counter polling
- check whether PG map is generated in COUNTERS_DB
- check for PG-DROP stats exists in FLEX_COUNTER_DB
one relevant counterpoll type enabled with switch reboot
queue enabled one counterpoll switch reboot
- Disable the counter polling for all counters
- config save and switch reboot
- enable the queue counter polling
- check whether queue map is generated in COUNTERS_DB
- check for QUEUE stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
- save and switch reboot
- check whether queue map is generated in COUNTERS_DB
- check for QUEUE stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
watermark enabled one counterpoll switch reboot
- Disable the counter polling for all counters
- config save and switch reboot
- enable the watermark counter polling
- check whether PG and queue maps are generated in COUNTERS_DB
- check for both PG_WATERMARK and QUEUE_WATERMARK stats exists in FLEX_COUNTER_DB
- no QUEUE or PG-DROP stats exists
- save and switch reboot
- check whether PG and queue maps are generated in COUNTERS_DB
- check for both PG_WATERMARK and QUEUE_WATERMARK stats exists in FLEX_COUNTER_DB
- no QUEUE or PG-DROP stats exists
pg-drop enabled one counterpoll switch reboot
- Disable the counter polling for all counters
- config save and switch reboot
- enable the pg-drop counter polling
- check whether PG map is generated in COUNTERS_DB
- check for PG-DROP stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
- config save and switch reboot
- check whether PG map is generated in COUNTERS_DB
- check for PG-DROP stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
all relevant counterpoll type enabled with config save and switch reboot
- Disable the counter polling for all counters
- config save and switch reboot
- enable the queue counter polling
- check whether queue map is generated in COUNTERS_DB
- check for QUEUE stats exists in FLEX_COUNTER_DB
- no WATERMARK stats in FLEX_COUNTER_DB
- enable the watermark counter polling
- check whether PG and queue maps are generated in COUNTERS_DB
- check for both PG_WATERMARK and QUEUE_WATERMARK stats exists in FLEX_COUNTER_DB
- no PG-DROP stats exists
- enable the pg-drop counter polling
- check whether PG map is generated in COUNTERS_DB
- check for PG-DROP stats exists in FLEX_COUNTER_DB
- config save and switch reboot
- check whether PG and queue maps are generated in COUNTERS_DB
- check for QUEUE stats exists in FLEX_COUNTER_DB
- check for both PG_WATERMARK and QUEUE_WATERMARK stats exists in FLEX_COUNTER_DB
- check for PG-DROP stats exists in FLEX_COUNTER_DB