1 --- ifenslave-2.6-1.1.0.orig/ifenslave.8
2 +++ ifenslave-2.6-1.1.0/ifenslave.8
6 +.Os "Debian GNU/Linux"
7 +.\" Manual page created by Guus Sliepen <guus@debian.org>
10 +.Nd Attach and detach slave network devices to a bonding device.
14 +.Op Fl -all-interfaces
15 +.Op Fl -change-active
27 +is a tool to attach and detach slave network devices to a bonding device.
28 +A bonding device will act like a normal Ethernet network device to the kernel,
29 +but will send out the packets via the slave devices using a simple round-robin scheduler.
30 +This allows for simple load-balancing,
31 +identical to "channel bonding" or "trunking" techniques used in switches.
33 +The kernel must have support for bonding devices for
37 +.Bl -tag -width indent
38 +.It Fl a, -all-interfaces
39 +Show information about all interfaces.
40 +.It Fl c, -change-active
43 +Removes slave interfaces from the bonding device.
45 +Force actions to be taken if one of the specified interfaces appears not to belong to an Ethernet device.
47 +Display a help message and exit.
49 +Show usage information and exit.
51 +Print warning and debug messages.
53 +Show version information and exit.
55 +If not options are given, the default action will be to enslave interfaces.
57 +The following example shows how to setup a bonding device and
58 +enslave two real Ethernet devices to it:
61 +# ifconfig bond0 192.168.0.1 netmask 255.255.0.0
62 +# ifenslave bond0 eth0 eth1
66 +was originally written by
67 +.An Donald Becker Aq becker@cesdis.gsfc.nasa.gov ,
68 +and has since been updated by various kernel developers.
70 +This manual page was written by
71 +.An Guus Sliepen Aq guus@debian.org
72 +for the Debian GNU/Linux system.
73 --- ifenslave-2.6-1.1.0.orig/debian/changelog
74 +++ ifenslave-2.6-1.1.0/debian/changelog
76 +ifenslave-2.6 (1.1.0-10) unstable; urgency=low
78 + * Apply patch from Scott Barker forcing explicitly mentioned interfaces to
79 + always be enslaved, even if they have been brought up already.
82 + -- Guus Sliepen <guus@debian.org> Sun, 01 Jun 2008 18:11:36 +0200
84 +ifenslave-2.6 (1.1.0-9) unstable; urgency=low
86 + * Apply patch from Nicolas de Pesloüan allowing multiple arguments to
87 + bond_arp_ip_target and writing them properly to sysfs. Closes: #480749
89 + -- Guus Sliepen <guus@debian.org> Mon, 19 May 2008 11:29:26 +0200
91 +ifenslave-2.6 (1.1.0-8) unstable; urgency=low
93 + * Apply patch from Guido Guenther allowing bonding device options normally
94 + available via the sysfs interface to be set in /etc/network/interfaces.
97 + -- Guus Sliepen <guus@debian.org> Thu, 20 Dec 2007 14:07:01 +0100
99 +ifenslave-2.6 (1.1.0-7) unstable; urgency=low
101 + * Move scripts from if-up and if-down to if-pre-up and if-post-down again,
102 + but bring the bonding interface up in if-pre-up. Closes: #422566
104 + -- Guus Sliepen <guus@debian.org> Tue, 08 May 2007 11:09:26 +0200
106 +ifenslave-2.6 (1.1.0-6) unstable; urgency=low
108 + * Move scripts from if-pre-up and if-post-down to if-up and if-down.
110 + -- Guus Sliepen <guus@debian.org> Mon, 17 Oct 2005 00:48:26 +0200
112 +ifenslave-2.6 (1.1.0-5) unstable; urgency=low
114 + * Add if-pre-up and if-post-down scripts to enslave and detach interfaces.
117 + -- Guus Sliepen <guus@debian.org> Fri, 30 Sep 2005 14:33:46 +0200
119 +ifenslave-2.6 (1.1.0-4) unstable; urgency=medium
121 + * Drop Conflict with kernel-image-2.4 and newer ifenslave-2.4 packages.
123 + * Use alternatives to allow this package to coexist with ifenslave-2.4.
124 + * Move ifenslave to /sbin to allow network to be properly configured
125 + before mounting /usr over NFS. Closes: #257284
127 + -- Guus Sliepen <guus@debian.org> Fri, 17 Sep 2004 14:01:36 +0200
129 +ifenslave-2.6 (1.1.0-3) unstable; urgency=low
131 + * Conflict, Replace and Provide ifenslave. Closes: #255287
133 + -- Guus Sliepen <guus@debian.org> Fri, 25 Jun 2004 21:35:31 +0000
135 +ifenslave-2.6 (1.1.0-2) unstable; urgency=low
137 + * Change package name to reflect it only works with 2.6.x kernels.
140 + -- Guus Sliepen <guus@debian.org> Sun, 16 May 2004 12:26:06 +0200
142 +ifenslave (1.1.0-1) unstable; urgency=low
144 + * New upstream release (kernel 2.6.5). Closes: #242670
146 + -- Guus Sliepen <guus@debian.org> Fri, 9 Apr 2004 14:31:50 +0200
148 +ifenslave (0.07-1) unstable; urgency=low
150 + * Initial release. Closes: #100760
151 + * Merged with several patched versions of the same source.
154 + -- Guus Sliepen <guus@sliepen.warande.net> Wed, 13 Jun 2001 09:31:56 +0200
155 --- ifenslave-2.6-1.1.0.orig/debian/ifenslave-2.6.postinst
156 +++ ifenslave-2.6-1.1.0/debian/ifenslave-2.6.postinst
160 +update-alternatives --install /sbin/ifenslave ifenslave /sbin/ifenslave-2.6 260 \
161 + --slave /usr/share/man/man8/ifenslave.8.gz ifenslave.8.gz /usr/share/man/man8/ifenslave-2.6.8.gz
164 --- ifenslave-2.6-1.1.0.orig/debian/ifenslave-2.6.prerm
165 +++ ifenslave-2.6-1.1.0/debian/ifenslave-2.6.prerm
169 +if [ "$1" = remove ] || [ "$1" = deconfigure ]; then
170 + update-alternatives --remove ifenslave /sbin/ifenslave-2.6
175 --- ifenslave-2.6-1.1.0.orig/debian/README.debian
176 +++ ifenslave-2.6-1.1.0/debian/README.debian
178 +ifenslave for Debian
179 +----------------------
181 +The ifenslave program distributed with the Linux kernel sources has not always
182 +been up to date, and several modified versions have been floating around. The
183 +latest kernels now contain an updated version though. The Debian package
184 +ifenslave will now use the version found in the kernel, without any patches.
186 +You can also enslave interfaces using Debian's /etc/network/interfaces file,
189 +iface bond0 inet static
190 + address 192.168.48.157
191 + netmask 255.255.252.0
192 + broadcast 192.168.48.255
193 + gateway 192.168.48.1
196 +The "slaves" option can take a list of network interfaces, the keyword "none"
197 +(with obvious results) and the keyword "all" (which selects all interfaces with
198 +"eth" in their name). Additionally you can set bonding options by adding them
199 +to the interface section:
201 + bond_mode active-backup
204 +This would run the bonding device in active backup mode with eth0 as primary.
205 +Supported options are bond_mode, bond_miimon, bond_primary, bond_updelay,
206 +bond_downdelay, bond_arp_ip_target, bond_arp_interval, bond_xmit_hash_policy
209 +Guus Sliepen <guus@debian.org>, Fri, 30 Sep 2005 14:33:06 +0200
210 --- ifenslave-2.6-1.1.0.orig/debian/pre-up
211 +++ ifenslave-2.6-1.1.0/debian/pre-up
215 +IFENSLAVE=/sbin/ifenslave
216 +IFSTATE=/etc/network/run/ifstate
217 +BOND_PARAMS=/sys/class/net/"$IFACE"/bonding/
219 +if [ ! -x $IFENSLAVE ] ; then
226 + if [ ! -r /sys/class/net/bonding_masters ]; then
227 + modprobe bonding >/dev/null 2>&1 || true
230 + if ! grep -sq "\\<$IFACE\\>" /sys/class/net/bonding_masters; then
231 + echo "+$IFACE" > /sys/class/net/bonding_masters
236 +case "$IF_SLAVES" in
244 + INTERFACES=`grep eth /proc/net/dev|sed 's/\(\ *\)\(eth[^:]*\)\(.*\)/\2/'`
248 + INTERFACES="$IF_SLAVES"
253 +if [ -n "$INTERFACES" ] ; then
256 + if [ "$IF_BOND_MODE" ]; then
257 + echo "$IF_BOND_MODE" > $BOND_PARAMS/mode
259 + if [ "$IF_BOND_MIIMON" ]; then
260 + echo "$IF_BOND_MIIMON" > $BOND_PARAMS/miimon
262 + if [ "$IF_BOND_UPDELAY" ]; then
263 + echo "$IF_BOND_UPDELAY" > $BOND_PARAMS/updelay
265 + if [ "$IF_BOND_DOWNDELAY" ]; then
266 + echo "$IF_BOND_DOWNDELAY" > $BOND_PARAMS/downdelay
268 + if [ "$IF_BOND_ARP_IP_TARGET" ]; then
269 + for target in $IF_BOND_ARP_IP_TARGET; do
270 + echo "+$target" > $BOND_PARAMS/arp_ip_target
273 + if [ "$IF_BOND_ARP_INTERVAL" ]; then
274 + echo "$IF_BOND_ARP_INTERVAL" > $BOND_PARAMS/arp_interval
276 + if [ "$IF_BOND_XMIT_HASH_POLICY" ]; then
277 + echo "$IF_BOND_XMIT_HASH_POLICY" > $BOND_PARAMS/xmit_hash_policy
279 + if [ "$IF_BOND_LACP_RATE" ]; then
280 + echo "$IF_BOND_LACP_RATE" > $BOND_PARAMS/lacp_rate
282 + ifconfig "$IFACE" up
283 + for slave in $INTERFACES ; do
284 + if ( [ "$AUTOIF" ] && grep -q "^$slave=" $IFSTATE ) ; then
285 + echo "Not enslaving interface $slave since it is already configured"
287 + ifconfig "$slave" down
288 + $IFENSLAVE "$IFACE" "$slave"
291 + if [ "$IF_BOND_PRIMARY" ]; then
292 + echo "$IF_BOND_PRIMARY" > $BOND_PARAMS/primary
295 --- ifenslave-2.6-1.1.0.orig/debian/post-down
296 +++ ifenslave-2.6-1.1.0/debian/post-down
300 +IFENSLAVE=/sbin/ifenslave
301 +IFSTATE=/etc/network/run/ifstate
303 +if [ ! -x $IFENSLAVE ] ; then
307 +case "$IF_SLAVES" in
315 + INTERFACES=`grep eth /proc/net/dev|sed 's/\(\ *\)\(eth[^:]*\)\(.*\)/\2/'`
318 + INTERFACES="$IF_SLAVES"
322 +if [ -n "$INTERFACES" ] ; then
323 + ifconfig "$IFACE" up
324 + for slave in $INTERFACES ; do
325 + $IFENSLAVE --detach "$IFACE" "$slave"
327 + ifconfig "$IFACE" down
329 --- ifenslave-2.6-1.1.0.orig/debian/compat
330 +++ ifenslave-2.6-1.1.0/debian/compat
333 --- ifenslave-2.6-1.1.0.orig/debian/rules
334 +++ ifenslave-2.6-1.1.0/debian/rules
337 +# Sample debian/rules that uses debhelper.
338 +# GNU copyright 1997 to 1999 by Joey Hess.
340 +# Uncomment this to turn on verbose mode.
341 +#export DH_VERBOSE=1
343 +configure: configure-stamp
346 + touch configure-stamp
348 +build: configure-stamp build-stamp
352 + gcc -O2 -g -Wall -o ifenslave ifenslave.c
359 + rm -f build-stamp configure-stamp
371 + mkdir -p $(CURDIR)/debian/ifenslave-2.6/sbin/
372 + mkdir -p $(CURDIR)/debian/ifenslave-2.6/usr/share/man/man8/
373 + cp ifenslave $(CURDIR)/debian/ifenslave-2.6/sbin/ifenslave-2.6
374 + cp ifenslave.8 $(CURDIR)/debian/ifenslave-2.6/usr/share/man/man8/ifenslave-2.6.8
375 + install -D debian/pre-up $(CURDIR)/debian/ifenslave-2.6/etc/network/if-pre-up.d/ifenslave
376 + install -D debian/post-down $(CURDIR)/debian/ifenslave-2.6/etc/network/if-post-down.d/ifenslave
379 +# Build architecture-independent files here.
380 +binary-indep: build install
381 +# We have nothing to do by default.
383 +# Build architecture-dependent files here.
384 +binary-arch: build install
389 +# dh_installexamples
391 +# dh_installlogrotate
400 + dh_installchangelogs
413 +binary: binary-indep binary-arch
414 +.PHONY: build clean binary-indep binary-arch binary install configure
415 --- ifenslave-2.6-1.1.0.orig/debian/ifenslave-2.6.preinst
416 +++ ifenslave-2.6-1.1.0/debian/ifenslave-2.6.preinst
420 +if [ -f /etc/network/if-up.d/ifenslave -a ! -e /etc/network/if-pre-up.d/ifenslave ]; then
421 + mv /etc/network/if-up.d/ifenslave /etc/network/if-pre-up.d/ifenslave
424 +if [ -f /etc/network/if-down.d/ifenslave -a ! -e /etc/network/if-post-down.d/ifenslave ]; then
425 + mv /etc/network/if-down.d/ifenslave /etc/network/if-post-down.d/ifenslave
429 --- ifenslave-2.6-1.1.0.orig/debian/control
430 +++ ifenslave-2.6-1.1.0/debian/control
432 +Source: ifenslave-2.6
435 +Maintainer: Guus Sliepen <guus@debian.org>
436 +Build-Depends: debhelper (>> 4.0.0)
437 +Standards-Version: 3.7.3
439 +Package: ifenslave-2.6
441 +Depends: ${shlibs:Depends}
442 +Recommends: net-tools
443 +Conflicts: ifenslave (<< 2), ifenslave-2.4 (<= 0.07+2.5.15-6)
444 +Description: Attach and detach slave interfaces to a bonding device
445 + This is a tool to attach and detach slave network interfaces to a bonding
446 + device. A bonding device will act like a normal Ethernet network device to
447 + the kernel, but will send out the packets via the slave devices using a simple
448 + round-robin scheduler. This allows for simple load-balancing, identical to
449 + "channel bonding" or "trunking" techniques used in switches.
451 + The kernel must have support for bonding devices for ifenslave to be useful.
452 + This package supports 2.6.x kernels and the most recent 2.4.x kernels. For
453 + older kernels use the ifenslave-2.4 package.
454 --- ifenslave-2.6-1.1.0.orig/debian/copyright
455 +++ ifenslave-2.6-1.1.0/debian/copyright
457 +This package was debianized by Guus Sliepen <guus@debian.org> on
458 +Wed, 13 Jun 2001 09:31:56 +0200.
460 +There have been several version of ifenslave circulating around in the past.
461 +For this Debian package, the source was taken from the Documentation directory
462 +of the Linux 2.6 kernel sources.
464 + Copyright (c) 1994-1996 Donald Becker <becker@cesdis.gsfc.nasa.gov>
466 + This program is free software; you can redistribute it
467 + and/or modify it under the terms of the GNU General Public
468 + License as published by the Free Software Foundation.
470 +On Debian GNU/Linux systems, the complete text of the GNU General Public
471 +License version 2 can be found in /usr/share/common-licenses/GPL-2.