Thread (42 messages) 42 messages, 13 authors, 2010-07-14

RE: [Pv-drivers] RFC: Network Plugin Architecture (NPA) for vmxnet3

From: Pankaj Thakkar <hidden>
Date: 2010-05-05 17:47:16
Also in: lkml

-----Original Message-----
From: Christoph Hellwig [mailto:hch@infradead.org]
Sent: Wednesday, May 05, 2010 10:40 AM
To: Dmitry Torokhov
Cc: Christoph Hellwig; pv-drivers@vmware.com; Pankaj Thakkar;
netdev@vger.kernel.org; linux-kernel@vger.kernel.org;
virtualization@lists.linux-foundation.org
Subject: Re: [Pv-drivers] RFC: Network Plugin Architecture (NPA) for
vmxnet3

On Wed, May 05, 2010 at 10:35:28AM -0700, Dmitry Torokhov wrote:
quoted
Yes, with the exception that the only body of code that will be
accepted by the shell should be GPL-licensed and thus open and
available
quoted
for examining. This is not different from having a standard kernel
module that is loaded normally and plugs into a certain subsystem.
The difference is that the binary resides not on guest filesystem
but elsewhere.
Forget about the licensing.  Loading binary blobs written to a shim
layer is a complete pain in the ass and totally unsupportable, and
also uninteresting because of the overhead.
[PT] Why do you think it is unsupportable? How different is it from any module written against a well maintained interface? What overhead are you talking about?
If you have any interesting in developing this further, do:

 (1) move the limited VF drivers directly into the kernel tree,
     talk to them through a normal ops vector
[PT] This assumes that all the VF drivers would always be available. Also we have to support windows and our current design supports it nicely in an OS agnostic manner.
 (2) get rid of the whole shim crap and instead integrate the limited
     VF driver with the full VF driver we already have, instead of
     duplicating the code
[PT] Having a full VF driver adds a lot of dependency on the guest VM and this is what NPA tries to avoid.
 (3) don't make the PV to VF integration VMware-specific but also
     provide an open reference implementation like virtio.  We're not
     going to add massive amount of infrastructure that is not actually
     useable in a free software stack.
[PT] Today this is tied to vmxnet3 device and is intended to work on ESX hypervisor only (vmxnet3 works on VMware hypervisor only). All the loading support is inside the ESX hypervisor. I am going to post the interface between the shell and the plugin soon and you can see that there is not a whole lot of dependency or infrastructure requirements from the Linux kernel. Please keep in mind that we don't use Linux as a hypervisor but as a guest VM.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help