From: Avi Kivity <avi@redhat.com>
To: Pankaj Thakkar <pthakkar@vmware.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"pv-drivers@vmware.com" <pv-drivers@vmware.com>,
Shreyas Bhatewara <sbhatewara@vmware.com>
Subject: Re: RFC: Network Plugin Architecture (NPA) for vmxnet3
Date: Thu, 06 May 2010 11:58:54 +0300 [thread overview]
Message-ID: <4BE284CE.7010808@redhat.com> (raw)
In-Reply-To: <20100505194417.GV8323@vmware.com>
On 05/05/2010 10:44 PM, Pankaj Thakkar wrote:
> On Wed, May 05, 2010 at 10:59:51AM -0700, Avi Kivity wrote:
>
>> Date: Wed, 5 May 2010 10:59:51 -0700
>> From: Avi Kivity<avi@redhat.com>
>> To: Pankaj Thakkar<pthakkar@vmware.com>
>> CC: "linux-kernel@vger.kernel.org"<linux-kernel@vger.kernel.org>,
>> "netdev@vger.kernel.org"<netdev@vger.kernel.org>,
>> "virtualization@lists.linux-foundation.org"
>> <virtualization@lists.linux-foundation.org>,
>> "pv-drivers@vmware.com"<pv-drivers@vmware.com>,
>> Shreyas Bhatewara<sbhatewara@vmware.com>
>> Subject: Re: RFC: Network Plugin Architecture (NPA) for vmxnet3
>>
>> On 05/05/2010 02:02 AM, Pankaj Thakkar wrote:
>>
>>> 2. Hypervisor control: All control operations from the guest such as programming
>>> MAC address go through the hypervisor layer and hence can be subjected to
>>> hypervisor policies. The PF driver can be further used to put policy decisions
>>> like which VLAN the guest should be on.
>>>
>>>
>> Is this enforced? Since you pass the hardware through, you can't rely
>> on the guest actually doing this, yes?
>>
> We don't pass the whole VF to the guest. Only the BAR which is responsible for
> TX/RX/intr is mapped into guest space.
Does the SR/IOV spec guarantee that you will have such a separation?
>
>>
>>> We have reworked our existing Linux vmxnet3 driver to accomodate NPA by
>>> splitting the driver into two parts: Shell and Plugin. The new split driver is
>>>
>>>
>> So the Shell would be the reworked or new bond driver, and Plugins would
>> be ordinary Linux network drivers.
>>
> In NPA we do not rely on the guest OS to provide any of these services like
> bonding or PCI hotplug.
Well the Shell does some sort of bonding (there are two links and the
shell selects which one to exercise) and some sort of hotplug. Since
the Shell is part of the guest OS, you do rely on it.
It's certainly simpler than PCI hotplug or ordinary bonding.
> We don't rely on the guest OS to unmap a VF and switch
> a VM out of passthrough. In a bonding approach that becomes an issue you can't
> just yank a device from underneath, you have to wait for the OS to process the
> request and switch from using VF to the emulated device and this makes the
> hypervisor dependent on the guest OS.
How can you unmap the VF without guest cooperation? If you're executing
Plugin code, you can't yank anything out.
Are plugins executed with preemption/interrupts disabled?
> Also we don't rely on the presence of all
> the drivers inside the guest OS (be it Linux or Windows), the ESX hypervisor
> carries all the plugins and the PF drivers and injects the right one as needed.
> These plugins are guest agnostic and the IHVs do not have to write plugins for
> different OS.
>
What ISAs do those plugins support?
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-05-06 8:58 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-04 23:02 RFC: Network Plugin Architecture (NPA) for vmxnet3 Pankaj Thakkar
2010-05-05 0:05 ` Stephen Hemminger
2010-05-05 0:18 ` Pankaj Thakkar
2010-05-05 0:32 ` David Miller
2010-05-05 0:38 ` Pankaj Thakkar
2010-05-05 2:44 ` Stephen Hemminger
2010-05-05 0:58 ` Chris Wright
2010-05-05 19:00 ` Pankaj Thakkar
2010-05-05 17:23 ` Christoph Hellwig
2010-05-05 17:29 ` [Pv-drivers] " Dmitry Torokhov
2010-05-05 17:31 ` Christoph Hellwig
2010-05-05 17:35 ` Dmitry Torokhov
2010-05-05 17:39 ` Christoph Hellwig
2010-05-05 17:47 ` Pankaj Thakkar
2010-05-05 20:09 ` Arnd Bergmann
2010-05-05 20:36 ` Dmitry Torokhov
2010-05-05 21:53 ` Arnd Bergmann
2010-05-05 22:05 ` Shreyas Bhatewara
2010-05-06 2:03 ` Scott Feldman
2010-05-06 7:25 ` Shreyas Bhatewara
2010-05-06 7:25 ` Shreyas Bhatewara
2010-05-06 8:19 ` Gleb Natapov
2010-05-06 18:04 ` Pankaj Thakkar
2010-05-06 20:19 ` Christoph Hellwig
2010-05-06 20:17 ` Christoph Hellwig
2010-05-05 17:52 ` Stephen Hemminger
2010-05-06 20:21 ` Christoph Hellwig
2010-07-13 3:06 ` Shreyas Bhatewara
2010-07-13 5:16 ` Stephen Hemminger
2010-07-14 0:31 ` Stephen Hemminger
2010-07-14 9:49 ` Greg KH
2010-07-14 17:18 ` Pankaj Thakkar
2010-07-14 17:54 ` David Miller
2010-07-14 18:03 ` Jeremy Fitzhardinge
2010-07-14 20:20 ` Greg KH
2010-07-14 17:19 ` Shreyas Bhatewara
2010-07-14 20:42 ` Shreyas Bhatewara
2010-07-14 21:06 ` Greg KH
2010-05-05 17:59 ` Avi Kivity
2010-05-05 19:44 ` Pankaj Thakkar
2010-05-06 8:58 ` Avi Kivity [this message]
2010-05-10 20:46 ` Pankaj Thakkar
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=4BE284CE.7010808@redhat.com \
--to=avi@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pthakkar@vmware.com \
--cc=pv-drivers@vmware.com \
--cc=sbhatewara@vmware.com \
--cc=virtualization@lists.linux-foundation.org \
/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).