[PATCH V4 0/5] app/testpmd: support mulitple process attach and detach port
lihuisong (C)
lihuisong at huawei.com
Thu Jan 12 03:26:46 CET 2023
在 2023/1/11 18:46, Ferruh Yigit 写道:
> On 1/11/2023 10:27 AM, Ferruh Yigit wrote:
>> On 1/11/2023 12:53 AM, lihuisong (C) wrote:
>>> 在 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?
>> If there is an actual ABI break, it can't go in this release, need to
>> wait LTS release and yes needs deprecation notice in advance.
>>
>> But not all enum value change warnings are real break, need to
>> investigate all warnings one by one.
>> Need to investigate if old application & new dpdk library may cause any
>> unexpected behavior for application.
>>
> OR, appending new enum item, `RTE_ETH_DEV_ALLOCATED`, to the end of the
> enum solves the issue, although logically it won't look nice.
Thank you for your suggestion, Ferruh. It seems to be ok. I will fix it.
> Perhaps order can be fixed in next LTS, to have more logical order, but
> not quite sure if order worth the disturbance may cause in application.
Probably not worth it.
>>>> 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 ...
>>>>
>>>> .
> .
More information about the dev
mailing list