在 2023/1/11 0:51, Ferruh Yigit 写道:
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:
This is to be expected. Because we insert a device state,
RTE_ETH_DEV_ALLOCATED,
before RTE_ETH_DEV_ATTACHED for resolving the issue patch 2/5 mentioned.
We may have to announce it. What do you think?
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 ...
.