Bug 1281617

Summary: Bonding vlan device gets a different MAC address to the bond device and slave.
Product: Red Hat Enterprise Linux 7 Reporter: Jonathan Maxwell <jmaxwell>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: CLOSED DUPLICATE QA Contact: Desktop QE <desktop-qa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.1CC: bgalvani, jklimes, jmaxwell, lrintel, rkhan, thaller
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-09 08:22:07 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 Jonathan Maxwell 2015-11-12 23:39:42 UTC
Description of problem:

The customer is configuring LACP bonds. But this happens with active/backup as well. They noticed that the bonding vlan devices MAC address changes after adding an ip address or rebooting to some random MAC address. This causes the kernel to arp and apparently affected their switches which resulted in poor performance. Although we do not have the details of that. They worked around this by subsequently adding and MAC address as follows. 

nmcli connection modify "bond0.694" "802-3-ethernet.cloned-mac-address" `/sbin/ifconfig bond0 | grep ether | awk '{print $2}'`  
nmcli connection modify "bond0.692" "802-3-ethernet.cloned-mac-address" `/sbin/ifconfig bond0 | grep ether | awk '{print $2}'` 

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

RHEL7.1/bonding/vlan/NetworkManager

3.10.0-229.14.1.el7.x86_64

How reproducible:

I think I can reproduce it as follows. 

Steps to Reproduce:

1. On a RHEL7.1 system:

# nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
# nmcli connection add type bond-slave con-name eno4 ifname eno4 master bond0

2. Now add the vlan device:

# nmcli connection add type vlan con-name bond0.692 ifname bond0.692 dev bond0 id 692

# ip addr will show that the MAC address is the same as bond0/eno4 for bond0.692, all good so far.

3. Reboot or reload the bonding driver. 

nmcli net off ; modprobe -r bonding ; nmcli net on

and "ip addr" will show that a random MAC address has been assigned to bond0.692. This is where the problems start.

Actual results:

Vlan bond0.692 gets a random MAC address. This affects the switches when it arps.

Expected results:

Get the same MAC address for bond0.692 as the bond0/eno4 interface as per when it was initially configured.

At this stage I am not sure whether this is due to NetworkManager or the bonding driver. For the meanwhile adding as NetworkManager.

Comment 2 Beniamino Galvani 2015-11-13 08:07:23 UTC
Hi Jonathan,

this looks similar to bug 1264322, which is now solved in RHEL 7.2.

The problem is that the VLAN was inheriting the initial random MAC assigned to the bond when it had no slaves. Now NM updates the VLAN MAC to match the one on the bond.

Can you please test if the RHEL 7.2 package fixes the issue?

Comment 4 Beniamino Galvani 2015-12-09 08:22:07 UTC
Closing as this seems to be a duplicate of bug 1264322, please reopen if necessary.

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

Comment 5 Jonathan Maxwell 2015-12-21 21:38:28 UTC
Sorry been on PTO. The customer does not wish to pursue this. So I am fine with duping this.