Bug 1100897

Summary: ifup-ovs script does not properly support persistent MAC addresses on OVS bridge devices
Product: [Fedora] Fedora Reporter: Lars Kellogg-Stedman <lars>
Component: openvswitchAssignee: Flavio Leitner <fleitner>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: chrisw, fleitner, rkhan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openvswitch-2.3.0-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-16 20:43:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lars Kellogg-Stedman 2014-05-23 18:15:52 UTC
Description of problem:

Setting MACADDR= in the network configuration file for an OVS bridge does not work as expected.  While the MAC address will be set initially, any OVS operation that changes *any* aspect of the OVS configuration will revert the MAC address to the one originally allocated to the bridge.

Version-Release number of selected component (if applicable):

    openvswitch-2.0.1-1.fc20.x86_64

How reproducible:

Create a configuration file /etc/sysconfig/network-scripts/ifcfg-br-test0 with the following contents:

    DEVICE=br-test0
    DEVICETYPE=ovs
    TYPE=OVSBridge
    ONBOOT=yes
    IPADDR=192.168.17.7
    NETMASK=255.255.255.0
    OVSDHCPINTERFACES=eth0
    MACADDR=c0:ff:ee:ee:ff:0c

Bring up the interface:

    # ifup br-test0

Examine the MAC address:

    10: br-test0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default 
        link/ether c0:ff:ee:ee:ff:0c brd ff:ff:ff:ff:ff:ff

Make an unrelated OVS change:

    # ovs-vsctl add-br br-not-important

Examine the MAC address on br-test0 and see that it has changed:

    10: br-test0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default 
        link/ether d2:2c:53:bb:16:46 brd ff:ff:ff:ff:ff:ff

Expected results:

I expect the MAC address set in the interface configuration file to
stick.

Additional info:

You can work around this problem right now by adding the following to
the interface configuration file:

    OVS_EXTRA="set bridge br-test0 other-config:hwaddr=$MACADDR"

However, I think that this should be handled automatically by ifup-ovs to avoid
the surprising behavior demonstrated here.

Comment 1 Lars Kellogg-Stedman 2014-05-24 00:06:01 UTC
I submitted a patch for this upstream:

http://openvswitch.org/pipermail/discuss/2014-May/014062.html

Comment 2 Flavio Leitner 2014-09-16 20:43:29 UTC

*** This bug has been marked as a duplicate of bug 1134037 ***