|SUCCESS|dpdk-next-net-intel|cc048a01ec| Intel-Testing

sys_stv at intel.com sys_stv at intel.com
Tue Oct 27 23:44:59 CET 2026


Test-Label: intel-Testing
Test-Status: SUCCESS
_Testing PASS_

DPDK git repo: dpdk-next-net-intel
commit cc048a01ec4c7ae5f63a6607260ac05cc1588968
Author: Shaiq Wani <shaiq.wani at intel.com>
Date:   Tue Oct 27 11:40:17 2026 +0530

    net/intel: fix idpf Tx payload corruption in split queue
    
    Observed on ACC while running NVMe traffic tests: under sustained
    high-throughput split-queue Tx, payload bytes on the wire did not
    match what the application submitted, while headers and checksums
    looked valid.
    
    The RS-completion path freed mbufs by walking sw_ring[] slots between
    first_id and the EOP sw_id. RE reclaims and reuses those slots before
    RS lands, so the walker freed mbufs still in flight for later packets,
    whose buffers were then recycled and overwritten mid-DMA.
    
    Track completion ownership in a shadow ring indexed by a software-
    defined compl_tag written to all data descriptors of a packet (per the
    IDPF spec) and echoed back by HW on RS. The shadow ring is the sole
    owner of in-flight mbufs, so sw_ring[].mbuf is no longer touched and
    queue stop/release drain only the shadow ring. Size it to nb_tx_desc
    and stop Tx when the next compl_tag slot is still occupied, since RE
    runs ahead of RS and nb_tx_free does not bound pending completions.
    Allocate it at queue setup (failing on -ENOMEM) and free it on all
    setup-error and release paths.
    
    Remove the now unused ci_tx_entry.first_id field.
    
    The scalar shadow ring and the vector sw_ring_vec are both nb_tx_desc
    arrays of mbuf pointers and are never used at the same time, so place
    the shadow ring in the sw_ring/sw_ring_vec union and allocate a single
    nb_tx_desc-sized ring for split queues instead of the old
    2 * nb_tx_desc ci_tx_entry ring. This drops split-queue ring storage
    from 40 KiB to 8 KiB per queue at 1024 descriptors and keeps
    ci_tx_queue from growing. Split-queue mbuf drain now follows
    use_vec_entry: the vector path reclaims via ci_txq_release_all_mbufs(),
    the scalar path drains the shadow ring by completion tag.
    
    Fixes: 96cc9b6ea60c ("net/idpf: fix multi-segment mbuf leak in split Tx path")
    Cc: stable at dpdk.org
    
    Signed-off-by: Shaiq Wani <shaiq.wani at intel.com>

Testing Summary : 18 Case Done, 18 Successful, 0 Failures      

TestPlan:
	pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst
	vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst
	virtio_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/virtio_smoke_test_plan.rst

TestSuite:
	pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py
	vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py
	virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py


OS : Ubuntu 24.04.4 LTS       
Kernel : 6.8.0-87-generic         
GCC : 13.3.0-6ubuntu2~24.04.1        
NIC : Ethernet Controller E810-C for SFP         
Target : x86_64-native-linuxapp-gcc      

	Test result details:
	+-------------+---------------------------+-------+
	| suite       | case                      | status|
	+-------------+---------------------------+-------+
	| asan_smoke  | test_rxtx_with_ASan_enable| passed|
	| pf_smoke    | test_pf_jumbo_frames      | passed|
	| pf_smoke    | test_pf_rss               | passed|
	| pf_smoke    | test_pf_tx_rx_queue       | passed|
	| vf_smoke    | test_vf_jumbo_frames      | passed|
	| vf_smoke    | test_vf_rss               | passed|
	| vf_smoke    | test_vf_tx_rx_queue       | passed|
	| virtio_smoke| test_virtio_loopback      | passed|
	| virtio_smoke| test_virtio_pvp           | passed|
	+-------------+---------------------------+-------+


OS : Ubuntu 24.04.4 LTS       
Kernel : 6.8.0-71-generic         
GCC : 13.3.0-6ubuntu2~24.04.1        
NIC : Ethernet Controller XL710 for 40GbE QSFP+         
Target : x86_64-native-linuxapp-gcc      

	Test result details:
	+-------------+---------------------------+-------+
	| suite       | case                      | status|
	+-------------+---------------------------+-------+
	| asan_smoke  | test_rxtx_with_ASan_enable| passed|
	| pf_smoke    | test_pf_jumbo_frames      | passed|
	| pf_smoke    | test_pf_rss               | passed|
	| pf_smoke    | test_pf_tx_rx_queue       | passed|
	| vf_smoke    | test_vf_rss               | passed|
	| vf_smoke    | test_vf_tx_rx_queue       | passed|
	| vf_smoke    | test_vf_jumbo_frames      | n/a   |
	| virtio_smoke| test_virtio_loopback      | passed|
	| virtio_smoke| test_virtio_pvp           | passed|
	+-------------+---------------------------+-------+


DPDK STV team


More information about the test-report mailing list