Subject: Re: [RFC v3 02/11] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) interface

From: Jason Gunthorpe <[email-masked]>
Date: Wed, 8 Feb 2017 10:29:12 -0700

On Wed, Feb 08, 2017 at 08:54:37AM +0200, Leon Romanovsky wrote:
> On Tue, Feb 07, 2017 at 02:19:01PM -0700, Jason Gunthorpe wrote:
> > On Tue, Feb 07, 2017 at 12:23:01PM -0800, Vishwanathapura, Niranjana wrote:
> > > Add rdma netdev interface to ib device structure allowing rdma netdev
> > > devices to be allocated by ib clients.
> > > Define HFI VNIC interface between hardware independent VNIC
> > > functionality and the hardware dependent VNIC functionality.
> >
> > This commit message could be a bit clearer.
> >
> > The alloc_rdma_netdev multiplexer is inteded as a new general
> > interface and this adds a protocol definition for ethernet VNIC on
> > OPA.
> >
> > The hope is that ipoib can follow the same example and use the same
> > alloc_rdma_netdev entry point. Hopefully Mellanox will look at this
> > patch as I have talked to them in the past about doing this...
> 
> We looked on it and it is useless for us, mainly because of the fact
> that most  of the work is done in our net part of the driver.

I don't understand this comment.

At the last OFA conference the discussion with Mellanox was to provide
a way to implement ipoib ndo_start_xmit (and others) inside the lowest
level driver so the driver could do all offloads and optimizations
when pushing the ipoib SKB on the wire (and similar for rx). The ipoib
control plane would remain in the ipoib driver.

This is exactly the split that Vishwanathapura has created for
vnic. It has greatly simplified their code design from the earlier
patch series, so it seems like the right approach so far.

ipoib is not really any different from this vnic stuff. Both have
complex control planes that must be shared and need highly device
specific tx/rx flows.

I certainly don't want to see some other proposal to optimize ipoib ..

Jason