Hi!
We have HP DL380 with two NIC.One is Broadcom Corporation NetXtreme II BCM5708 and this one is integrated and second one is Intel Corporation 82572EI and this one is not-integrated. We have openSuse11.1 instaled on server. Both NIC were in same LAN and they have different IP adresses and both of them were pingable from another networks. We need different IP adresseses because different service was using different IP adresses. Network configuation was made by using YAST2. This was working perfectly well but we have to upgrade to 11.2.
After upgrading from 11.1 to 11.2 everything start to go wrong.
Only one of IP adresses became pingable from different network.We thought that there were problem with hardware(NIC,cable,switch…) but that was not the case.
Network configuration was the same like with 11.1 but it was not working!!!We try every possible thing in YAST2, try to manualy change configuration in /etc/sysconfig/network files but nothing helped. And then after few hours of configuring network both addresses became able to ping fron another network.We didn’t know what happend because we didn’t do anything that we didn’t already done!Everything work fine for 2 hours and than again one of IP adrress became unpingable.
We concluded that the issue is route to default gateway and that one of the NIC don’t se that route.In the same subnet you can ping both IP address buth from another network you can ping one one.
Here is ifcfg-eth0,ifcfg-eth1 and routes files from /etc/sysconfig/network/ from openSuse11.1 where everything worked.
#more ifcfg-eth0
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.0.1.35/28'
MTU=''
NAME='NetXtreme II BCM5708 Gigabit Ethernet'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='28'
#more ifcfg-eth2
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.0.1.36/28'
MTU=''
NAME='82572EI Gigabit Ethernet Controller (Copper)'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
#more routes
default 10.0.1.33 - -
Here is same files from openSuse11.2
#more ifcfg-eth0
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.0.1.35/28'
MTU=''
NAME='NetXtreme II BCM5708 Gigabit Ethernet'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='28'
#more ifcfg-eth2
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.0.1.36/28'
MTU=''
NAME='82572EI Gigabit Ethernet Controller (Copper)'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
#more routes
default 10.0.1.33 - -
and routing table is
#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.1.32 0.0.0.0 255.255.255.240 U 0 0 0 eth0
10.0.1.32 0.0.0.0 255.255.255.240 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.0.1.33 0.0.0.0 UG 0 0 0 eth2
Now IP address that you can ping is 10.0.1.36 while 10.0.1.35 in unreachable.From same subnet you can ping both IP address.As you can see default gateway is eth2 but if we understand logic of routing table for eth0 gateway is 0.0.0.0 and everything from 0.0.0.0 goes to 10.0.1.33!Right or not?
When we put ifdown eth2 routing table changes and eth0 becomes default gateway
#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.1.32 0.0.0.0 255.255.255.240 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.0.1.33 0.0.0.0 UG 0 0 0 eth0
Now you can ping 10.0.1.35 fron another network.
After we ifup eth2 everything chandes to way it was before (can ping 10.0.1.36,can’t ping 10.0.1.35).
We didn’t know is it openSuse11.2 issue or something is wrong with DL380 so we deploy openSuse11.1 on another DL380 and on that server we could ping both IP address from another network.After upgrade fron 11.1 to 11.2 same thing happened.Now we know that this is openSuse 11.2 issue.>:(
After brainstorming we deside put up alias interface on one NIC
#more /etc/sysconfig/network/ifcfg-eth0
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.0.1.36/28'
MTU=''
NAME='NetXtreme II BCM5708 Gigabit Ethernet'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='28'
IPADDR_0='10.0.1.35/28'
LABEL_0='1'
and routes
#more /etc/sysconfig/network/routes
default 10.0.1.33 - -
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.1.32 0.0.0.0 255.255.255.240 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.0.1.33 0.0.0.0 UG 0 0 0 eth0
and now everything work fine exept fact that now if eth0 stop working we loose both interfaces.We can ping both IP addresses from another network.
This was using method with ifup.
We also tried with NetworkMenager and that did work for a while and then stop working.
My questions are:
1.Is it posible that in openSuse 11.2 you can NOT assing two IP adrresses from NIC(one NIC one IP,another NIC another IP,same network,same default gateway) if those addreses are is in same network?This worked perfectly in openSuse 11.1.
2.Is this kernel bug,network bug,driver bug,some another bug or this is not bug?
If anyone know how to make both NIC to work at same time…
I almost forgot,we try everything possible from console not using YAST2 and same thing happend.
HELP US!!!