[ovs-discuss] Fwd: Specifying MAC addresses on internal interfaces

Josh Hershberg jhershbe at redhat.com
Wed Jun 15 08:34:51 UTC 2016


---------- Forwarded message ----------
From: Thadeu Cascardo <cascardo at redhat.com>
Date: Tue, Jun 14, 2016 at 1:54 PM
Subject: Re: Specifying MAC addresses on internal interfaces
To: Flavio Leitner <fbl at redhat.com>
Cc: Josh Hershberg <jhershbe at redhat.com>, Aaron Conole <aconole at redhat.com>,
ovs-devel at redhat.com


On Mon, Jun 13, 2016 at 09:01:31PM -0300, Flavio Leitner wrote:
>
>
> I believe it has something to do with the bridge port (which is
> also an internal port) that has a special algorithm to select
> its MAC, but not sure.
>
> Thadeu or Aaron, could you guys help Josh?
>
> Thanks,
> fbl
>
>
> On Mon, Jun 13, 2016 at 07:19:06AM +0200, Josh Hershberg wrote:
> > Hi Flavio,
> >
> >
> > Working on some testing infrastructure over here with an OVS running in
a
> > docker container. After an attempt to set the mac address of an
"internal"
> > interface like this [1] and noticing that it wasn't working I took a
look
> > in the OVS sources. What I found was that if you specify an interface as
> > "internal", if the datapath is user space OVS will force the type to be
> > "tap" [2] and then won't set the mac. We really need to use the
userspace
> > datapath since this whole thing is being wrapped up as a docker image.
So,
> > (a) I'm, interested in understanding more about this limiation. What is
the
> > reason OVS will not set the mac of an internal interface in the
userspace
> > data path? (b) Long shot, I know since the code seems pretty
> > straightforward on this, is there any other way to force the MAC
address of
> > an internal mac upon creation?
> >

This looks like a bug. The ofproto_port_open_type should be used for netdev
types only, but this test for internal ports should still consider this
port as
internal. The fact that the behavior is different between the datapath types
should be sufficient to indicate this needs to be fixed.

Can you open a bug?

Thanks.
Cascardo.

> > Thanks,
> >
> > Josh
> >
> > [1]
> >  5164     "table":"Interface",
> >  5165     "op":"insert",
> >  5166     "row":{
> >  5167       "name":"vm1",
> >  5168       "mac":[
> >  5169         "set",
> >  5170         [
> >  5171           "f4:00:00:0f:00:02"
> >  5172         ]
> >  5173       ],
> > ...
> >  5193       "type":"internal"
> >
> > [2]
https://github.com/openvswitch/ovs/blob/master/ofproto/ofproto.c#L1911
> >
> > [3]
https://github.com/openvswitch/ovs/blob/master/vswitchd/bridge.c#L4367
>
> --
> fbl
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160615/7af28907/attachment-0002.html>


More information about the discuss mailing list