[swss] BUFFER_PG and BUFFER_QUEUE configs are not getting applied on new ports created from dynamic breakout
maulik-marvell opened this issue · 0 comments
Description
In sonic 202211, after we perform a dynamic port breakout on one of the parent ports and create new ports out of it, we are not able to configure BUFFER_PG/BUFFER_QUEUE tables using sonic-cfggen. We do not see any updates in syslog/swss.rec/sairedis.rec for the new buffer configs loaded via sonic-cfggen.
However, when we check the running configs, we do see the BUFFER_PG/BUFFER_QUEUE configs present there but they are not applied to syncd/device. Because of this issue, not able to configure the buffer profiles on IPG/Queues for new ports. The same steps work well in sonic 202111 and such behavior/issue is not seen there.
Steps to reproduce the issue:
-
Perform config reload in DUT to get to a fresh start.
root@sonic-dut:~# config reload -y
-
List all the interfaces and pick any port for breakout(Ethernet0 is considered for this test)
root@sonic-dut:~# show in status Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC ----------- --------------- ------- ----- ----- ------- ------ ------ ------- --------------- ---------- Ethernet0 89,90,91,92 100G 9100 rs Eth1 routed up up QSFP28 or later off Ethernet8 81,82,83,84 100G 9100 rs Eth2 routed up up QSFP28 or later off Ethernet16 73,74,75,76 100G 9100 rs Eth3 routed up up QSFP28 or later off Ethernet24 65,66,67,68 100G 9100 rs Eth4 routed up up QSFP28 or later off Ethernet32 57,58,59,60 100G 9100 rs Eth5 routed up up QSFP28 or later off
-
Perform dynamic port breakout on Ethernet0 and create 4 new ports Ethernet0,Ethernet1,Ethernet2,Ethernet3, make sure no error is reported
root@sonic-dut:~# config interface breakout Ethernet0 4x25G[10G]\(4\) -yf Running Breakout Mode : 1x100G(4) Target Breakout Mode : 4x25G[10G](4) Ports to be deleted : { "Ethernet0": "100000" } Ports to be added : { "Ethernet0": "25000", "Ethernet1": "25000", "Ethernet2": "25000", "Ethernet3": "25000" } Breakout process got successfully completed. Please note loaded setting will be lost after system reboot. To preserve setting, run `config save`. root@sonic-dut:~#
-
List all interfaces again to see new ports after breakout.
root@sonic-dut:~# root@sonic-dut:~# show in st Interface Lanes Speed MTU FEC Alias Vlan Oper Admin Type Asym PFC ----------- --------------- ------- ----- ----- ------- ------ ------ ------- --------------- ---------- Ethernet0 89 25G 9100 N/A Eth1-1 routed down down QSFP28 or later N/A Ethernet1 90 25G 9100 N/A Eth1-2 routed down down QSFP28 or later N/A Ethernet2 91 25G 9100 N/A Eth1-3 routed down down QSFP28 or later N/A Ethernet3 92 25G 9100 N/A Eth1-4 routed down down QSFP28 or later N/A Ethernet8 81,82,83,84 100G 9100 rs Eth2 routed up up QSFP28 or later off Ethernet16 73,74,75,76 100G 9100 rs Eth3 routed up up QSFP28 or later off Ethernet24 65,66,67,68 100G 9100 rs Eth4 routed up up QSFP28 or later off Ethernet32 57,58,59,60 100G 9100 rs Eth5 routed up up QSFP28 or later off
-
Create temporary json file to configure BUFFER_PG/BUFFER_QUEUE tables for new ports(see buffer_pg_queue_configs_new_ports.txt in attachment)
root@sonic-dut:~# sonic-cfggen -j buffer_pg_queue_configs_new_ports.json --write-to-db
-
Dump the running configs to check BUFFER_PG/BUFFER_QUEUE configured on new ports, able to see it configured(see running_cfg_all_after_breakout.log in attachment)
root@sonic-dut:~# show runningconfiguration all > running_cfg_all_after_breakout.txt
-
Check the swss.rec and sairedi.rec to see if orchagent has processed the configs towards syncd or not. Not seeing any events there, configs are not applied to ASIC using SAI APIs(see swss.rec.txt/sairedis.rec.txt in attachment)
Describe the results you received:
Even after running config shows BUFFER_PG/BUFFER_QUEUE configs on new ports, SAI APIs are not invoked for buffer profile attach calls on IPG/Queue on new ports, no events captured in swss.rec/sairedis.rec
Describe the results you expected:
Step #5 should result in SAI API calls to attach buffer profils on IPG/Queue on new ports.
Note: This step works as expected in sonic 202111, found it to be not working in 202211. Hence, able to apply the buffer profiles on new ports using same steps in sonic 202111, but not anymore in sonic 202211.
Additional information:
root@sonic-dut:~# show version
SONiC Software Version: SONiC.202211.Innovium.0-dirty-20230706.021917
SONiC OS Version: 11
Distribution: Debian 11.7
Kernel: 5.10.0-18-2-amd64
Build commit: 55be7274c
Build date: Thu Jul 6 12:54:55 UTC 2023
Built by: builder@sonic
buffer_pg_queue_configs_new_ports.txt
running_cfg_all_after_breakout.txt
sairedis.rec.txt
swss.rec.txt
syslog.txt