[dpdk-dev] [PATCH v2 0/3] clarify eth_dev state management

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Apr 5 22:46:59 CEST 2017


2017-03-31 14:04, Gaetan Rivet:
> 1. The hotplug API currently available in DPDK introduces the notion of
>    device states (DEV_DETACHED, DEV_ATTACHED). These states are implicit
>    and internal to the ethdev layer.
> 
> 2. Device enumeration and access is done directly, without regard to the
>    underlying state of a device. Applications are currently expected to cycle
>    through the static rte_eth_devices array. Those using the hotplug API
>    (rte_eth_dev_attach(), rte_eth_dev_detach()), are thus expected to deal
>    themselves with possible discrepancies internal to the ethdev layer,
>    i.e. avoid detached devices if necessary, without the state of the devices
>    having been explicitly defined or exposed.
> 
> 3. The hotplug API itself is not complete and cannot be used without
>    introducing some bugs. Detaching a device will introduce inconsistencies in
>    the device count, as explained in the related API.
>    No function is exposed in the ethdev layer to permit applications to deal
>    with it.
> 
> This series addresses these issues so that:
> 
> 1. Applications are not expected to manage the states of their devices, those
>    should be kept internal to the ethdev layer.
> 
> 2. The hotplug API is cleaner, with specific operations from the ethdev layer
>    to be used if necessary.
> 
> 3. Applications that are not interested in hotplug functionality are not concerned
>    and do not require any change.

Applied, thanks


More information about the dev mailing list