--- Begin Message ---
Package: linux-image-2.6-amd64
Version: 2.6.18.dfsg.1-13etch1
Debian Etch (up to date)
ifenslave-2.6 1.1.0-6
module-init-tools 3.3-pre4-2
ifupdown 0.6.8
I'm trying to setup two bonding interfaces with different settings (mode 0 and
2).
I followed the documentaion at
/usr/src/linux-source-2.6.18/Documentation/networking/bonding.txt
/etc/modprobe.d/bonding:
alias bond0 bonding
options bond0 -o bond0 mode=0 miimon=100
alias bond1 bonding
options bond1 -o bond1 mode=2 miimon=100
This didn't work because of the -o option. I found a debian bug
report regarding the -o option:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=270903#5
Next I tried the syntax that module-init-tools permits.
/etc/modprobe.d/bonding:
install bond0 /sbin/modprobe bonding -o bond0 mode=2 miimon=100 downdelay=200
install bond1 /sbin/modprobe bonding -o bond1 mode=0 miimon=100 downdelay=200
This was working with the 2.6.21 kernel from backports.org which I was
using at that time. The modules were loaded during boot time and ifup was able
to setup both bond interfaces with different options just fine.
Next I went back to 2.6.18, because of some other problems with the
2.6.21 backports kernel.
Now the bond1 interface is not configured properly and I get some
error messages during boot time.
/var/log/messages:
Aug 21 15:55:51 VU0EA003 kernel: e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex
Aug 21 15:55:51 VU0EA003 kernel: bonding: bond0: enslaving eth0 as an active interface with an up link.
Aug 21 15:55:51 VU0EA003 kernel: e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex
Aug 21 15:55:51 VU0EA003 kernel: bonding: bond0: enslaving eth1 as an active interface with an up link.
Interface bond0 was setup correctly. But bond1 gives errors.
Aug 21 15:55:51 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 15:55:51 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
Aug 21 15:55:51 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 15:55:51 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
Aug 21 15:55:51 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 15:55:51 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
Aug 21 15:55:51 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 15:55:51 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
Aug 21 15:55:51 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 15:55:51 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
Aug 21 15:55:51 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 15:55:51 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
On screen I see some additional messages:
Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
bonding: MII link monitoring set to 100ms
bond1: ERROR while getting interface flags: No such device
[...]
Failed to bring up bond1
If I try this on the command line it's also not working.
# modprobe -v bond1
install /sbin/modprobe bonding -o bond1 mode=0 miimon=100 downdelay=200
insmod /lib/modules/2.6.18-5-amd64/kernel/drivers/net/bonding/bonding.ko mode=0 miimon=100 downdelay=200
# ifup bond1
SIOCSIFADDR: No such device
bond1: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
bond1: ERROR while getting interface flags: No such device
bond1: ERROR while getting interface flags: No such device
Failed to bring up bond1.
# ls -l /proc/net/bonding/
insgesamt 0
-r--r--r-- 1 root root 0 2007-08-21 16:28 bond0
/var/log/messages:
Aug 21 16:26:30 VU0EA003 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Aug 21 16:26:30 VU0EA003 kernel: bonding: MII link monitoring set to 100 ms
All of this is working with the 2.6.21 kernel.
I don't know if it's a kernel, module-init-tools, ifupdown or ifenslave-2.6
problem, but the only part I have to change to get this running is the kernel.
I still can boot 2.6.21 and everything is ok.
At the moment I don't see any way to setup two bonding interfaces with
different options and kernel 2.6.18.
/etc/network/interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# client lan
auto bond0
iface bond0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
slaves eth0 eth1
# backup LAN
auto bond1
iface bond1 inet static
address 10.60.1.244
netmask 255.255.255.0
network 10.60.1.0
broadcast 10.60.1.255
slaves eth2 eth3
working 2.6.21 example:
Aug 21 16:43:01 VU0EA003 kernel: e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Aug 21 16:43:01 VU0EA003 kernel: bonding: bond0: enslaving eth0 as an active interface with an up link.
Aug 21 16:43:01 VU0EA003 kernel: e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Aug 21 16:43:01 VU0EA003 kernel: bonding: bond0: enslaving eth1 as an active interface with an up link.
Aug 21 16:43:01 VU0EA003 kernel: e1000: eth2: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Aug 21 16:43:01 VU0EA003 kernel: bonding: bond1: enslaving eth2 as an active interface with an up link.
Aug 21 16:43:01 VU0EA003 kernel: e1000: eth3: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Aug 21 16:43:01 VU0EA003 kernel: bonding: bond1: enslaving eth3 as an active interface with an up link.
# ls -l /proc/net/bonding/
insgesamt 0
-r--r--r-- 1 root root 0 2007-08-21 16:43 bond0
-r--r--r-- 1 root root 0 2007-08-21 16:43 bond1
# ip addr
[...]
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,10000> mtu 1500 qdisc noqueue
link/ether 00:1b:21:01:9a:40 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global bond0
inet6 fe80::21b:21ff:fe01:9a40/64 scope link
valid_lft forever preferred_lft forever
7: bond1: <BROADCAST,MULTICAST,MASTER,UP,10000> mtu 1500 qdisc noqueue
link/ether 00:30:48:90:1b:1c brd ff:ff:ff:ff:ff:ff
inet 10.60.1.244/24 brd 10.60.1.255 scope global bond1
inet6 fe80::230:48ff:fe90:1b1c/64 scope link tentative
valid_lft forever preferred_lft forever
--- End Message ---
--- Begin Message ---
On Wed, 06 Aug 2008, Casey Allen Shobe wrote:
> Guys, what works, with either kernel, is to get rid of the /etc/
> modprobe.d/bonding file defined above, go back to the /etc/modprobe.d/
> aliases modification, but add max_bonds=2 (or whatever) to the first
> entry.
thanks for the detailed description.
thus closing
--
maks
--- End Message ---