[libvirt] [PATCH] Add support for 'passthru' mode for direct network interfaces
Laine Stump
laine at laine.org
Wed May 11 14:46:55 UTC 2011
On 05/11/2011 08:21 AM, Daniel P. Berrange wrote:
> 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 at 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
I had read that commit notice earlier, and didn't understand the first
item - which MAC address needs to be changed? Doesn't the guest have its
own MAC address, unrelated to the MAC address of the underlying device
on the host?
>
> 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
More information about the libvir-list
mailing list