[libvirt] [PATCH] Add support for 'passthru' mode for direct network interfaces

D. Herrendoerfer d.herrendoerfer at herrendoerfer.name
Mon May 30 11:32:37 UTC 2011


Thank you for picking this up !

I've got a question: I want to change the link device's MAC address
prior to starting the VM, and I want to re-set the MAC to it's original
value afterwards.
Setting the MAC in the IF is no issue, but is it ok if I add a MAC  
variable to
the direct structure in virDomainNetDef to keep the linkdev's original  
MAC ?

The issue with these MACs is that some adapters with VFs come up with
randomized MAC addresses, so resetting them to a pre-set value is not
possible. Also it would make migration leave a trail of identical MACs
throughout a datacenter.

Regards,

Dirk

On May 18, 2011, at 4:22 PM, Eric Blake wrote:

> On 05/18/2011 05:32 AM, D. Herrendoerfer wrote:
>>>>> destination
>>>>>     device is in <code>private</code> mode.</dd>
>>>>> +      <dt><code>passthru</code></dt>
>>>>> +      <dd>This feature allows to attach a virtual function of a  
>>>>> SRIOV
>>>>> capable
>>>>
>>> That patch looks fine to me, ACK,
>>> The only unresolved uncertainty to me is what happen if you try to  
>>> use
>>> it on a kernel without the support ?
>>>
>>
>> This looks fine, except in formatdomain.html.in the feature is  
>> still called
>> passthru.
>>
>> Used on a system without passthru support this raises an error  
>> indicating a
>> failed macvtap setup.
>
> I fixed that one last place, and found one more issue:
>
>>
>> --- a/src/util/macvtap.h
>> +++ b/src/util/macvtap.h
>> @@ -92,6 +92,7 @@ void delMacvtap(const char *ifname,
>> #  define MACVTAP_MODE_PRIVATE_STR  "private"
>> #  define MACVTAP_MODE_VEPA_STR     "vepa"
>> #  define MACVTAP_MODE_BRIDGE_STR   "bridge"
>> +#  define MACVTAP_MODE_PASSTHRU_STR "passthru"
>
> No one was using these defines (they were leftovers from before we
> switched to virEnum), so I deleted them.
>
> Now pushed.  Thanks for the submission!
>
> -- 
> Eric Blake   eblake at redhat.com    +1-801-349-2682
> Libvirt virtualization library http://libvirt.org
>




More information about the libvir-list mailing list