|SUCCESS|dpdk|388bb5d87a| intel-Functional
sys_stv at intel.com
sys_stv at intel.com
Wed Mar 25 13:37:20 CET 2026
Test-Label: intel-Functional
Test-Status: SUCCESS
_Functional PASS_
DPDK git repo: dpdk
commit 388bb5d87a4e88182fc625f6d23e68fe790f2f25
Author: Talluri Chaitanyababu <chaitanyababux.talluri at intel.com>
Date: Fri Mar 20 06:29:54 2026 +0000
app/testpmd: fix DCB forwarding TC mismatch handling
Fix DCB forwarding failed when the number of TCs on ports is inconsistent.
When ports have asymmetric TC configurations (e.g. 2 ports, port0 has
4 TCs and port1 has 8 TCs), the forwarding logic iterates based only
on the Rx port TC count.
This can lead to accessing invalid Tx TC entries and incorrect queue
mapping, which will result in a SIGFPE exception.
Additionally, the existing VMDq pool guard in dcb_fwd_config_setup()
only checks RX queue counts and does not consider the case where the TX
port has no queues for a given pool/TC combination.
Fix this by:
1. Introducing an effective TC count using RTE_MIN() of Rx and Tx TC
values, ensuring forwarding only operates on valid TCs supported by
both ports.
2. Updating the loop condition to use the effective TC count instead of
only the Rx TC count.
3. Extending the queue validation in dcb_fwd_config_setup() to ensure
both Rx and Tx queues are valid for a given TC.
Testpmd command to reproduce:
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-20 -n 4 \
-a 0000:31:00.0 -a 0000:4b:00.0 \
--file-prefix=testpmd1 -- -i --rxq=256 --txq=256 \
--nb-cores=16 --total-num-mbufs=600000
port stop all
port config 0 dcb vt off 8 pfc on
port config 1 dcb vt off 8 pfc on
port start all
port stop all
port config 0 dcb vt off 4 pfc on
This ensures correct queue mapping and avoids issues when switching
between different DCB configurations across ports.
Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")
Cc: stable at dpdk.org
Signed-off-by: Talluri Chaitanyababu <chaitanyababux.talluri at intel.com>
Signed-off-by: Shaiq Wani <shaiq.wani at intel.com>
Acked-by: Chengwen Feng <fengchengwen at huawei.com>
Smoke-Testing Summary : 31 Case Done, 31 Successful, 0 Failures
OS : Ubuntu 24.04.3 LTS
Kernel : 6.8.0-71-generic
GCC : 13.3.0-6ubuntu2~24.04
NIC : Ethernet Controller XL710 for 40GbE QSFP+
Target : x86_64-native-linuxapp-gcc
Test result details:
+-----------------+---------------------------------------------------+-------+
| suite | case | status|
+-----------------+---------------------------------------------------+-------+
| checksum_offload| test_do_not_insert_checksum_on_the_transmit_packet| passed|
| checksum_offload| test_hardware_checksum_check_ip_rx | passed|
| checksum_offload| test_hardware_checksum_check_ip_tx | passed|
| checksum_offload| test_hardware_checksum_check_l4_rx | passed|
| checksum_offload| test_hardware_checksum_check_l4_tx | passed|
| checksum_offload| test_insert_checksum_on_the_transmit_packet | passed|
| checksum_offload| test_rx_checksum_valid_flags | passed|
| checksum_offload| test_checksum_offload_with_vlan | n/a |
| dual_vlan | test_dual_vlan_priority_rxtx | passed|
| dual_vlan | test_vlan_filter_config | passed|
| dual_vlan | test_vlan_filter_table | passed|
| dual_vlan | test_vlan_insert_config | passed|
| dual_vlan | test_vlan_random_test | passed|
| dual_vlan | test_vlan_strip_config | passed|
| dual_vlan | test_vlan_synthetic_test | passed|
| dual_vlan | test_vlan_tpid_config | passed|
| dual_vlan | test_vlan_stripq_config | n/a |
| jumboframes | test_jumboframes_bigger_jumbo | passed|
| jumboframes | test_jumboframes_jumbo_jumbo | passed|
| jumboframes | test_jumboframes_jumbo_nojumbo | passed|
| jumboframes | test_jumboframes_normal_jumbo | passed|
| jumboframes | test_jumboframes_normal_nojumbo | passed|
| rxtx_offload | test_rxoffload_port_all | passed|
| rxtx_offload | test_rxoffload_port_cmdline | passed|
| rxtx_offload | test_txoffload_port | passed|
| rxtx_offload | test_txoffload_port_all | passed|
| rxtx_offload | test_txoffload_port_checksum | passed|
| rxtx_offload | test_txoffload_port_cmdline | passed|
| rxtx_offload | test_txoffload_port_multi_segs | passed|
| rxtx_offload | test_txoffload_queue | passed|
| rxtx_offload | test_rxoffload_queue | n/a |
+-----------------+---------------------------------------------------+-------+
DPDK STV team
More information about the test-report
mailing list