Re: [PATCH 00/12] introduce fail-safe PMD
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2017-03-03 17:27:29
On Fri, 3 Mar 2017 16:40:22 +0100 Gaetan Rivet [off-list ref] 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 looks interesting for SR-IOV VF support on Hyper-V. It would be good if the driver worked in interrupt mode as well.