[ovs-dev] [PATCH 1/1] vswitchd: Allow setting MAC on DPDK interfaces

Roni Bar Yanai roniba at mellanox.com
Mon Jan 13 11:23:59 UTC 2020



>-----Original Message-----
>From: Ilya Maximets <i.maximets at ovn.org>
>Sent: Thursday, January 9, 2020 3:28 PM
>To: Ophir Munk <ophirmu at mellanox.com>; Ben Pfaff <blp at ovn.org>; Ilya
>Maximets <i.maximets at ovn.org>
>Cc: Eveline Raine <eveliner at mellanox.com>; dev at openvswitch.org; Moshe Levi
><moshele at mellanox.com>; Adrian Chiris <adrianc at mellanox.com>; Majd Dibbiny
><majd at mellanox.com>; Roni Bar Yanai <roniba at mellanox.com>; Ameer
>Mahagneh <ameerm at mellanox.com>
>Subject: Re: [PATCH 1/1] vswitchd: Allow setting MAC on DPDK interfaces
>
>On 08.01.2020 11:48, Ophir Munk wrote:
>> Hi,
>> There is an important use case for having OVS change MAC addresses of dpdk
>interfaces.
>> OpenStack for example needs to update the MAC address of a VF assigned to a
>VM, where the corresponding VF representor is owned by dpdk.
>> For some NIC vendors using "ifconfig" or "ip" commands - is not an option (if the
>NIC is not bifurcated).
>> Therefore OpenStack should use the OVS API to set the MAC address for dpdk
>interfaces.
>> Along with Ben's explanation it seems right to only allow "internal" or "dpdk"
>port types to set the MAC.
>
>There are still same issues for DPDK ports.  Just because OVS doesn't necessarily
>"owns" them.  In case of Mellanox NICs, ports are still could be configured by 'ip'
>tool due to bifurcated drivers.  And this produces the same confusion.
>
This makes it hard to integrate OVS-DPDK in cloud with port representor. There  
Is no way to configure MAC address for untrusted VM. If the driver is bifurcated 
there is some WA,  but this is not a generic solution and will not be used.
Any thoughts on how we can configure MAC for untrusted VM on such topologies?
>>
>> Testing both patches [1] and [2] - passed successfully.
>> Acked-by: Ophir Munk <ophirmu at mellanox.com>
>>
>> I hope patches [1] and [2] can be merged to master.
>>
>> [1]
>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
>>
>hwork.ozlabs.org%2Fpatch%2F1186896%2F&data=02%7C01%7Croniba%40m
>ell
>>
>anox.com%7Ca56df03e685a4f6ca39708d79507b4bf%7Ca652971c7d2e4d9ba6a4d14
>9
>>
>256f461b%7C0%7C0%7C637141732649459544&sdata=okjLnR63gplGcbFABhYy
>Kw
>> m0TXgT6VyGvlLtpnmRB%2Fk%3D&reserved=0
>> ("[ovs-dev,v2] netdev-dpdk: Add ability to set MAC address.")
>>
>> [2]
>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
>>
>hwork.ozlabs.org%2Fpatch%2F1215075%2F&data=02%7C01%7Croniba%40m
>ell
>>
>anox.com%7Ca56df03e685a4f6ca39708d79507b4bf%7Ca652971c7d2e4d9ba6a4d14
>9
>>
>256f461b%7C0%7C0%7C637141732649459544&sdata=YovBQCaUkKBstJVj9lqJ8
>t
>> 5aWo8ZHBvZzPZpFCzbUFM%3D&reserved=0
>> ("[ovs-dev,1/1] vswitchd: Allow setting MAC on DPDK interfaces")
>>
>>> -----Original Message-----
>>> From: Ben Pfaff <blp at ovn.org>
>>> Sent: Tuesday, January 7, 2020 2:26 AM
>>> To: Ilya Maximets <i.maximets at ovn.org>
>>> Cc: Eveline Raine <eveliner at mellanox.com>; dev at openvswitch.org; Moshe
>>> Levi <moshele at mellanox.com>; Adrian Chiris <adrianc at mellanox.com>;
>>> Ophir Munk <ophirmu at mellanox.com>; Majd Dibbiny
><majd at mellanox.com>;
>>> Roni Bar Yanai <roniba at mellanox.com>; Ameer Mahagneh
>>> <ameerm at mellanox.com>
>>> Subject: Re: [PATCH 1/1] vswitchd: Allow setting MAC on DPDK
>>> interfaces
>>>
>>> On Fri, Jan 03, 2020 at 03:56:59PM +0100, Ilya Maximets wrote:
>>>> Ben, do you see any other drawbacks that we should handle if we'll
>>>> allow changing MAC addresses for non-internal ports?  Or, maybe some
>>>> issues with my logic?
>>>
>>> It can cause surprises for interactions with regular system tools.
>>> Anyone who uses "ip" or "ifconfig" to change the MAC will find it
>>> changed back later (perhaps not immediately).  And if you un-set it
>>> in the database, OVS doesn't know what to change it back to.
>>>
>>> These drawbacks aren't there in the same way for devices that OVS "owns"
>>> like internal devices or dpdk devices.  Well, I guess they are for
>>> OVS internal devices to some extent, but for those OVS has some
>>> responsibility to pick a reasonable MAC address to begin with.  If
>>> OVS doesn't, then it causes confusion of its own through things like
>>> having a machine's MAC address change if you create a bridge and move
>>> a physical NIC onto it.  We had lots of experience with that early on with OVS.


More information about the dev mailing list