On Thu, Aug 03, 2017 at 02:00:15PM +0100, Ferruh Yigit wrote: > On 7/18/2017 5:08 PM, Ferruh Yigit wrote: > > On 7/18/2017 1:48 PM, Gaetan Rivet wrote: > >> This PMD intercepts and manages Ethernet device removal events issued by > >> slave PMDs and re-initializes them transparently when brought back so that > >> existing applications do not need to be modified to benefit from true > >> hot-plugging support. > >> > >> The stacked PMD approach shares many similarities with the bonding PMD but > >> with a different purpose. While bonding provides the ability to group > >> several links into a single logical device for enhanced throughput and > >> supports fail-over at link level, this one manages the sudden disappearance > >> of the underlying device; it guarantees applications face a valid device in > >> working order at all times. > >> > >> Each fail-safe instance is configured to run atop one or several > >> devices, with one defined as the preferred device. Hot-plug events are > >> handled on all of them, and Tx is always directed to the preferred device > >> if present or to the next available failover device (Rx is always performed > >> on all devices for simplicity). > >> > >> Moreover, the configured slaves (preferred or failover) do not need to be > >> present at initialization time and may appear later. > >> > >> Slaves configuration is continuously synchronized with that of the virtual > >> device, which exposes their common set of capabilities to the application. > >> Failure to apply the current configuration state to a slave for any reason > >> simply reschedules its initialization. > >> > >> This patchset depends on: > >> > >> [dpdk-dev] [PATCH v4 0/8] fix hotplug API > >> http://dpdk.org/ml/archives/dev/2017-July/071340.html > >> > >> v1 --> v2: > >> > >> - Wrote documentation > >> - Fixed commit logs, signed-off-by > >> - Added LSC event support > >> - A few minor fixes > >> > >> v2 --> v3: > >> > >> - Numerous bug fixes. > >> - Complete sub-EAL rework to follow new bus API. > >> - burst protection on sub removal. > >> - more flexible sub definition. > >> - flow isolated mode support. > >> > >> v3 --> v4: > >> > >> - Split back commits > >> net/failsafe: add fast burst functions > >> net/failsafe: support device removal > >> That were squashed by error during a rebase > >> - Fix segfault on port plugin > >> - Fix isolate mode support for MLX4 ports plugin > >> > >> v4 --> v5: > >> > >> - Follow new plug / unplug API. > >> > >> v5 --> v6: > >> > >> - Follow new hotplug API. > >> - Improve usability of hotplug API. > >> - Fix rte_dev hotplug API implementation. > >> - Introduce rte_eal_devargs_rmv API as EXPERIMENTAL. > >> - Use it to clean up resources on hotplug_remove. > >> - Fix hotplug implementation and support un pci bus. > >> The scan was not idempotent, nor clean. > >> Neither were the device fields. > >> - Implement plug operation for vdev bus. > >> This is needed for hotplug support and to make the EAL > >> independent from vdev-specific API. > >> - Remove useless parameters from plug / unplug API. > >> > >> This patchset is fairly big and complex. The hotplug API has been rushed > >> and > >> has never been tested outside of the special case of vdev bus. > >> > >> These evolutions are proposed alongside this PMD as only this PMD allows > >> to test > >> this API at the moment, and without those evolutions this PMD cannot be > >> used. > >> > >> v6 --> v7 > >> > >> - Split the series in three, with > >> vlan filter configuration store standing alone > >> Hotplug API fixes separated > >> Fail-safe PMD on its own. > >> > >> These changes should ease integration. > >> > >> v7 --> v8 > >> > >> - Fix usage examples in documentation. > >> - Use rte_eth_dev_allocated when relevant. > >> > >> v8 --> v9 > >> > >> - Use calloc instead of rte_realloc for command line parsing. > >> - Include errno only when necessary. > >> > >> v9 --> v10 > >> > >> - Fix rte_flow description double-free issue. > >> Thanks Raslan for finding the issue :) > >> - Use RTE_ASSERT instead of assert. > >> Integrate the debug log of the fail-safe to > >> RTE_LOG_DEBUG macro as well, allowing dynamic log levels. > >> - Remove devices post-state-sync during slave upkeep, > >> to avoid a useless early probe attempt. > >> > >> v10 --> v11 > >> > >> - Added Glossary in documentation. > >> - Fixed issues oulined in [1]. > >> - Removed Rx offload advertizement in feature matrix. > >> > >> [1]: http://dpdk.org/ml/archives/dev/2017-July/071406.html > >> > >> Gaetan Rivet (11): > >> ethdev: add deferred intermediate device state > >> ethdev: count devices consistently > >> net/failsafe: add fail-safe PMD > >> net/failsafe: add plug-in support > >> net/failsafe: add flexible device definition > >> net/failsafe: support flow API > >> net/failsafe: support Rx offload capabilities > >> net/failsafe: add fast burst functions > >> net/failsafe: support device removal > >> net/failsafe: support link status change event > >> net/failsafe: support flow API isolation mode > > > > Series applied to dpdk-next-net/master, thanks. > > Hi Gaetan, > > Can you please send a patch to update release notes to announce the new PMD? >
Hi Ferruh, Sure > And can you also send a web page to list the PMD within supported NICs [1]? > How can I do that? Is there a git repository for dpdk.org I can propose a patch for? > Thanks, > ferruh > > [1] > http://dpdk.org/doc/nics -- Gaëtan Rivet 6WIND