66from tests .common .utilities import wait_until , configure_packet_aging
77from tests .common .mellanox_data import is_mellanox_device
88from tests .packet_trimming .constants import (
9- TRIM_SIZE , DEFAULT_PACKET_SIZE , DEFAULT_DSCP , MIN_PACKET_SIZE , TRIM_SIZE_MAX , CONFIG_TOGGLE_COUNT ,
10- JUMBO_PACKET_SIZE , PORT_TOGGLE_COUNT , COUNTER_DSCP , TRIM_QUEUE )
9+ DEFAULT_PACKET_SIZE , DEFAULT_DSCP , MIN_PACKET_SIZE , CONFIG_TOGGLE_COUNT ,
10+ JUMBO_PACKET_SIZE , PORT_TOGGLE_COUNT )
11+ from tests .packet_trimming .packet_trimming_config import PacketTrimmingConfig
1112from tests .packet_trimming .packet_trimming_helper import (
1213 configure_trimming_action , configure_trimming_acl , verify_srv6_packet_with_trimming , cleanup_trimming_acl ,
1314 verify_trimmed_packet , reboot_dut , check_connected_route_ready , get_switch_trim_counters_json ,
@@ -24,38 +25,38 @@ def configure_trimming_global_by_mode(self, duthost):
2425 def get_srv6_recv_pkt_dscp (self ):
2526 raise NotImplementedError
2627
27- def get_verify_trimmed_packet_kwargs (self , test_params ):
28+ def get_verify_trimmed_packet_kwargs (self , duthost , ptfadapter , test_params ):
2829 """
2930 Get kwargs for verify_trimmed_packet
3031 """
3132 base_kwargs = dict (
32- duthost = test_params . get ( ' duthost' ) ,
33- ptfadapter = test_params . get ( ' ptfadapter' ) ,
33+ duthost = duthost ,
34+ ptfadapter = ptfadapter ,
3435 ingress_port = test_params ['ingress_port' ],
3536 egress_ports = test_params ['egress_ports' ],
3637 block_queue = test_params ['block_queue' ],
3738 send_pkt_size = DEFAULT_PACKET_SIZE ,
3839 send_pkt_dscp = DEFAULT_DSCP ,
39- recv_pkt_size = TRIM_SIZE ,
40+ recv_pkt_size = PacketTrimmingConfig . get_trim_size ( duthost ) ,
4041 expect_packets = True
4142 )
4243 base_kwargs .update (self .get_extra_trimmed_packet_kwargs ())
4344 logger .info (f"Base kwargs: { base_kwargs } " )
4445 return base_kwargs
4546
46- def get_verify_trimmed_counter_packet_kwargs (self , trim_counter_params ):
47+ def get_verify_trimmed_counter_packet_kwargs (self , duthost , ptfadapter , trim_counter_params ):
4748 """
4849 Get kwargs for verify_trimmed_packet
4950 """
5051 base_kwargs = dict (
51- duthost = trim_counter_params . get ( ' duthost' ) ,
52- ptfadapter = trim_counter_params . get ( ' ptfadapter' ) ,
52+ duthost = duthost ,
53+ ptfadapter = ptfadapter ,
5354 ingress_port = trim_counter_params ['ingress_port' ],
5455 egress_ports = trim_counter_params ['egress_ports' ],
5556 block_queue = trim_counter_params ['block_queue' ],
5657 send_pkt_size = DEFAULT_PACKET_SIZE ,
57- send_pkt_dscp = COUNTER_DSCP ,
58- recv_pkt_size = TRIM_SIZE ,
58+ send_pkt_dscp = PacketTrimmingConfig . get_counter_dscp ( duthost ) ,
59+ recv_pkt_size = PacketTrimmingConfig . get_trim_size ( duthost ) ,
5960 expect_packets = True
6061 )
6162 base_kwargs .update (self .get_extra_trimmed_packet_kwargs ())
@@ -84,20 +85,18 @@ def test_packet_size_after_trimming(self, duthost, ptfadapter, test_params):
8485 configure_trimming_action (duthost , test_params ['trim_buffer_profiles' ][buffer_profile ], "on" )
8586
8687 with allure .step ("Verify trimming packet" ):
87- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
88- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
88+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
8989 verify_trimmed_packet (** kwargs )
9090
91- with allure .step (f"Configure trimming in { self .trimming_mode } mode and update trim size to { TRIM_SIZE_MAX } " ):
92- self .configure_trimming_global_by_mode (duthost , TRIM_SIZE_MAX )
91+ max_trim_size = PacketTrimmingConfig .get_max_trim_size (duthost )
92+ with allure .step (f"Configure trimming in { self .trimming_mode } mode and update trim size to { max_trim_size } " ):
93+ self .configure_trimming_global_by_mode (duthost , max_trim_size )
9394
9495 with allure .step ("Send packets and verify trimming works after config update" ):
95- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
96+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
9697 kwargs .update ({
97- 'duthost' : duthost ,
98- 'ptfadapter' : ptfadapter ,
9998 'send_pkt_size' : JUMBO_PACKET_SIZE ,
100- 'recv_pkt_size' : TRIM_SIZE_MAX
99+ 'recv_pkt_size' : max_trim_size
101100 })
102101 verify_trimmed_packet (** kwargs )
103102
@@ -118,16 +117,13 @@ def test_dscp_remapping_after_trimming(self, duthost, ptfadapter, test_params):
118117 configure_trimming_action (duthost , test_params ['trim_buffer_profiles' ][buffer_profile ], "on" )
119118
120119 with allure .step ("Verify trimming packet" ):
121- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
122- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
120+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
123121 verify_trimmed_packet (** kwargs )
124122
125123 # When packet size is less than trimming size, the packet is not trimmed, but the DSCP value should be updated
126124 with allure .step ("Verify trim packet when packets size less than trimming size" ):
127- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
125+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
128126 kwargs .update ({
129- 'duthost' : duthost ,
130- 'ptfadapter' : ptfadapter ,
131127 'send_pkt_size' : MIN_PACKET_SIZE ,
132128 'recv_pkt_size' : MIN_PACKET_SIZE
133129 })
@@ -149,28 +145,22 @@ def test_acl_action_with_trimming(self, duthost, ptfadapter, test_params, clean_
149145 configure_trimming_action (duthost , test_params ['trim_buffer_profiles' ][buffer_profile ], "on" )
150146
151147 with allure .step ("Verify trimming packet" ):
152- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
153- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
148+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
154149 verify_trimmed_packet (** kwargs )
155150
156151 with allure .step ("Config ACL rule with DISABLE_TRIM_ACTION action" ):
157152 configure_trimming_acl (duthost , test_params ['ingress_port' ]['name' ])
158153
159154 with allure .step ("Verify packets are dropped directly" ):
160- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
161- kwargs .update ({
162- 'duthost' : duthost ,
163- 'ptfadapter' : ptfadapter ,
164- 'expect_packets' : False
165- })
155+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
156+ kwargs .update ({'expect_packets' : False })
166157 verify_trimmed_packet (** kwargs )
167158
168159 with allure .step ("Remove ACL table" ):
169160 cleanup_trimming_acl (duthost )
170161
171162 with allure .step ("Send packets again and verify trimmed packets" ):
172- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
173- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
163+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
174164 verify_trimmed_packet (** kwargs )
175165
176166 def test_trimming_with_srv6 (self , duthost , ptfadapter , setup_srv6 , test_params ):
@@ -198,7 +188,7 @@ def test_trimming_with_srv6(self, duthost, ptfadapter, setup_srv6, test_params):
198188 block_queue = test_params ['block_queue' ],
199189 send_pkt_size = DEFAULT_PACKET_SIZE ,
200190 send_pkt_dscp = DEFAULT_DSCP ,
201- recv_pkt_size = TRIM_SIZE ,
191+ recv_pkt_size = PacketTrimmingConfig . get_trim_size ( duthost ) ,
202192 recv_pkt_dscp = recv_pkt_dscp
203193 )
204194
@@ -216,8 +206,7 @@ def test_stability_during_feature_toggles(self, duthost, ptfadapter, test_params
216206
217207 with allure .step (f"Config and verify trimming in { self .trimming_mode } mode" ):
218208 self .configure_trimming_global_by_mode (duthost )
219- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
220- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
209+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
221210 verify_trimmed_packet (** kwargs )
222211
223212 with allure .step ("Disable trimming" ):
@@ -226,12 +215,8 @@ def test_stability_during_feature_toggles(self, duthost, ptfadapter, test_params
226215
227216 with allure .step (f"Verify no trimming action in { self .trimming_mode } mode when disable trimming" ):
228217 self .configure_trimming_global_by_mode (duthost )
229- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
230- kwargs .update ({
231- 'duthost' : duthost ,
232- 'ptfadapter' : ptfadapter ,
233- 'expect_packets' : False
234- })
218+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
219+ kwargs .update ({'expect_packets' : False })
235220 verify_trimmed_packet (** kwargs )
236221
237222 with allure .step ("Enable trimming again" ):
@@ -240,8 +225,7 @@ def test_stability_during_feature_toggles(self, duthost, ptfadapter, test_params
240225
241226 with allure .step (f"Verify trimming in { self .trimming_mode } mode after enable trimming" ):
242227 self .configure_trimming_global_by_mode (duthost )
243- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
244- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
228+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
245229 verify_trimmed_packet (** kwargs )
246230
247231 with allure .step ("Trimming config toggles" ):
@@ -253,8 +237,7 @@ def test_stability_during_feature_toggles(self, duthost, ptfadapter, test_params
253237
254238 with allure .step (f"Verify trimming still works after feature toggles in { self .trimming_mode } mode" ):
255239 self .configure_trimming_global_by_mode (duthost )
256- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
257- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
240+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
258241 verify_trimmed_packet (** kwargs )
259242
260243 def test_trimming_during_port_admin_toggle (self , duthost , ptfadapter , test_params ):
@@ -273,8 +256,7 @@ def test_trimming_during_port_admin_toggle(self, duthost, ptfadapter, test_param
273256 configure_trimming_action (duthost , test_params ['trim_buffer_profiles' ][buffer_profile ], "on" )
274257
275258 with allure .step ("Verify trimming packet" ):
276- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
277- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
259+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
278260 verify_trimmed_packet (** kwargs )
279261
280262 with allure .step ("Ports admin status toggles" ):
@@ -292,8 +274,7 @@ def test_trimming_during_port_admin_toggle(self, duthost, ptfadapter, test_param
292274 "Connected route is not ready" )
293275
294276 with allure .step ("Verify trimming still works after admin toggles" ):
295- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
296- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
277+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
297278 verify_trimmed_packet (** kwargs )
298279
299280 with allure .step ("Verify packet trimming counter" ):
@@ -317,8 +298,7 @@ def test_trimming_with_reload_and_reboot(self, duthost, ptfadapter, test_params,
317298 configure_trimming_action (duthost , test_params ['trim_buffer_profiles' ][buffer_profile ], "on" )
318299
319300 with allure .step ("Verify trimming packet" ):
320- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
321- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
301+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
322302 verify_trimmed_packet (** kwargs )
323303
324304 with allure .step ("Randomly choose one action from reload/cold reboot" ):
@@ -347,8 +327,7 @@ def test_trimming_with_reload_and_reboot(self, duthost, ptfadapter, test_params,
347327 configure_packet_aging (duthost , disabled = True )
348328
349329 with allure .step (f"Verify trimming function in { self .trimming_mode } mode after reload/cold reboot" ):
350- kwargs = self .get_verify_trimmed_packet_kwargs ({** test_params })
351- kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
330+ kwargs = self .get_verify_trimmed_packet_kwargs (duthost , ptfadapter , {** test_params })
352331 verify_trimmed_packet (** kwargs )
353332
354333 with allure .step ("Verify packet trimming counter" ):
@@ -372,8 +351,7 @@ def test_trimming_counters(self, duthost, ptfadapter, test_params, trim_counter_
372351 # Packets are trimmed on two queues, verify trimming counters in queue and port level
373352 with allure .step ("Verify trimming counters on two queues" ):
374353 # Trigger trimmed packets on queue0
375- counter_kwargs = self .get_verify_trimmed_counter_packet_kwargs ({** trim_counter_params })
376- counter_kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter })
354+ counter_kwargs = self .get_verify_trimmed_counter_packet_kwargs (duthost , ptfadapter , {** trim_counter_params })
377355 verify_trimmed_packet (** counter_kwargs )
378356
379357 # Verify the consistency of the trim counter on the queue and the port level
@@ -399,18 +377,21 @@ def test_trimming_counters(self, duthost, ptfadapter, test_params, trim_counter_
399377 "Trim sent counter on switch level is not equal to the sum of trim sent counter on port "
400378 "level" )
401379
380+ trim_queue = PacketTrimmingConfig .get_trim_queue (duthost )
381+
402382 with allure .step ("Verify TrimDrop counters on switch level" ):
403383 original_schedulers = {}
404384 try :
405385 # Block the trimmed queue
406386 for port in trim_counter_params ['egress_ports' ]:
407387 for dut_member in port ['dut_members' ]:
408- original_scheduler = disable_egress_data_plane (duthost , dut_member , TRIM_QUEUE )
388+ original_scheduler = disable_egress_data_plane (duthost , dut_member , trim_queue )
409389 original_schedulers [dut_member ] = original_scheduler
410390
411391 # Trigger trimmed packets on queue6
412- counter_kwargs = self .get_verify_trimmed_counter_packet_kwargs ({** trim_counter_params })
413- counter_kwargs .update ({'duthost' : duthost , 'ptfadapter' : ptfadapter , 'expect_packets' : False })
392+ counter_kwargs = self .get_verify_trimmed_counter_packet_kwargs (duthost , ptfadapter ,
393+ {** trim_counter_params })
394+ counter_kwargs .update ({'expect_packets' : False })
414395 verify_trimmed_packet (** counter_kwargs )
415396
416397 # Get the TrimDrop counters on switch level
@@ -423,10 +404,10 @@ def test_trimming_counters(self, duthost, ptfadapter, test_params, trim_counter_
423404 for port in trim_counter_params ['egress_ports' ]:
424405 for dut_member in port ['dut_members' ]:
425406 original_scheduler = original_schedulers .get (dut_member )
426- enable_egress_data_plane (duthost , dut_member , TRIM_QUEUE , original_scheduler )
407+ enable_egress_data_plane (duthost , dut_member , trim_queue , original_scheduler )
427408
428409 with allure .step ("Verify trimming counter when trimming feature toggles" ):
429- trim_queue = 'UC' + str (TRIM_QUEUE )
410+ trim_queue = 'UC' + str (trim_queue )
430411
431412 # Get queue level and port level counter when trimming is enabled
432413 port = test_params ['egress_ports' ][0 ]['dut_members' ][0 ]
0 commit comments