Bug 253338 - init scripts don't handle multiple channel bonds
init scripts don't handle multiple channel bonds
Status: CLOSED DUPLICATE of bug 253339
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: initscripts (Show other bugs)
5.0
All Linux
high Severity medium
: ---
: ---
Assigned To: initscripts Maintenance Team
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-08-17 18:29 EDT by James Fillman
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-08-29 13:47:24 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description James Fillman 2007-08-17 18:29:49 EDT
Description of problem:
I can't create more than one ethernet bonding interface.

It seems that the init scripts are written to handle the configuration of more
than one channel bonding interface. When i try to bring up the second bonding
interface, i get this error:

[root@vlxq01md net]# ifup bond1
bonding device bond1 does not seem to be present, delaying initialization.
[root@vlxq01md net]#

Here is my config:

/etc/modprobe.conf
alias eth2 bnx2
alias eth3 bnx2
alias eth0 e1000
alias eth1 e1000
alias scsi_hostadapter aacraid
alias scsi_hostadapter1 qla2xxx
alias bond0 bonding
alias bond1 bonding

/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.19.32.11
NETMASK=255.255.255.224
GATEWAY=172.19.31.1
DNS1=172.19.131.61
DNS2=172.19.131.62
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
BONDING_OPTS="mode=1 miimon=100 primary=eth0"

/etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.19.10.4
NETMASK=255.255.255.0
GATEWAY=
DNS1=
DNS2=
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
BONDING_OPTS="mode=1 miimon=100 primary=eth2"

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
USERCTL=no

If i'm configuring multiple channel bonding incorrectly, please advise.

Version-Release number of selected component (if applicable):
RHEL5
initscripts-8.45.14.EL-1

How reproducible:
Every reboot or interface initialization

Steps to Reproduce:
1. Copy above config
2. boot up server or do shell>ifup bond0; ifup bond1

  
Actual results:
the bond that is initialized first will work, the second one will not. The
bonding driver will only create a bonding interface if the device is present in
/sys/class/net/bonding_masters. The ifup-eth script will only add a single
device to /sys/class/net/bonding_masters. 

Expected results:
both bond0 and bond1 initialized

Additional info:
The workaround is to apply this patch to
/etc/sysconfig/network-scripts/network-functions

network-functions.patch
--- network-functions   2006-11-06 13:23:36.000000000 -0800
+++ network-functions.new       2007-08-17 17:00:45.000000000 -0700
@@ -391,7 +391,7 @@
 install_bonding_driver ()
 {
    ethtool -i $1 2>/dev/null | grep -q "driver: bonding" && return 0
-   [ ! -f /sys/class/net/bonding_masters ] && modprobe bonding || return 1
+   modprobe bonding || return 1
    echo "+$1" > /sys/class/net/bonding_masters
    return 0
 }
Comment 1 Bill Nottingham 2007-08-29 13:47:24 EDT

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

Note You need to log in before you can comment on or make changes to this bug.