Subject: Re: sfc: Add driverlink API to support virtual NIC drivers

From: Ben Hutchings <[email-masked]>
Date: Mon, 17 Nov 2008 20:48:27 +0000

On Sun, 2008-11-16 at 00:45 -0800, David Miller wrote:
> I'm not applying this patch, it is just a gateway for proprietary
> extensions to the driver.

We have no interest in creating proprietary extensions.  All existing
driverlink clients are either licenced under GPLv2 or are unreleased
debugging tools.  I hadn't thought of it before, but we could change the
EXPORT_SYMBOLs to EXPORT_SYMBOL_GPL.

> The fact that it allows any module to hook into the driver and
> decide how to handle every TX or RX frame basically makes this
> change a non-starter.

This is unpleasant but seems to be necessary.  The reason for this hook
was explained by my colleague Robert Stonehouse in a covering mail 
<http://article.gmane.org/gmane.linux.network/96546> for an earlier
version of this patch:

"They are needed partly because the filtering of received packets onto
V-NICs is imperfect, and in Xen to spot certain control plane updates
efficiently."

Existing driverlink clients only inspect packets rather than modifying
them, and it might be possible for them to do without the "veto" option.
Maybe we could even use netfilter, though I suspect that would be
fragile.

> Many many years ago, various vendor drivers tried to do something
> similar, so that their proprietary bonding modules could work,
> and instead we improved the Linux bonding driver to have feature
> parity with whatever those guys were offering.

Well, Robert has explained the requirements we're trying to satisfy.
Can you suggest how we might implement these in a way that you would be
happy with?

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.