Subject: Re: [RFC v2 00/10] HFI Virtual Network Interface Controller (VNIC)

From: Leon Romanovsky <[email-masked]>
Date: Tue, 10 Jan 2017 10:14:02 +0200

On Mon, Jan 09, 2017 at 07:39:54PM -0800, Vishwanathapura, Niranjana wrote:
> On Mon, Jan 09, 2017 at 09:51:04AM +0200, Leon Romanovsky wrote:
> > On Thu, Dec 15, 2016 at 11:28:06AM -0500, Doug Ledford wrote:
> > > On 12/15/2016 9:52 AM, ira.weiny wrote:
> > >
> > > 2) With more than 60% of the code being MAD related, and another
> > > significant chunk being hfi related, and only a minor bit (20% maybe?)
> > > being net related,
> >
> > Hi Doug and Ira,
> >
> > I may admit that I didn't read the code very deep, but from brief
> > overview, I didn't find support for the claim the "60% code is MAD related".
> > It looks like the opposite thing will be more accurate.
> >
> > Can you help me to understand this claim? How did you come to this
> > conclusion?
> >
> > Thanks
>
> Hi Leon,
>
> Here is the breakdown of patches based on functionality.

Hi Niranjana,
Thank you for breakdown, it helped a lot.

> In this series, patches #3..#8 compose hfi_vnic driver. In that, patches #4,
> #7 and #8 are MAD focused (interfacing with MAD agent and handling MAD
> packets).

Patch #3 is net device with all goodies from net stack.
https://patchwork.kernel.org/patch/9475639/
Patch #4 has one IB MAD related struct, all other things are specific to
OFA and HFI declarations.
https://patchwork.kernel.org/patch/9475653/
Patch #7 continues to implement agnostic to IB MAD net device.
https://patchwork.kernel.org/patch/9475641/
Patch #8 is without doubts, MAD related.
https://patchwork.kernel.org/patch/9475651/

Let's put aside patch #8, in such case, the proposed code won't need IB/core at
all and will look exactly like many other net drivers which encapsulate/decapsulate
packets.

> Patch #6 and half of #3 (_encap.c/h) are OPA encapsulation related. Patch #5
> is netdev statistic related (which includes statistics MAD definitions).
> So, only part of patch #3 (_netdev.c and _ethtool.c) deals with interfacing
> with netstack.
> Those percentage numbers are based on actual lines of code in these patches
> (files).
>
> We are also looking into Jason’s suggestion to make hfi_vnic interface to
> the bottom driver a generic interface. This will include moving some of the
> netstack interfacing to the bottom hfi1 driver.

Great, do you have rough estimation when will it be posted on the ML?

Thanks

> Niranjana