[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