Sponsored Content
Operating Systems Linux Red Hat Centos 4 32 bit - New kernel ethX MAC address order issue Post 302605199 by anil510 on Tuesday 6th of March 2012 10:53:53 PM
Old 03-06-2012
Centos 4 32 bit - New kernel ethX MAC address order issue

I have compiled a new kernel (3.2.9) for centos 4/5/6 servers. There is an issue with the centos 4, 32 bit servers. The kernel changes the order in which the MAC address is determined and because of this the server network does not come up as the wrong MAC address are assigned. Even if we specify it correctly in /etc/sysconfig/network-scripts/ifcfg-eth* , kernel does not read it in the case of centos 4 during boot time. We passed using the ndev= parameter, that contain MAC address in the grub.conf file, this is also not doing good. Below is the way the old kernel identifies the MAC and new kernel identifies the MAC. My question is, Is there a way to change the order in which the kernel identifies the Card, so that it follows always the same sequence as in the Old kernel itself. Ie 00:xx:xx:xx:xx:2e will be always identified as eth0 and others also. You can see in the first case the lspci device “0000:03:08.0” is identified as eth0 and in the second case, “0000:03:08.0” is identified as eth2. I need 0000:03:08.0 always be identified as eth0 itself.

I have used the following in the file /etc/udev/rules.d/50-udev.rules Upon rebooting kernel seems to ignore it.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:xx:xx:xx:xx:2e", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:xx:xx:xx:xx:20", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:xx:xx:xx:xx:21", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

PS: The same kernel works fine in centos 5/6 servers. Issue seen only in centos 4 servers.


First case: How old kernel identifies MAC in /var/log/messages during boot up.

---------------------------------------
Mar 6 07:34:03 server kernel: [ 7.800794] e100 0000:03:08.0: eth0: addr 0xfeafb000, irq 18, MAC addr 00:xx:xx:xx:xx:2e

Mar 6 07:34:03 server kernel: [ 7.817023] tg3 0000:02:09.0: eth1: Tigon3 [partno(BCM95704A7) rev 2003] (PCIX:100MHz:64-bit) MAC address 00:xx:xx:xx:xx:20

Mar 6 07:34:03 server kernel: [ 7.825107] tg3 0000:02:09.1: eth2: Tigon3 [partno(BCM95704A7) rev 2003] (PCIX:100MHz:64-bit) MAC address 00:xx:xx:xx:xx:21
---------------------------------------

Second case: How new kernel identifies MAC in /var/log/messages during boot up.

---------------------------------------
Mar 6 07:23:42 server kernel: tg3 0000:02:09.0: eth0: Tigon3 [partno(BCM95704A7) rev 2003] (PCIX:100MHz:64-bit) MAC address 00:xx:xx:xx:xx:20

Mar 6 07:23:42 server kernel: tg3 0000:02:09.1: eth1: Tigon3 [partno(BCM95704A7) rev 2003] (PCIX:100MHz:64-bit) MAC address 00:xx:xx:xx:xx:21

Mar 6 07:23:42 server kernel: e100 0000:03:08.0: eth2: addr 0xfeafb000, irq 18, MAC addr 00:xx:xx:xx:xx:2e
 

6 More Discussions You Might Find Interesting

1. IP Networking

How to Achive IP address through MAC(Ethernet) address

Hi sir, i want to make such programe which takes MAC(Ethernet) address of any host & give me its IP address....... but i'm nt getting that how i can pass the MAC address to Frame........ Please give me an idea for making such program... Thanks & regards Krishna (3 Replies)
Discussion started by: krishnacins
3 Replies

2. HP-UX

Change 32 bit to 64 bit Kernel

Hi, I'm using HPUX 11.11 on Vizualize B180L our productive machines have 64 bit kernel # file vmunix vmunix: ELF-64 executable object file - PA-RISC 2.0 (LP64) I got one test system, which should have the same HW (i was told it is the same HW) hpuxtest:/stand-->file... (3 Replies)
Discussion started by: funksen
3 Replies

3. Red Hat

boot the 32 bit kernel on a 64 bit PPC Linux machine?

Hi all, I'm looking to cover a corner case for an upcoming test cycle. Is there a way to boot a RedHat Advanced Server 4 (update 3) installed on a Power PC machine to use a 32 bit kernel? This would be similar to what is done here -> https://www.unix.com/aix/26204-aix-platform.html I've done... (0 Replies)
Discussion started by: philrau
0 Replies

4. Linux

Centos 5 install. Partion order

I can't control the partion order during install. For example i need. hda5 /var 1GB hda6 /opt 2GB I created them in such order but OS adjust them to hda5 /opt 2GB hda6 /var 1GB It is frustrating during install, I pretty sure I can order the partion as i like... (0 Replies)
Discussion started by: honglus
0 Replies

5. Linux

Memory issue on My CentOS 5.8 x64 bit server

Hello, I am using CentOS 5.8 x64 server for our one of internal application which is developed on PHP and Mysql as DB. Currently there are 8-10 instances deployed on this server some of them are rarely used. Below is the H/W specification fort the same :- Procesor :- Intel(R) Xeon(R) CPU ... (6 Replies)
Discussion started by: sunnysthakur
6 Replies

6. IP Networking

MAC Address - Four Interfaces with the same MAC Address

four interfaces with ifconfig all interfaces have the same mac. If is not set for unique. but it still works. what difference does it make to have all macs the same or different? (4 Replies)
Discussion started by: rrodgers
4 Replies
SETETHER(8)						      System Manager's Manual						       SETETHER(8)

NAME
setether - Set the ethernet address for use with DECnet SYNOPSIS
setether <if> [<if>...]|all [options] DESCRIPTION
Set ethernet MAC address on ethernet adaptors This script should be run at system startup. It will change the ethernet hardware (MAC) address of any or all ethernet interfaces to match the DECnet node address. DECnet requires that the MAC address of all ethernet adaptors running the protocol be set approriately. If you do not run setether then you must change the ethernet address in some other way for DECnet to work. By default no ethernet interfaces will have their MAC addresses changed by setether, if you specify all then all interfaces name eth* will be changed, otherwise a list of interface names can be specified. setether will enable (UP) all interfaces it changes the MAC addresses of. (2.4 only) The first interface specified on the command-line will also be made the default interface for DECnet operations (ie attempts to contact nodes not in the neighbour table will be done over this interface). This script must be run with the interface inactive, it is normally run from /etc/init.d/decnet before TCP/IP starts up. EXAMPLES
set the MAC address of eth0. # /sbin/setether eth0 set the MAC address of all ethernet interfaces # /sbin/setether all HELPFUL HINTS
If you have multiple ethernet cards on your system and they are connected to the the same network you should specify which one you want to use for DECnet communication on the setether command line, otherwise they will both be given the same MAC address and this is probably not what you want. Running DECnet on multiple ethernet interfaces only works under Linux 2.4. If you are running Linux 2.2 then the interface name on the setether command line must match the one in /etc/decnet.conf(5). SEE ALSO
decnet.conf(5), dntype(1), dndir(1), dndel(1), dnetd(8), dnping(1) DECnet utilities March 01 2001 SETETHER(8)
All times are GMT -4. The time now is 04:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy