|SUCCESS|dpdk-next-net-intel|1f3e4cd181| Intel-Testing

sys_stv at intel.com sys_stv at intel.com
Mon Jul 13 13:49:07 CEST 2026


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

DPDK git repo: dpdk-next-net-intel
commit e6a48411f548b2b16d76584c16ad6082198d989c
Author: Dawid Wesierski <dawid.wesierski at intel.com>
Date:   Mon Jul 13 05:42:58 2026 -0400

    net/iavf: disable runtime queue setup during queue rate limiting
    
    Runtime queue setup on E810 VFs causes queue state corruption when
    queues are dynamically reconfigured while the hardware rate limiter
    is actively pacing TX queues. Queue configuration messages to the PF
    via virtchnl can race with ongoing TX operations, leading to undefined
    behavior.
    
    Rather than gating this behind a devarg that an application would have
    to know to set (and could just as easily avoid triggering the race by
    not calling rte_eth_{rx,tx}_queue_setup() on a running port), stop
    advertising RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP and
    RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP as soon as the application
    commits a per-queue bandwidth rte_tm hierarchy, i.e. as soon as the
    condition that causes the race actually exists. iavf_dev_info_get() is
    re-queried by the ethdev layer on every rx/tx_queue_setup() call, so
    this is enough for the generic layer to start rejecting runtime queue
    (re)configuration with -EBUSY once queue rate limiting is active, and
    to automatically allow it again once the rte_tm hierarchy is torn
    down.
    
    vf->qtc_map, already used elsewhere to look up a queue's TC mapping,
    is repurposed as the "queue bandwidth committed" signal since it's set
    by iavf_hierarchy_commit() exactly when a per-queue bandwidth mapping
    has been pushed to the PF, regardless of whether the port was stopped
    at the time. Fix two related issues found while making it load-bearing
    for this check:
    
    - iavf_hierarchy_commit() replaced vf->qtc_map on every successful
      commit without freeing the previous allocation, leaking memory.
    - vf->qtc_map was never released on VF teardown, so
      iavf_uninit_vf()/iavf_init_vf() (e.g. across a VF reset) could leave
      a stale pointer referencing freed unrelated memory, and the runtime
      queue setup capability would never be re-advertised after a reset.
    
    Both are fixed by freeing vf->qtc_map before replacing it in
    iavf_hierarchy_commit(), and freeing and clearing it in
    iavf_uninit_vf().
    
    Signed-off-by: Marek Kasiewicz <marek.kasiewicz at intel.com>
    Signed-off-by: Dawid Wesierski <dawid.wesierski 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