From a119faf2ec4d8f302450003e5787fa3d9115fb9e Mon Sep 17 00:00:00 2001 From: r12f Date: Sun, 14 Jul 2024 21:51:30 +0000 Subject: [PATCH 1/2] Fix QoS xoff and xon tests on TH5 devices. --- tests/qos/files/qos_params.th5.yaml | 167 ++++++++++++++++++++++++++++ tests/saitests/py3/sai_qos_tests.py | 8 +- 2 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 tests/qos/files/qos_params.th5.yaml diff --git a/tests/qos/files/qos_params.th5.yaml b/tests/qos/files/qos_params.th5.yaml new file mode 100644 index 0000000000..4b08fa9b2b --- /dev/null +++ b/tests/qos/files/qos_params.th5.yaml @@ -0,0 +1,167 @@ +qos_params: + th5: + topo-t0-standalone-32: + 200000_5m: + pkts_num_leak_out: 74 + pkts_num_egr_mem: 50 + xoff_1: + dscp: 3 + ecn: 1 + pg: 3 + pkts_num_trig_pfc: 48091 + pkts_num_trig_ingr_drp: 49276 + pkts_num_margin: 250 + xoff_2: + dscp: 4 + ecn: 1 + pg: 4 + pkts_num_trig_pfc: 48091 + pkts_num_trig_ingr_drp: 49276 + pkts_num_margin: 250 + hdrm_pool_size: + dscps: [3, 4] + ecn: 1 + pgs: [3, 4] + src_port_ids: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] + dst_port_id: 0 + margin: 250 + pgs_num: 50 + pkts_num_trig_pfc: 48091 + pkts_num_trig_pfc_multi: [48091, 38488, 30805, 24659, 19742, 15808, 12661, 10144, 8130, 6519, 5230, 4198, 3374, 2714, 2186, 1763, 1425, 1155, 939, 766, 628, 517, 428, 357, 301, 255, 219, 190, 167, 148, 134, 122, 112, 104, 98, 94, 90, 86, 84, 82, 80, 79, 78, 77, 77, 76, 76, 75, 75, 75] + pkts_num_hdrm_full: 1185 + pkts_num_hdrm_partial: 47 + wm_pg_headroom: + dscp: 3 + ecn: 1 + pg: 3 + pkts_num_trig_pfc: 48091 + pkts_num_trig_ingr_drp: 49276 + cell_size: 254 + pkts_num_margin: 250 + xon_1: + dscp: 3 + ecn: 1 + pg: 3 + pkts_num_trig_pfc: 48091 + pkts_num_dismiss_pfc: 14 + pkts_num_margin: 250 + xon_2: + dscp: 4 + ecn: 1 + pg: 4 + pkts_num_trig_pfc: 48091 + pkts_num_dismiss_pfc: 14 + pkts_num_margin: 250 + lossy_queue_1: + dscp: 8 + ecn: 1 + pg: 0 + pkts_num_trig_egr_drp: 19545 + pkts_num_margin: 250 + wm_buf_pool_lossless: + dscp: 3 + ecn: 1 + pg: 3 + queue: 3 + pkts_num_fill_ingr_min: 7 + pkts_num_trig_pfc: 22026 + pkts_num_trig_ingr_drp: 22488 + pkts_num_margin: 250 + cell_size: 254 + wm_buf_pool_lossy: + dscp: 8 + ecn: 1 + pg: 0 + queue: 0 + pkts_num_fill_ingr_min: 0 + pkts_num_trig_egr_drp: 73394 + pkts_num_fill_egr_min: 7 + cell_size: 254 + wm_pg_shared_lossless: + dscp: 3 + ecn: 1 + pg: 3 + pkts_num_fill_min: 74 + pkts_num_trig_pfc: 48091 + packet_size: 64 + cell_size: 254 + pkts_num_margin: 250 + wm_pg_shared_lossy: + dscp: 8 + ecn: 1 + pg: 0 + pkts_num_fill_min: 0 + pkts_num_trig_egr_drp: 19545 + packet_size: 64 + cell_size: 254 + pkts_num_margin: 250 + wm_q_shared_lossless: + dscp: 3 + ecn: 1 + queue: 3 + pkts_num_fill_min: 0 + pkts_num_trig_ingr_drp: 49276 + cell_size: 254 + pkts_num_margin: 250 + wm_q_shared_lossy: + dscp: 8 + ecn: 1 + queue: 0 + pkts_num_fill_min: 7 + pkts_num_trig_egr_drp: 19545 + cell_size: 254 + pkts_num_margin: 250 + ecn_1: + dscp: 8 + ecn: 0 + num_of_pkts: 5000 + limit: 182000 + min_limit: 180000 + cell_size: 254 + ecn_2: + dscp: 8 + ecn: 1 + num_of_pkts: 2047 + limit: 182320 + min_limit: 0 + cell_size: 254 + ecn_3: + dscp: 0 + ecn: 0 + num_of_pkts: 5000 + limit: 182000 + min_limit: 180000 + cell_size: 254 + ecn_4: + dscp: 0 + ecn: 1 + num_of_pkts: 2047 + limit: 182320 + min_limit: 0 + cell_size: 254 + wrr: + ecn: 1 + q0_num_of_pkts: 140 + q1_num_of_pkts: 140 + q2_num_of_pkts: 140 + q3_num_of_pkts: 150 + q4_num_of_pkts: 150 + q5_num_of_pkts: 140 + q6_num_of_pkts: 140 + q7_num_of_pkts: 140 + limit: 80 + wrr_chg: + ecn: 1 + q0_num_of_pkts: 80 + q1_num_of_pkts: 80 + q2_num_of_pkts: 80 + q3_num_of_pkts: 300 + q4_num_of_pkts: 300 + q5_num_of_pkts: 80 + q6_num_of_pkts: 80 + q7_num_of_pkts: 80 + limit: 80 + lossy_weight: 8 + lossless_weight: 30 + hdrm_pool_wm_multiplier: 1 + cell_size: 254 \ No newline at end of file diff --git a/tests/saitests/py3/sai_qos_tests.py b/tests/saitests/py3/sai_qos_tests.py index ae3fb0cf07..f4c2c58334 100755 --- a/tests/saitests/py3/sai_qos_tests.py +++ b/tests/saitests/py3/sai_qos_tests.py @@ -2576,8 +2576,8 @@ def runTest(self): pkts_num_dismiss_pfc - hysteresis) // cell_occupancy - margin ) log_message( - 'send_packet(src_port_id, pkt, ({} + {} - {} - {}) // {})\n'.format( - pkts_num_leak_out, pkts_num_trig_pfc, pkts_num_dismiss_pfc, hysteresis, cell_occupancy), + 'send_packet(src_port_id, pkt, ({} + {} - {} - {}) // {} - {})\n'.format( + pkts_num_leak_out, pkts_num_trig_pfc, pkts_num_dismiss_pfc, hysteresis, cell_occupancy, margin), to_stderr=True) capture_diag_counter(self, 'SndDst') @@ -2627,7 +2627,7 @@ def runTest(self): hysteresis) // cell_occupancy + margin * 2 - 1 ) log_message( - 'send_packet(src_port_id, pkt2, ({} + {} + {}) // {} + {} - 1)\n'.format( + 'send_packet(src_port_id, pkt2, ({} + {} + {}) // {} + {} * 2 - 1)\n'.format( pkts_num_leak_out, pkts_num_dismiss_pfc, hysteresis, cell_occupancy, margin), to_stderr=True) @@ -2660,7 +2660,7 @@ def runTest(self): pkt3, int(self.test_params['pg']), asic_type, pkts_num_egr_mem3) send_packet(self, src_port_id, pkt3, pkts_num_leak_out + 1) else: - send_packet(self, src_port_id, pkt3, pkts_num_leak_out + 1) + send_packet(self, src_port_id, pkt3, pkts_num_leak_out + 1 + margin) log_message('send_packet(src_port_id, pkt3, ({} + 1)\n'.format(pkts_num_leak_out), to_stderr=True) capture_diag_counter(self, 'SndDst3') From d6dea81fa7222f34c171d4950af81a00cd7896f0 Mon Sep 17 00:00:00 2001 From: r12f Date: Sun, 14 Jul 2024 22:39:58 +0000 Subject: [PATCH 2/2] Fix precommit. --- tests/qos/files/qos_params.th5.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qos/files/qos_params.th5.yaml b/tests/qos/files/qos_params.th5.yaml index 4b08fa9b2b..e9023a96e4 100644 --- a/tests/qos/files/qos_params.th5.yaml +++ b/tests/qos/files/qos_params.th5.yaml @@ -164,4 +164,4 @@ qos_params: lossy_weight: 8 lossless_weight: 30 hdrm_pool_wm_multiplier: 1 - cell_size: 254 \ No newline at end of file + cell_size: 254