On Wed, May 31, 2017 at 08:23:09AM -0700, Stephen Hemminger wrote:
> On Mon, 29 May 2017 15:42:20 +0200
> Gaetan Rivet <gaetan.ri...@6wind.com> wrote:
> 
> > Signed-off-by: Gaetan Rivet <gaetan.ri...@6wind.com>
> > Acked-by: Olga Shern <ol...@mellanox.com>
> > ---
> >  doc/guides/nics/features/failsafe.ini |   6 ++
> >  drivers/net/failsafe/failsafe_ops.c   | 131 
> > +++++++++++++++++++++++++++++++++-
> >  2 files changed, 135 insertions(+), 2 deletions(-)
> 
> Once again what about case of dumb synthetic NIC combined with SR-IOV VF?
> The VF has offloads the virtual NIC does not.
> 

The rules for capabilities are a little complicated.
In the case both VF and the virtual NIC are present at launch, then the
logical AND is done both their capabilities sets.
If one has additional capabilities that the user is requesting, and the
fail-safe recognize them (currently, all RX offloads, as TX offloads
were not yet expressed by flags), and this capability is not supported
by one slave, then this offload is disabled in the configuration.

> What about late plugin. how do you program the offloads of the later arriving
> VF device.

If the VF is not present at launch, then the fail-safe reads only the
set of capabilities from the fallback device. It does not have to do any
AND-ing of the flags.

The consequence is that upon plugin of the VF, the latter has to respect
the current running configuration. Probing will actually fail if some
capability is not supported (depending on PMDs), and the running
configuration is not updated as it is considered "live".

There are only two solutions to this, either:

* Complicate a lot the fail-safe design and the rules applied in
  the decision made on NIC configuration. The user then has bad
  surprises upon seeing that his performance have been degraded
  for arcane reasons.

* Emulate in software the offloads and try to advertize as many as
  possible. This is done for example in the TAP PMD for some flags,
  allowing those offloads to be used with hardware NICs.
  The user then has a clear view of the available offloads by comparing
  both sets of capabilities.

-- 
Gaëtan Rivet
6WIND

Reply via email to