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

Ben Pfaff blp at ovn.org
Thu Jan 23 21:33:02 UTC 2020


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%2Fpat
> >>> c
> >>>
> >>hwork.ozlabs.org%2Fpatch%2F1186896%2F&data=02%7C01%7Croniba%40
> >m
> >>ell
> >>>
> >>anox.com%7Ca56df03e685a4f6ca39708d79507b4bf%7Ca652971c7d2e4d9ba6a4d1
> >4
> >>9
> >>>
> >>256f461b%7C0%7C0%7C637141732649459544&sdata=okjLnR63gplGcbFABhY
> >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%2Fpat
> >>> c
> >>>
> >>hwork.ozlabs.org%2Fpatch%2F1215075%2F&data=02%7C01%7Croniba%40
> >m
> >>ell
> >>>
> >>anox.com%7Ca56df03e685a4f6ca39708d79507b4bf%7Ca652971c7d2e4d9ba6a4d1
> >4
> >>9
> >>>
> >>256f461b%7C0%7C0%7C637141732649459544&sdata=YovBQCaUkKBstJVj9lq
> >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