Bug 253338 - init scripts don't handle multiple channel bonds
Summary: init scripts don't handle multiple channel bonds
Status: CLOSED DUPLICATE of bug 253339
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: initscripts   
(Show other bugs)
Version: 5.0
Hardware: All Linux
high
medium
Target Milestone: ---
: ---
Assignee: initscripts Maintenance Team
QA Contact: Brock Organ
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-08-17 22:29 UTC by James Fillman
Modified: 2007-11-30 22:07 UTC (History)
0 users

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


Attachments (Terms of Use)

Description James Fillman 2007-08-17 22:29:49 UTC
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 17:47:24 UTC

*** 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.