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

Roni Bar Yanai roniba at mellanox.com
Sun Jan 26 07:47:02 UTC 2020


Thanks Ben.

>-----Original Message-----
>From: Ben Pfaff <blp at ovn.org>
>Sent: Thursday, January 23, 2020 11:33 PM
>To: Roni Bar Yanai <roniba at mellanox.com>
>Cc: Ilya Maximets <i.maximets at ovn.org>; Ophir Munk
><ophirmu at mellanox.com>; 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>; Ameer
>Mahagneh <ameerm at mellanox.com>
>Subject: Re: [PATCH 1/1] vswitchd: Allow setting MAC on DPDK interfaces
>
>The main problem is that the database is stateful.  I would not have the same
>objection to an RPC to set an Ethernet address.  This could be implemented via the
>ovs-appctl interface, if local-only is acceptable, or via OpenFlow, if the controller
>needs to do it.
>
>On Wed, Jan 22, 2020 at 02:49:47PM +0000, Roni Bar Yanai wrote:
>> Hi Ilya, Ben
>>
>> What is the plan to manage MAC addresses of DPDK ports with representors?
>> The solution should be generic and support non bifurcated drivers.
>> Currently we cannot integrate DPDK with port representors in platforms
>> such as open stack.
>>
>> Thanks,
>> Roni
>> >-----Original Message-----
>> >From: Roni Bar Yanai
>> >Sent: Monday, January 13, 2020 1:24 PM
>> >To: Ilya Maximets <i.maximets at ovn.org>; Ophir Munk
>> ><ophirmu at mellanox.com>; Ben Pfaff <blp 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>; Ameer Mahagneh
>> ><ameerm at mellanox.com>
>> >Subject: RE: [PATCH 1/1] vswitchd: Allow setting MAC on DPDK
>> >interfaces
>> >
>> >
>> >
>> >>-----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%2F
>> >>> pat
>> >>> c
>> >>>
>>
>>>hwork.ozlabs.org%2Fpatch%2F1186896%2F&data=02%7C01%7Croniba%40
>> >m
>> >>ell
>> >>>
>>
>>>anox.com%7Ca56df03e685a4f6ca39708d79507b4bf%7Ca652971c7d2e4d9ba6a4d
>1
>> >4
>> >>9
>> >>>
>>
>>>256f461b%7C0%7C0%7C637141732649459544&sdata=okjLnR63gplGcbFABh
>Y
>> >y
>> >>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%2F
>> >>> pat
>> >>> c
>> >>>
>>
>>>hwork.ozlabs.org%2Fpatch%2F1215075%2F&data=02%7C01%7Croniba%40
>> >m
>> >>ell
>> >>>
>>
>>>anox.com%7Ca56df03e685a4f6ca39708d79507b4bf%7Ca652971c7d2e4d9ba6a4d
>1
>> >4
>> >>9
>> >>>
>>
>>>256f461b%7C0%7C0%7C637141732649459544&sdata=YovBQCaUkKBstJVj9l
>q
>> >J8
>> >>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