[CentOS] Strange XEN on CentOS HWaddr Address Issue

Tue Aug 4 18:06:52 UTC 2009
Alan Sparks <asparks at doublesparks.net>

Brett Serkez wrote:
>> Maybe because you are looking at the bridge's mac and not the
>> ethernet's which would be peth0.
>>     
>
> No I am not.  dmesg shows the kernel messages at boot and it is
> looking at the physical device, let's not get distracted, the issue is
> clear in this regard.  As I previously stated, this happens even when
> uninstalling XEN and booting off the non-XEN kernel since the install
> of XEN.
>
>   
>> indeed, AFAIK all hardware adapters start with 00. This must have been set
>> in the BIOS or with a boot option or in the network config.
>>     
>
> This was helpful, gave me places/incentive to continue looking.
>
> In /etc/sysconfig/network-scripts/ifcfg-eth1 I found:
>
> # Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet
> DEVICE=eth1
> BOOTPROTO=none
> HWADDR=00:40:F4:CE:E6:7B
>
> So now I know what the original MAC address was.
>
> Here is where it gets interesting.  The following file was modified at
> the date/time that the XEN kernel was first booted:
>
> /etc/sysconfig/hwconf
>
> and it has fe:ff:ff:ff:ff:ff  for BOTH network adapters:
>
> desc: "Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet"
> networfe:ffddr: fe:ff:ff:ff:ff:ff
> vendorId: 10ec
> deviceId: 8169
> subVendorId: 10ec
> subDeviceId: 8169
> pciType: 10
>
> desc: "Intel Corporation 82562EZ 10/100 Ethernet Controller"
> network.hwaddr: fe:ff:ff:ff:ff:ff
> vendorId: 8086
> deviceId: 1050
> subVendorId: 8086
> subDeviceId: 303a
>
> Everything I'm finding is re-enforcing my original theory that XEN
> modified the hwaddr of this NIC.
>
> The question continues to be what caused this and how to change it
> back.  Given this is a stock system, I have to believe others must
> have/may run into this issue.
>
> Brett
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>   
There is a bug filed against the RHEL5 upstream on the Realtek (r8169)
driver.  I've experienced it as well.  The problem is unresolved in
current kernels.  See https://bugzilla.redhat.com/show_bug.cgi?id=503988

Since you know what the original MAC address was, you can try:
ifconfig eth0 down
ifconfig eth0 hw ether 00:40:F4:CE:E6:7B
ifconfig eth0 up

Note that:
* You can't change the MAC address with the interface plumbed, hence the
down/up sequence.
* You'll lose all routes associated with the interface when it goes
down, so you'll have to re-add the routes or restart the networking
service to get them back
* It'll happen again.

You can either try the alternate networking configs for Xen, or add some
of this stuff to your boot sequence right after the xend service starts
to work around it.  I assume you've found, as I did, that after Xen
started and the MAC reset, you lost connectivity, maybe even saw odd
messages about 'packet arrived with my source address.'

Hope this helped, good luck.