On 5/29/2017 2:42 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: > > eal: complete attach / detach support > http://dpdk.org/ml/archives/dev/2017-May/066366.html > http://dpdk.org/dev/patchwork/patch/24522/ > > ethdev: add flow API rule copy function > http://dpdk.org/ml/archives/dev/2017-May/066145.html > http://dpdk.org/dev/patchwork/patch/24406/ > > ethdev: add isolated mode to flow API > http://dpdk.org/ml/archives/dev/2017-April/064327.html > http://dpdk.org/dev/patchwork/patch/23741/ > > 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 > > Gaetan Rivet (12): > ethdev: save VLAN filter setting > 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 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
Bruce, Neil, Any comment on to the latest version of the PMD? Thomas, Should this discussed in the tech-board, again for this release? Thanks, ferruh