https://bugs.dpdk.org/show_bug.cgi?id=1663 Bug ID: 1663 Summary: [dpdk-25.03] flexible_rxd/check_IPv4_IPv6_TCP_fields_in_RXD_on_spec ific_queues: port config rxq/txq failed after attach port Product: DPDK Version: 25.03 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: Normal Component: testpmd Assignee: dev@dpdk.org Reporter: songx.jiale@intel.com Target Milestone: --- Environment =========== DPDK version: e5176f23ae8b31437c3e5eb875c81f95bf3a9942 version: 25.03-rc1 OS: Ubuntu24.04.1 LTS (Noble Numbat)/6.8.0-41-generic Compiler: gcc version 13.2.0 Hardware platform: Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz NIC hardware: Intel Corporation Ethernet Controller E810-C for SFP [8086:1593] (rev 01) NIC firmware: driver: ice-1.16.3 FW: 4.70 0x8001f7e2 1.3755.0 Test Setup Steps to reproduce ================== 1. bind ports to dpdk ./usertools/dpdk-devbind.py -b vfio-pci 0000:af:00.0 2. launch testpmd x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-3 -n 4 -a 0000:af:00.0 -- -i 3. detach and attach ports port stop all port detach 0 port attach 0000:af:00.0 port stop all 4. config port rxq/txq port config all rxq 16 port config all txq 16 Results: ======== The status of the port is down, but it cannot be configured. testpmd> port config all rxq 16 Please stop all ports first testpmd> port config all txq 16 Please stop all ports first Expected Result: ================ Can successfully configure rxq/txq after attaching the port. testpmd> port config all rxq 16 testpmd> port config all txq 16 bad commit: =========== commit 994635edb2c038e64617bcf2790a8cd326c3e8e0 Author: Huisong Li Date: Mon Jan 20 14:42:18 2025 +0800 app/testpmd: add port attach/detach for multiple process The port information needs to be updated due to attaching and detaching port. Currently, it is done in the same thread as removing or probing device, which doesn't satisfy the operation of attaching and detaching device in multiple process. If this operation is performed in one process, the other process can receive 'new' or 'destroy' event. So we can move updating port information to event callback to support attaching and detaching port in primary and secondary process. Note: the reason for adding an alarm callback in 'destroy' event is that the ethdev state is changed from 'ATTACHED' to 'UNUSED' only after the event callback finished. But the remove_invalid_ports() function removes invalid port only if ethdev state is 'UNUSED'. If we don't add alarm callback, this detached port information can not be removed. Signed-off-by: Huisong Li Signed-off-by: Dongdong Liu Acked-by: Chengwen Feng app/test-pmd/testpmd.c | 68 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 51 insertions, 17 deletions -- You are receiving this mail because: You are the assignee for the bug.