[PATCH V6 0/5] app/testpmd: support multiple process attach and detach port

lihuisong (C) lihuisong at huawei.com
Wed Jun 7 12:14:09 CEST 2023


在 2023/6/7 0:26, Ferruh Yigit 写道:
> On 5/27/2023 3:11 AM, Huisong Li wrote:
>> This patchset fix some bugs and support attaching and detaching port
>> in primary and secondary.
>>
> Hi Huisong,
>
> As commented on v4, I have some concerns on this set.
please see my reply.
>
> The set does multiple ethdev/testpmd change, but the main target of the
> patch is not described clearly/simply.
The main target is to support attaching and detaching port in primary 
and secondary.
Fixed some problems by the way.
>
> It looks like intention is to be able to register NEW event callback in
> the secondary process and be able to setup device in secondary when
> primary attaches a device,
> but my question is why not multi-process communication socket can't be
> used for this?
>
> MP socket/communication/thread is developed for this reason, I am not
> convinced why it can't be used to sync primary and secondary for device
> attach/detach.
The secondary process automatically probes the device when primary 
attaches a device.
The primary process automatically probes the device before doing probe 
phase in secondary when secondary attaches a device.
Above behavior itself is attributed to multi-process socket 
communication(see hogplug_mp.c).
This series are just to support this feature in testpmd.
But hogplug_mp cannot do something for application, like updating 
information, which is the duty of application.
>
>
>> ---
>>   -v6: adjust rte_eth_dev_is_used position based on alphabetical order
>>        in version.map
>>   -v5: move 'ALLOCATED' state to the back of 'REMOVED' to avoid abi break.
>>   -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
>>
>>   app/test-pmd/testpmd.c                   | 47 +++++++++++++++---------
>>   app/test-pmd/testpmd.h                   |  1 -
>>   drivers/bus/auxiliary/auxiliary_common.c |  9 ++++-
>>   drivers/bus/dpaa/dpaa_bus.c              |  9 ++++-
>>   drivers/bus/fslmc/fslmc_bus.c            |  8 +++-
>>   drivers/bus/ifpga/ifpga_bus.c            | 12 ++++--
>>   drivers/bus/pci/pci_common.c             |  9 ++++-
>>   drivers/bus/vdev/vdev.c                  | 10 ++++-
>>   drivers/bus/vmbus/vmbus_common.c         |  9 ++++-
>>   drivers/net/bnxt/bnxt_ethdev.c           |  3 +-
>>   drivers/net/bonding/bonding_testpmd.c    |  1 -
>>   drivers/net/mlx5/mlx5.c                  |  2 +-
>>   lib/ethdev/ethdev_driver.c               | 13 +++++--
>>   lib/ethdev/ethdev_driver.h               | 12 ++++++
>>   lib/ethdev/ethdev_pci.h                  |  2 +-
>>   lib/ethdev/rte_class_eth.c               |  2 +-
>>   lib/ethdev/rte_ethdev.c                  |  4 +-
>>   lib/ethdev/rte_ethdev.h                  |  4 +-
>>   lib/ethdev/version.map                   |  1 +
>>   19 files changed, 114 insertions(+), 44 deletions(-)
>>
> .


More information about the dev mailing list