DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: Michael Lilja <ml@napatech.com>,
	dev@dpdk.org, Finn Christensen <fc@napatech.com>,
	techboard@dpdk.org
Subject: Re: [dpdk-dev] Napatech pmd
Date: Tue, 9 Jan 2018 19:19:26 -0500	[thread overview]
Message-ID: <20180110001926.GA8523@hmswarspite.think-freely.org> (raw)
In-Reply-To: <13910919.17qZyt7zlq@xps>

On Tue, Jan 09, 2018 at 09:36:03PM +0100, Thomas Monjalon wrote:
> 09/01/2018 21:20, Neil Horman:
> > On Tue, Jan 09, 2018 at 07:57:50PM +0000, Michael Lilja wrote:
> > > > On Mon, Jan 08, 2018 at 04:15:47PM +0100, Thomas Monjalon wrote:
> > > > > Hi,
> > > > >
> > > > > 08/01/2018 14:08, Finn Christensen:
> > > > > > Hi Thomas,
> > > > > >
> > > > > > Thanks for bringing this discussion up again.
> > > > > >
> > > > > > The Napatech PMD is build on top of our proprietary driver. The
> > > > reason is basically that we utilize many years of driver development and
> > > > thus reuses the FPGA controlling code in the DPDK PMD. The Napatech
> > > > driver suite is still closed source.
> > > > > > The current NTNIC PMD dynamically links a Napatech proprietary
> > > > NTAPI library to control the FPGA on our NICs.
> > > > > >
> > > > > > We did think of the PMD as being our responsibility to keep updated
> > > > towards the Napatech NIC communication, and that we would be
> > > > engaged and asked to modify accordingly if changes in DPDK required
> > > > that (maintainer). Furthermore, the PMD compiles with no issues, when
> > > > NTNIC is enabled.
> > > > > > We have plans to write a stand-alone PMD, but this is not a small task
> > > > to do, therefore we haven't got to that yet.
> > > > >
> > > > > This standalone PMD would be open and BSD licensed?
> > > > >
> > > > > > If the DPDK community would accept the dynamic linking to a
> > > > proprietary library, from inside our PMD, then it would be great.
> > > > >
> > > > > Dynamic linking is OK.
> > > > > I think we can accept such PMD at the condition that we can build it,
> > > > > meaning we can easily download the build dependencies for free.
> > > > >
> > > > > > Let me know what you think. Or maybe you have ideas to what else
> > > > we could do to make it upstream.
> > > > >
> > > > > My thinking is to allow every hardware to have a good DPDK support.
> > > > > Every step in this direction is a progress.
> > > > >
> > > >
> > > > I have to ask the question:  Why not open source your FPGA code?  That
> > > > would make all of this a non issue.
> > > >
> > > > While I knows it to various degrees been done in the past, I really don't
> > > > like the idea of including drivers (even open source drivers), if they have
> > > > dependencies on closed source software.  It means that we as a
> > > > community assume some level of responsibility for that pmd, but have
> > > > no ability to make fixes to that pmd without accepting your license
> > > > terms.  I understand that you are saying you currently have responsibility
> > > > for it as the license owner, but if that chages in the future, the PMD has
> > > > no use to the community.  It would be preferable if access to controlling
> > > > the hardware was just free of a proprietary license.  Then you wouldn't
> > > > have to write a stand alone pmd.
> > > >
> > > > Neil
> > > I understand your concern, but it is quite normal that BSP (Board Support Package) is binary and has an API that is BSD licensed. The Napatech Suite is basically a BSP. The API that will be used in the PMD is a BSD licensed API and so will the PMD be. If you understand the API you will be able to control the hardware and thereby also be able to change the DPDK driver. The API is public available and so is the BSP binary package. A good analogy is how Android does open source develop for Quallcomm based HW boards, where the Quallcomm firmware is proprietary. Any user can download full Android stack and BSP packages free of charge to do Android development.
> > > 
> > > /Michael
> > > 
> > You can couch it any way you like, but regardless of how you want to view the
> > proprietary part of this system, the hardware is being used as a NIC in the
> > DPDK, and for that purpose you need a driver.  As you currently have it
> > architected, the driver (open source or not), is useless without the binary
> > portion underneath it, and so is useless to any user without agreeing to your
> > license terms.  Pert of the benefit of open source software is that users can
> > continue to modify/enchance/maintain the software powering your hardware after
> > you decide to stop supporting it.  And so I'm not comfortable with accepting
> > code that doesn't allow this community to do that.
> > 
> > Neil
> 
> How different is it of having a proprietary firmware?
> 
Significantly in the sense that firmware ships burned or pre-programmed into the
hardware in such a way that the user isn't required to accept a EULA to use it.
The I40e card for example has a closed firmware, but when you buy a card, the
firmware is pre-installed as part of the device, you dont need to accept
additional terms of use prior to the device being functional with the open
source driver.

> I think it is better for the Napatech users to have this PMD
> supported upstream.
But you can't support it upstream.  The Napatech folks can (and for that I'm
appreciative), but should they decide to stop supporting it, or otherwise make
their FPGA library unavailable, anyone outside of Napatech is left unable to do
anything with it.  It becomes inert.

> If it is too complicate to maintain and not supported by Napatech,
> we are free to drop it.
I agree, but again, its not "us" as in the community supporing it.  If it were
truly open source, Napatech could decide to discontinue support tomorrow, and we
could pick up where they left off.  As it currently stands We're just acting as
a repository for Napatechs code.

I understand this is likely to happen anyway, and if it does, so be it, I just
need to voice my concern here.

Neil

> 
> Adding the technical board Cc.
> 

  parent reply	other threads:[~2018-01-10  0:20 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-08 13:08 Finn Christensen
2018-01-08 15:15 ` Thomas Monjalon
2018-01-08 15:31   ` Stephen Hemminger
2018-01-09 10:43   ` Finn Christensen
2018-01-09 18:50   ` Neil Horman
2018-01-09 19:57     ` Michael Lilja
2018-01-09 20:20       ` Neil Horman
2018-01-09 20:36         ` Thomas Monjalon
2018-01-09 21:21           ` [dpdk-dev] [dpdk-techboard] " Stephen Hemminger
2018-01-10  0:24             ` Neil Horman
2018-01-10 10:21               ` Bruce Richardson
2018-01-10 12:28                 ` Neil Horman
2018-01-10  0:19           ` Neil Horman [this message]
2018-01-10  0:25             ` [dpdk-dev] " Thomas Monjalon
2020-03-31 11:25 ` Thomas Monjalon
2020-03-31 12:17   ` Neil Horman
2020-03-31 12:29     ` Thomas Monjalon
2020-03-31 12:39       ` Michael Lilja
2020-03-31 12:45         ` Thomas Monjalon
2020-03-31 13:08           ` Michael Lilja
2020-03-31 14:58         ` Stephen Hemminger
2020-03-31 19:51           ` Neil Horman
2020-03-31 19:59             ` Thomas Monjalon
2020-04-01 12:40               ` Neil Horman
2020-03-31 19:56       ` Neil Horman
2020-03-31 20:07         ` Thomas Monjalon
2020-04-01 12:49           ` Neil Horman
2020-04-17  2:54           ` Neil Horman
2020-04-17  4:38             ` Michael Lilja
2020-04-19 21:16               ` Neil Horman
2020-04-20  5:05                 ` Michael Lilja
2020-12-11  8:36                   ` Thomas Monjalon
2020-12-11  8:41                     ` Michael Lilja

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180110001926.GA8523@hmswarspite.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=dev@dpdk.org \
    --cc=fc@napatech.com \
    --cc=ml@napatech.com \
    --cc=techboard@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).