On 12/6/2022 9:26 AM, Huisong Li wrote: > This patchset fix some bugs and support attaching and detaching port > in primary and secondary. > > --- > -v4: fix a misspelling. > -v3: > 1) merge patch 1/6 and patch 2/6 into patch 1/5, and add modification > for other bus type. > 2) add a RTE_ETH_DEV_ALLOCATED state in rte_eth_dev_state to resolve > the probelm in patch 2/5. > -v2: resend due to CI unexplained failure. > > Huisong Li (5): > drivers/bus: restore driver assignment at front of probing > ethdev: fix skip valid port in probing callback > app/testpmd: check the validity of the port > app/testpmd: add attach and detach port for multiple process > app/testpmd: stop forwarding in new or destroy event >
Hi Huisong, I haven't checked the patch in detail yet, but I can see it gives some ABI compatibility warnings, is this expected: 1 function with some indirect sub-type change: [C] 'function int dpaa_eth_eventq_attach(const rte_eth_dev*, int, u16, const rte_event_eth_rx_adapter_queue_conf*)' at dpaa_ethdev.c:1149:1 has some indirect sub-type changes: parameter 1 of type 'const rte_eth_dev*' has sub-type changes: in pointed to type 'const rte_eth_dev': in unqualified underlying type 'struct rte_eth_dev' at ethdev_driver.h:50:1: type size hasn't changed 1 data member change: type of 'rte_eth_dev_state state' changed: type size hasn't changed 1 enumerator insertion: 'rte_eth_dev_state::RTE_ETH_DEV_ALLOCATED' value '1' 2 enumerator changes: 'rte_eth_dev_state::RTE_ETH_DEV_ATTACHED' from value '1' to '2' at rte_ethdev.h:2000:1 'rte_eth_dev_state::RTE_ETH_DEV_REMOVED' from value '2' to '3' at rte_ethdev.h:2000:1 1 function with some indirect sub-type change: [C] 'function int rte_pmd_i40e_set_switch_dev(uint16_t, rte_eth_dev*)' at rte_pmd_i40e.c:3266:1 has some indirect sub-type changes: parameter 2 of type 'rte_eth_dev*' has sub-type changes: in pointed to type 'struct rte_eth_dev' at ethdev_driver.h:50:1: type size hasn't changed 1 data member change: type of 'rte_eth_dev_state state' changed: type size hasn't changed 1 enumerator insertion: 'rte_eth_dev_state::RTE_ETH_DEV_ALLOCATED' value '1' 2 enumerator changes: 'rte_eth_dev_state::RTE_ETH_DEV_ATTACHED' from value '1' to '2' at rte_ethdev.h:2000:1 'rte_eth_dev_state::RTE_ETH_DEV_REMOVED' from value '2' to '3' at rte_ethdev.h:2000:1 1 function with some indirect sub-type change: [C] 'function rte_eth_dev* rte_eth_dev_allocate(const char*)' at ethdev_driver.c:72:1 has some indirect sub-type changes: return type changed: in pointed to type 'struct rte_eth_dev' at ethdev_driver.h:50:1: type size hasn't changed 1 data member change: type of 'rte_eth_dev_state state' changed: type size hasn't changed 1 enumerator insertion: 'rte_eth_dev_state::RTE_ETH_DEV_ALLOCATED' value '1' 2 enumerator changes: 'rte_eth_dev_state::RTE_ETH_DEV_ATTACHED' from value '1' to '2' at rte_ethdev.h:2000:1 'rte_eth_dev_state::RTE_ETH_DEV_REMOVED' from value '2' to '3' at rte_ethdev.h:2000:1 ... there are more warnings for same issue ...