Bug 253339
| Summary: | init scripts don't handle multiple channel bonds | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 5 | Reporter: | James Fillman <jfillman> |
| Component: | initscripts | Assignee: | initscripts Maintenance Team <initscripts-maint-list> |
| Status: | CLOSED DUPLICATE | QA Contact: | Brock Organ <borgan> |
| Severity: | medium | Docs Contact: | |
| Priority: | high | ||
| Version: | 5.0 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2007-08-29 17:48:27 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Please try the 5.1 beta packages. *** Bug 253338 has been marked as a duplicate of this bug. *** |
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 }