Skip to content

Fix watermarkstat CLI script for unconfigured PG counters#2220

Closed
shlomibitton wants to merge 4 commits intosonic-net:masterfrom
shlomibitton:shlomi_watermarkstat_fix_for_pg_counters
Closed

Fix watermarkstat CLI script for unconfigured PG counters#2220
shlomibitton wants to merge 4 commits intosonic-net:masterfrom
shlomibitton:shlomi_watermarkstat_fix_for_pg_counters

Conversation

@shlomibitton
Copy link
Contributor

Signed-off-by: Shlomi Bitton [email protected]

What I did

Since PG counters are created only if they are configured in the switch, it is not enough to relay only on the first entry in the DB when building the output table of watermarkstat script.
We need to go over all configured counters, check what is the max configured, and build the table accordingly.

How I did it

Iterate all configured PG buffers for all ports and find the max index.
Build the output table according to the max index.

How to verify it

Run test "iface_namingmode/test_iface_namingmode.py" including this PR: sonic-net/sonic-swss#2143 and observe it passes.

Previous command output (if the output of a command-line utility has changed)

New command output (if the output of a command-line utility has changed)

Shlomi Bitton added 4 commits June 14, 2022 16:27
Since PG/Queue counters are created only if they are configured in the switch, it is not enough to relay only on the first entry in the DB.
We need to go over all configured counters, check what is the max configured, and build the table accordingly.

Signed-off-by: Shlomi Bitton <[email protected]>
@dprital dprital requested a review from yxieca June 15, 2022 19:32
element_idx = int(element.split(':')[1])
if (element_idx > max_idx):
max_idx = element_idx
if (not min_idx_found):
Copy link
Collaborator

Choose a reason for hiding this comment

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

@dprital imho, need to revisit this part of code. Not sure whether we need it.

@liat-grozovik
Copy link
Collaborator

@neethajohn could you please help to signoff?

@nazariig
Copy link
Collaborator

Closing in favour of #2239

@nazariig nazariig closed this Jun 28, 2022
neethajohn pushed a commit that referenced this pull request Jul 28, 2022
Signed-off-by: Nazarii Hnydyn [email protected]

Propagating #2220 with resolved review comments

What I did
Since PG counters are created only if they are configured in the switch, it is not enough to relay only on the first entry in the DB when building the output table of watermarkstat script.
We need to go over all configured counters, check what is the max configured, and build the table accordingly.

How I did it
Iterate all configured PG buffers for all ports and find the max index.
Build the output table according to the max index.

How to verify it
Run test "iface_namingmode/test_iface_namingmode.py" including this PR: sonic-net/sonic-swss#2143 and observe it passes.
yxieca pushed a commit that referenced this pull request Aug 8, 2022
Signed-off-by: Nazarii Hnydyn [email protected]

Propagating #2220 with resolved review comments

What I did
Since PG counters are created only if they are configured in the switch, it is not enough to relay only on the first entry in the DB when building the output table of watermarkstat script.
We need to go over all configured counters, check what is the max configured, and build the table accordingly.

How I did it
Iterate all configured PG buffers for all ports and find the max index.
Build the output table according to the max index.

How to verify it
Run test "iface_namingmode/test_iface_namingmode.py" including this PR: sonic-net/sonic-swss#2143 and observe it passes.
preetham-singh pushed a commit to preetham-singh/sonic-utilities that referenced this pull request Nov 21, 2022
…t#2239)

Signed-off-by: Nazarii Hnydyn [email protected]

Propagating sonic-net#2220 with resolved review comments

What I did
Since PG counters are created only if they are configured in the switch, it is not enough to relay only on the first entry in the DB when building the output table of watermarkstat script.
We need to go over all configured counters, check what is the max configured, and build the table accordingly.

How I did it
Iterate all configured PG buffers for all ports and find the max index.
Build the output table according to the max index.

How to verify it
Run test "iface_namingmode/test_iface_namingmode.py" including this PR: sonic-net/sonic-swss#2143 and observe it passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants