<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
Hello,
<div><br>
</div>
<div><br>
</div>
<div>We are trying to test the meter mark feature with the testpmd but we are observing some unusual results. We are trying to send different color packets to different queues but we are not seeing the desired results</div>
<div><br>
</div>
<div><br>
</div>
<div>Supporting INFO</div>
<div><br>
</div>
<div><br>
</div>
<div> MT2892 Family [ConnectX-6 Dx]</div>
<div><br>
</div>
<div> Driver: mlx5_core</div>
<div><br>
</div>
<div> Version: 5.8-1.1.2</div>
<div><br>
</div>
<div> Firmware-version: 22.35.2000 (MT_0000000436)</div>
<div><br>
</div>
<div> dpdk- 22.11</div>
<div><br>
</div>
<div><br>
</div>
<div>Here are our test steps</div>
<div class="elementToProof"><br>
</div>
<div><span style="font-size: 14pt;"><b>Step 1: Configuring meter_mark in testpmd:</b></span></div>
<div><br>
</div>
<div>sudo ./build/app/dpdk-testpmd -l 0-3 -n 4 -a 0000:4:00.0,dv_flow_en=2 --file-prefix ts -- -i --disable-rss --txq=9 –rxq=9</div>
<div class="elementToProof"><br>
</div>
<div>port stop 0</div>
<div class="elementToProof"><br>
</div>
<div><span style="font-size: 16pt;"><b>port configure</b></span></div>
<div><br>
</div>
<div>flow configure 0 queues_number 9 queues_size 256 meters_number 1</div>
<div class="elementToProof"><br>
</div>
<div class="elementToProof"><br>
</div>
<div class="elementToProof"><span style="font-size: 14pt;"><b>Pattern template configure</b></span></div>
<div><br>
</div>
<div><br>
</div>
<div>flow pattern_template 0 create pattern_template_id 2 relaxed true ingress template eth dst is 00:16:3e:31:15:c3 / end</div>
<div><br>
</div>
<div>flow pattern_template 0 create pattern_template_id 4 relaxed true ingress template meter color is green / end</div>
<div class="elementToProof"><br>
</div>
<div>flow pattern_template 0 create pattern_template_id 5 relaxed true ingress template meter color is yellow / end</div>
<div class="elementToProof"><br>
</div>
<div>flow pattern_template 0 create pattern_template_id 6 relaxed true ingress template meter color is red / end</div>
<div class="elementToProof"><br>
</div>
<div><b>Action Template configure</b></div>
<div class="elementToProof"><br>
</div>
<div>flow actions_template 0 create actions_template_id 1 template jump group 1 / end mask jump group 1 / end</div>
<div class="elementToProof"><br>
</div>
<div class="elementToProof">flow actions_template 0 create actions_template_id 2 template meter_mark mtr_profile 0 mtr_color_mode 1
<br>
</div>
<div class="elementToProof">mtr_init_color green mtr_state 1 / jump group 2 / end mask meter_mark mtr_profile 0 mtr_color_mode 1 mtr_init_color green mtr_state 1 / jump group 2 / end</div>
<div><br>
</div>
<div>flow actions_template 0 create actions_template_id 4 template queue index 2 / end mask queue index 2 / end</div>
<div class="elementToProof"><br>
</div>
<div>flow actions_template 0 create actions_template_id 5 template queue index 6 / end mask queue index 6 / end</div>
<div><br>
</div>
<div>flow actions_template 0 create actions_template_id 6 template drop / end mask drop / end</div>
<div><br>
</div>
<div><span style="font-size: 14pt;"><b>Template Table creation</b></span></div>
<div><br>
</div>
<div><br>
</div>
<div>flow template_table 0 create table_id 1 group 0 ingress rules_number 10 pattern_template 2 actions_template 1</div>
<div><br>
</div>
<div>flow template_table 0 create table_id 2 group 1 ingress rules_number 10 pattern_template 2 actions_template 2</div>
<div><br>
</div>
<div>flow template_table 0 create table_id 4 group 2 ingress rules_number 10 pattern_template 4 actions_template 4</div>
<div><br>
</div>
<div>flow template_table 0 create table_id 5 group 2 ingress rules_number 10 pattern_template 5 actions_template 5</div>
<div><br>
</div>
<div>flow template_table 0 create table_id 6 group 2 ingress rules_number 10 pattern_template 6 actions_template 6</div>
<div class="elementToProof"><br>
</div>
<div>port start 0</div>
<div><br>
</div>
<div><span style="font-size: 14pt;"><b>profile creation for meter mark</b></span></div>
<div><br>
</div>
<div>add port meter profile trtcm_rfc2698 0 0 120 250 20 3000 0</div>
<div><br>
</div>
<div class="elementToProof"><span style="font-size: 14pt;"><b>Flow queue creation</b></span></div>
<div><br>
</div>
<div>flow queue 0 create 0 template_table 1 pattern_template 0 actions_template 0 postpone 0 pattern eth dst is 00:16:3e:31:15:c3 / end actions drop / end</div>
<div class="elementToProof"><br>
</div>
<div>flow queue 0 create 0 template_table 2 pattern_template 0 actions_template 0 postpone 0 pattern eth dst is 00:16:3e:31:15:c3 / end actions drop / end</div>
<div><br>
</div>
<div>flow queue 0 create 0 template_table 4 pattern_template 0 actions_template 0 postpone 0 pattern meter color is green / end actions drop / end</div>
<div><br>
</div>
<div>flow queue 0 create 0 template_table 5 pattern_template 0 actions_template 0 postpone 0 pattern meter color is yellow / end actions drop / end</div>
<div class="elementToProof"><br>
</div>
<div>flow queue 0 create 0 template_table 6 pattern_template 0 actions_template 0 postpone 0 pattern meter color is red / end actions drop / end</div>
<div><br>
</div>
<div><br>
</div>
<div><span style="font-size: 14pt;"><b>Push/Pull operation</b></span></div>
<div><br>
</div>
<div><br>
</div>
<div>flow push 0 queue 0</div>
<div><br>
</div>
<div>Queue #0 operations pushed</div>
<div><br>
</div>
<div> flow pull 0 queue 0</div>
<div><br>
</div>
<div>Queue #0 pulled 2 operations (0 failed, 2 succeeded)</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div><b>After pulling the flow rules it was observed that only 2 rules were successfully pulled</b></div>
<div><br>
</div>
<div><br>
</div>
<div>initially, after sending 2000 packets of 64 bytes from pktgen we saw only 1 packet received on queue 2 even though only 2 rules were successfully pushed and pulled from the nic</div>
<div><br>
</div>
<div><br>
</div>
<div>------- Forward Stats for RX Port= 0/Queue= 2 -> TX Port= 0/Queue= 2 -------</div>
<div><br>
</div>
<div>RX-packets: 1 TX-packets: 1 TX-dropped: 0</div>
<div><br>
</div>
<div><br>
</div>
<div>---------------------- Forward statistics for port 0 ----------------------</div>
<div><br>
</div>
<div>RX-packets: 1 RX-dropped: 0 RX-total: 1</div>
<div><br>
</div>
<div>TX-packets: 1 TX-dropped: 0 TX-total: 1</div>
<div><br>
</div>
<div>----------------------------------------------------------------------------</div>
<div><br>
</div>
<div><br>
</div>
<div>+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++</div>
<div><br>
</div>
<div>RX-packets: 1 RX-dropped: 0 RX-total: 1</div>
<div><br>
</div>
<div>TX-packets: 1 TX-dropped: 0 TX-total: 1</div>
<div><br>
</div>
<div>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</div>
<div><br>
</div>
<div><br>
</div>
<div>after again sending 2000 packets of 64 bytes</div>
<div><br>
</div>
<div><br>
</div>
<div>---------------------- Forward statistics for port 0 ----------------------</div>
<div><br>
</div>
<div>RX-packets: 0 RX-dropped: 0 RX-total: 0</div>
<div><br>
</div>
<div>TX-packets: 0 TX-dropped: 0 TX-total: 0</div>
<div><br>
</div>
<div>----------------------------------------------------------------------------</div>
<div><br>
</div>
<div><br>
</div>
<div>+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++</div>
<div><br>
</div>
<div>RX-packets: 0 RX-dropped: 0 RX-total: 0</div>
<div><br>
</div>
<div>TX-packets: 0 TX-dropped: 0 TX-total: 0</div>
<div><br>
</div>
<div>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</div>
<div><br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Regards,</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Taha<br>
</div>
<div><br>
</div>
</body>
</html>