Skip to content

[DPB]: Stale queue counter mappings in COUNTERS_DB post port breakout #3983

@rminnikanti

Description

@rminnikanti

Description:
After dynamic port breakout of a port, show queue counters <Port> doesn't work as queue counter map in the COUNTERS_DB is not updated.

How to reproduce:
Perform breakout of a port and check queue counters after breakout:

# sudo config interface breakout Ethernet448 "1x800G[400G,200G]" -y -f

Running Breakout Mode : 1x800G[400G,200G]
Target Breakout Mode : 1x800G[400G,200G]
[WARNING] No action will be taken as current and desired Breakout Mode are same.
root@sonic:/home/admin# sudo config interface breakout Ethernet448 "8x100G[50G]" -y -f

Running Breakout Mode : 1x800G[400G,200G]
Target Breakout Mode : 8x100G[50G]

Ports to be deleted :
 {
    "Ethernet448": "800000"
}
Ports to be added :
 {
    "Ethernet448": "100000",
    "Ethernet449": "100000",
    "Ethernet450": "100000",
    "Ethernet451": "100000",
    "Ethernet452": "100000",
    "Ethernet453": "100000",
    "Ethernet454": "100000",
    "Ethernet455": "100000"
}
Breakout process got successfully completed.
Please note loaded setting will be lost after system reboot. To preserve setting, run `config save`.

Issue

show queue counters Ethernet0
Traceback (most recent call last):
File "/usr/local/bin/queuestat", line 455, in <module>
main()
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 764, in {}call{}
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/bin/queuestat", line 450, in main
queuestat_wrapper.run(save_fresh_stats, port_to_show_stats, json_opt, non_zero)
File "/usr/local/lib/python3.11/dist-packages/utilities_common/multi_asic.py", line 156, in wrapped_run_on_all_asics
func(self, *args, **kwargs)
File "/usr/local/bin/queuestat", line 117, in run
queuestat = Queuestat(self.multi_asic.current_namespace, self.db, self.voq)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions