Bug 770031

Summary: the guest's mac will change after attach a vnet with the option persistent and then restart it.
Product: Red Hat Enterprise Linux 6 Reporter: Luwen Su <lsu>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, dallan, gsun, mzhan, rwu, ydu
Target Milestone: rc   
Target Release: 6.3   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.9.10-5.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 06:39:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Luwen Su 2011-12-23 05:58:01 UTC
Description of problem:
the guest's mac will change after attach a vnet with the option persistent and then restart it.

Version-Release number of selected component (if applicable):
libvirt-0.9.8-1.el6.x86_64
qemu-kvm-0.12.1.2-2.209.el6.x86_64
kernel-2.6.32-220.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Attach a vnet with the options --persistent

a healthy guest named rhel6.

# virsh attach-interface rhel6 network default vnet1 --persistent
# virsh dumpxml rhel6 | grep -3 vnet1
 <interface type='network'>
      <mac address='52:54:00:B5:58:B0'/>
      <source network='default'/>
      <target dev='vnet1'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>


2.Dettach the vnet.

#virsh detach-interface rhel6 network --mac 52:54:00:b5:58:b0 --persistent
error: Failed to detach interface
error: invalid argument: no nic of mac 52:54:00:B5:58:B0


3.Restart the guest and check the mac

# virsh destroy rhel6
Domain rhel6 destroyed
# virsh dumpxml rhel6
/*you will find this*/
 <interface type='network'>
      <mac address='52:54:00:f8:5e:7a'/>
      <source network='default'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

#virsh start rhel6
Domain rhel6 started

# virsh dumpxml rhel6 | grep -3 vnet1
    <interface type='network'>
      <mac address='52:54:00:f8:5e:7a'/>
      <source network='default'/>
      <target dev='vnet1'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>




Actual results:
the mac change from 52:54:00:B5:58:B0 to 52:54:00:f8:5e:7a

Expected results:
the mac should not change

Additional info:
If no the --persistent , it work well

Comment 2 Michal Privoznik 2012-03-01 18:57:28 UTC
Patch proposed upstream:

https://www.redhat.com/archives/libvir-list/2012-March/msg00051.html

Comment 3 Michal Privoznik 2012-03-07 17:49:34 UTC
Another try:

https://www.redhat.com/archives/libvir-list/2012-March/msg00300.html

Comment 7 Wayne Sun 2012-03-14 09:26:48 UTC
packages:
libvirt-0.9.10-5.el6.x86_64
qemu-kvm-0.12.1.2-2.247.el6.x86_64
kernel-2.6.32-244.el6.x86_64

follow the steps in description:
# virsh attach-interface libvirt_test_api network default vnet2 --persistent
Interface attached successfully

# virsh dumpxml libvirt_test_api|grep -3 vnet2
    <interface type='network'>
      <mac address='52:54:00:4a:c1:ee'/>
      <source network='default'/>
      <target dev='vnet2'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>

# virsh detach-interface libvirt_test_api network --mac 52:54:00:4a:c1:ee --persistent
Interface detached successfully

so this is fixed.

Comment 9 errata-xmlrpc 2012-06-20 06:39:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-0748.html