On Tue, May 10, 2011 at 04:21:29PM -0600, Eric Blake wrote:
On 05/10/2011 05:59 AM, D. Herrendoerfer wrote:
> Hi all,
>
> starting with kernel 2.6.38 macvtap supports a 'passthru' mode for
> attaching virtual functions
> of a SRIOV capable network card directly to a VM.
> This patch adds the capability to configure such a device.
>
> Signed-off-by: Dirk Herrendoerfer <d.herrendoerfer at herrendoerfer.name>
>
> diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
> index 7163c6e..e2a66ae 100644
> --- a/docs/schemas/domain.rng
> +++ b/docs/schemas/domain.rng
> @@ -2351,7 +2351,7 @@
> </define>
> <define name="bridgeMode">
> <data type="string">
> - <param name="pattern">(vepa|bridge|private)</param>
> + <param
name="pattern">(vepa|bridge|private|passthru)</param>
> </data>
> </define>
> <define name="addrMAC">
Missing corresponding documentation in docs/formatdomain.html.in to
describe the new mode.
What happens if you try to use this mode but you have an older kernel?
Do we need to add any sanity checking to give a saner error message than
just blindly trying the string and reporting back whatever message gets
returned about an unknown argument?
The rest of this patch looks okay to me (with my disclaimer that I've
never used an SRIOV card), but I'd rather wait for a v2 than push this
without documentation.
The kernel GIT commit actually has some useful info
commit eb06acdc85585f28864261f28659157848762ee4
Author: Sridhar Samudrala <sri(a)us.ibm.com>
Date: Thu Oct 28 13:10:50 2010 +0000
macvlan: Introduce 'passthru' mode to takeover the underlying device
With the current default 'vepa' mode, a KVM guest using virtio with
macvtap backend has the following limitations.
- cannot change/add a mac address on the guest virtio-net
- cannot create a vlan device on the guest virtio-net
- cannot enable promiscuous mode on guest virtio-net
To address these limitations, this patch introduces a new mode called
'passthru' when creating a macvlan device which allows takeover of the
underlying device and passing it to a guest using virtio with macvtap
backend.
Only one macvlan device is allowed in passthru mode and it inherits
the mac address from the underlying device and sets it in promiscuous
mode to receive and forward all the packets.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|