netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] bonding: update some distro-specific documentation
@ 2007-08-30 21:24 Andy Gospodarek
  2007-09-07 18:27 ` Jay Vosburgh
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Gospodarek @ 2007-08-30 21:24 UTC (permalink / raw)
  To: netdev; +Cc: fubar


These are some changes that update some of the distro-specific details
in for configuring bonding.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>

---

 bonding.txt |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 deletions(-)


diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 1da5666..52fc1d0 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -755,9 +755,9 @@ the system /etc/modules.conf or /etc/modprobe.conf configuration file.
 ------------------------------------------
 
 	This section applies to distros using a version of initscripts
-with bonding support, for example, Red Hat Linux 9 or Red Hat
-Enterprise Linux version 3 or 4.  On these systems, the network
-initialization scripts have some knowledge of bonding, and can be
+with bonding support, for example, Red Hat Linux 9, Red Hat Enterprise
+Linux version 3, 4 or 5, Fedora, etc.  On these systems, the network
+initialization scripts have some knowledge of bonding, and can be 
 configured to control bonding devices.
 
 	These distros will not automatically load the network adapter
@@ -802,15 +802,20 @@ BROADCAST=192.168.1.255
 ONBOOT=yes
 BOOTPROTO=none
 USERCTL=no
+BONDING_OPTS="mode=balance-alb miimon=100"
 
 	Be sure to change the networking specific lines (IPADDR,
 NETMASK, NETWORK and BROADCAST) to match your network configuration.
+You also need to set the BONDING_OPTS= line to specify the desired
+options for your bond0 interface.  Specifying bonding options in this
+way is the preferred method for configuring bonding interfaces.
 
-	Finally, it is necessary to edit /etc/modules.conf (or
+	It is no longer necessary to edit /etc/modules.conf (or
 /etc/modprobe.conf, depending upon your distro) to load the bonding
 module with your desired options when the bond0 interface is brought
 up.  The following lines in /etc/modules.conf (or modprobe.conf) will
-load the bonding module, and select its options:
+load the bonding module, and select its options but this is no longer
+the preferred method.
 
 alias bond0 bonding
 options bond0 mode=balance-alb miimon=100
@@ -826,8 +831,9 @@ up and running.
 ---------------------------------
 
 	Recent versions of initscripts (the version supplied with
-Fedora Core 3 and Red Hat Enterprise Linux 4 is reported to work) do
-have support for assigning IP information to bonding devices via DHCP.
+Fedora Core 3 and Red Hat Enterprise Linux 4 and later is reported to
+work) do have support for assigning IP information to bonding devices
+via DHCP.
 
 	To configure bonding for DHCP, configure it as described
 above, except replace the line "BOOTPROTO=none" with "BOOTPROTO=dhcp"
@@ -837,18 +843,19 @@ is case sensitive.
 3.2.2 Configuring Multiple Bonds with Initscripts
 -------------------------------------------------
 
-	At this writing, the initscripts package does not directly
-support loading the bonding driver multiple times, so the process for
-doing so is the same as described in the "Configuring Multiple Bonds
-Manually" section, below.
-
-	NOTE: It has been observed that some Red Hat supplied kernels
-are apparently unable to rename modules at load time (the "-o bond1"
-part).  Attempts to pass that option to modprobe will produce an
-"Operation not permitted" error.  This has been reported on some
-Fedora Core kernels, and has been seen on RHEL 4 as well.  On kernels
-exhibiting this problem, it will be impossible to configure multiple
-bonds with differing parameters.
+	Initscripts packages that are included with Fedora 7 and Red
+Hat Enterprise Linux 5 support multiple bonding interfaces by simply
+specifying the appropriate BONDING_OPTS= in ifcfg-bondX where X is
+the number of the bond.  Other distros may not include support in
+initscripts for multiple bonding interfaces, so you may need to follow
+the process as described in the "Configuring Multiple Bonds Manually"
+section, below.
+
+	It has been observed that much older kernels are apparently
+unable to rename modules at load time (the "-o bond1" part).  Attempts
+to pass that option to modprobe will produce an "Operation not 
+permitted" error.  On kernels exhibiting this problem, it will be 
+impossible to configure multiple bonds with differing parameters.
 
 3.3 Configuring Bonding Manually with Ifenslave
 -----------------------------------------------

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-08-30 21:24 [PATCH] bonding: update some distro-specific documentation Andy Gospodarek
@ 2007-09-07 18:27 ` Jay Vosburgh
  2007-09-12 18:18   ` Andy Gospodarek
                     ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Jay Vosburgh @ 2007-09-07 18:27 UTC (permalink / raw)
  To: Andy Gospodarek; +Cc: netdev

Andy Gospodarek <andy@greyhouse.net> wrote:

	This all looks fine except for one nit (well, request for extra
detail, really):

>@@ -802,15 +802,20 @@ BROADCAST=192.168.1.255
> ONBOOT=yes
> BOOTPROTO=none
> USERCTL=no
>+BONDING_OPTS="mode=balance-alb miimon=100"
>
> 	Be sure to change the networking specific lines (IPADDR,
> NETMASK, NETWORK and BROADCAST) to match your network configuration.
>+You also need to set the BONDING_OPTS= line to specify the desired
>+options for your bond0 interface.  Specifying bonding options in this
>+way is the preferred method for configuring bonding interfaces.

	Can you add something here that mentions that, for the
arp_ip_target option, it has to be supplied as "arp_ip_target=+10.0.0.1"
and not just "arp_ip_target=10.0.0.1"?  Also, multiple targets require
multiple instances of the arp_ip_target option; it doesn't work to put
multiple IP addresses as in the module option (i.e.,
"arp_ip_target=10.0.0.1,10.0.0.2").

	This is necessary because ifup-eth isn't adding the "+" when it
translates the option for use with sysfs or parsing the multiple IP
address syntax.

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-09-07 18:27 ` Jay Vosburgh
@ 2007-09-12 18:18   ` Andy Gospodarek
  2007-09-12 18:47     ` Jay Vosburgh
  2007-09-17 21:46   ` Andy Gospodarek
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Andy Gospodarek @ 2007-09-12 18:18 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev

On Fri, Sep 07, 2007 at 11:27:49AM -0700, Jay Vosburgh wrote:
> Andy Gospodarek <andy@greyhouse.net> wrote:
> 
> 	This all looks fine except for one nit (well, request for extra
> detail, really):
> 
> >@@ -802,15 +802,20 @@ BROADCAST=192.168.1.255
> > ONBOOT=yes
> > BOOTPROTO=none
> > USERCTL=no
> >+BONDING_OPTS="mode=balance-alb miimon=100"
> >
> > 	Be sure to change the networking specific lines (IPADDR,
> > NETMASK, NETWORK and BROADCAST) to match your network configuration.
> >+You also need to set the BONDING_OPTS= line to specify the desired
> >+options for your bond0 interface.  Specifying bonding options in this
> >+way is the preferred method for configuring bonding interfaces.
> 
> 	Can you add something here that mentions that, for the
> arp_ip_target option, it has to be supplied as "arp_ip_target=+10.0.0.1"
> and not just "arp_ip_target=10.0.0.1"?  Also, multiple targets require
> multiple instances of the arp_ip_target option; it doesn't work to put
> multiple IP addresses as in the module option (i.e.,
> "arp_ip_target=10.0.0.1,10.0.0.2").
> 
> 	This is necessary because ifup-eth isn't adding the "+" when it
> translates the option for use with sysfs or parsing the multiple IP
> address syntax.
> 

Jay,

I could do that, or we could just take this as-is and get initscripts
fixed up to account for this.  Does that seem reasonable?

I'd rather go that route, and I've even got a patch that *seems* to work
already:

--- initscripts-8.45.17.EL/sysconfig/network-scripts/ifup-eth.orig
+++ initscripts-8.45.17.EL/sysconfig/network-scripts/ifup-eth
@@ -125,7 +125,16 @@ if [ "$ISALIAS" = no ] && is_bonding_dev
     for arg in $BONDING_OPTS ; do   
         key=${arg%%=*};
         value=${arg##*=};
-        echo $value > /sys/class/net/${DEVICE}/bonding/$key
+        OLDIFS=$IFS;
+        IFS=',';
+        if [ "${key}" = "arp_ip_target" ]; then
+           for arp_ip in $value; do
+             echo +$arp_ip > /sys/class/net/${DEVICE}/bonding/$key
+           done
+        else
+           echo $value > /sys/class/net/${DEVICE}/bonding/$key
+        fi
+        IFS=$OLDIFS;
     done
 
     /sbin/ip link set dev ${DEVICE} up

-andy



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-09-12 18:18   ` Andy Gospodarek
@ 2007-09-12 18:47     ` Jay Vosburgh
  2007-09-12 19:40       ` Andy Gospodarek
  0 siblings, 1 reply; 8+ messages in thread
From: Jay Vosburgh @ 2007-09-12 18:47 UTC (permalink / raw)
  To: Andy Gospodarek; +Cc: netdev

Andy Gospodarek <andy@greyhouse.net> wrote:

>I could do that, or we could just take this as-is and get initscripts
>fixed up to account for this.  Does that seem reasonable?

	Changing initscripts is fine, too, but is there then going to be
some (perhaps small) installed base for which the documentation will be
incorrect?

>I'd rather go that route, and I've even got a patch that *seems* to work
>already:
>
>--- initscripts-8.45.17.EL/sysconfig/network-scripts/ifup-eth.orig
>+++ initscripts-8.45.17.EL/sysconfig/network-scripts/ifup-eth
>@@ -125,7 +125,16 @@ if [ "$ISALIAS" = no ] && is_bonding_dev
>     for arg in $BONDING_OPTS ; do   
>         key=${arg%%=*};
>         value=${arg##*=};
>-        echo $value > /sys/class/net/${DEVICE}/bonding/$key
>+        OLDIFS=$IFS;
>+        IFS=',';
>+        if [ "${key}" = "arp_ip_target" ]; then
>+           for arp_ip in $value; do
>+             echo +$arp_ip > /sys/class/net/${DEVICE}/bonding/$key
>+           done
>+        else
>+           echo $value > /sys/class/net/${DEVICE}/bonding/$key
>+        fi
>+        IFS=$OLDIFS;
>     done
>
>     /sbin/ip link set dev ${DEVICE} up

	That looks like it should do the right thing, although I didn't
actually try it.  The other bonding sysfs thingies that use the "+" type
of syntax don't appear in BONDING_OPTS.

	-J

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-09-12 18:47     ` Jay Vosburgh
@ 2007-09-12 19:40       ` Andy Gospodarek
  0 siblings, 0 replies; 8+ messages in thread
From: Andy Gospodarek @ 2007-09-12 19:40 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev

On 9/12/07, Jay Vosburgh <fubar@us.ibm.com> wrote:
> Andy Gospodarek <andy@greyhouse.net> wrote:
>
> >I could do that, or we could just take this as-is and get initscripts
> >fixed up to account for this.  Does that seem reasonable?
>
>         Changing initscripts is fine, too, but is there then going to be
> some (perhaps small) installed base for which the documentation will be
> incorrect?
>

Sure, but it could be wrong if we updated the kernel doc again after
initscripts was fixed and some chose not to update initscripts on
their boxes.  There could be a note about running a particular version
of initscripts, but I'd rather not start down the path of turning the
kernel doc into something that looks like distro release notes.

Either way it seems like there could be a chance for something to be
out of sync, so I guess we just have to pick the one that seems 'least
bad.'  I'd vote for whatever creates the fewest kernel patches. ;-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-09-07 18:27 ` Jay Vosburgh
  2007-09-12 18:18   ` Andy Gospodarek
@ 2007-09-17 21:46   ` Andy Gospodarek
  2007-09-17 21:53   ` Andy Gospodarek
  2007-09-17 23:00   ` Andy Gospodarek
  3 siblings, 0 replies; 8+ messages in thread
From: Andy Gospodarek @ 2007-09-17 21:46 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev

On Fri, Sep 07, 2007 at 11:27:49AM -0700, Jay Vosburgh wrote:
> Andy Gospodarek <andy@greyhouse.net> wrote:
> 
> 	This all looks fine except for one nit (well, request for extra
> detail, really):
> 
> >@@ -802,15 +802,20 @@ BROADCAST=192.168.1.255
> > ONBOOT=yes
> > BOOTPROTO=none
> > USERCTL=no
> >+BONDING_OPTS="mode=balance-alb miimon=100"
> >
> > 	Be sure to change the networking specific lines (IPADDR,
> > NETMASK, NETWORK and BROADCAST) to match your network configuration.
> >+You also need to set the BONDING_OPTS= line to specify the desired
> >+options for your bond0 interface.  Specifying bonding options in this
> >+way is the preferred method for configuring bonding interfaces.
> 
> 	Can you add something here that mentions that, for the
> arp_ip_target option, it has to be supplied as "arp_ip_target=+10.0.0.1"
> and not just "arp_ip_target=10.0.0.1"?  Also, multiple targets require
> multiple instances of the arp_ip_target option; it doesn't work to put
> multiple IP addresses as in the module option (i.e.,
> "arp_ip_target=10.0.0.1,10.0.0.2").
> 
> 	This is necessary because ifup-eth isn't adding the "+" when it
> translates the option for use with sysfs or parsing the multiple IP
> address syntax.
> 
> 	-J

Jay,

I took your advice -- here's an updated patch.

-andy


Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
---

 bonding.txt |   53 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 1da5666..2402412 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -755,9 +755,9 @@ the system /etc/modules.conf or /etc/modprobe.conf configuration file.
 ------------------------------------------
 
 	This section applies to distros using a version of initscripts
-with bonding support, for example, Red Hat Linux 9 or Red Hat
-Enterprise Linux version 3 or 4.  On these systems, the network
-initialization scripts have some knowledge of bonding, and can be
+with bonding support, for example, Red Hat Linux 9, Red Hat Enterprise
+Linux version 3, 4 or 5, Fedora, etc.  On these systems, the network
+initialization scripts have some knowledge of bonding, and can be 
 configured to control bonding devices.
 
 	These distros will not automatically load the network adapter
@@ -802,18 +802,27 @@ BROADCAST=192.168.1.255
 ONBOOT=yes
 BOOTPROTO=none
 USERCTL=no
+BONDING_OPTS="mode=active-backup arp_monitor=+192.168.1.254"
 
 	Be sure to change the networking specific lines (IPADDR,
 NETMASK, NETWORK and BROADCAST) to match your network configuration.
-
-	Finally, it is necessary to edit /etc/modules.conf (or
+You also need to set the BONDING_OPTS= line to specify the desired
+options for your bond0 interface.  Specifying bonding options in this
+way is the preferred method for configuring bonding interfaces.  The
+options specified in BONDING_OPTS are identical to the bonding module
+parameters except for the arp_monitor field.  Each target should be
+included as a separate address and should be preceded by a '+' to 
+indicate it should be added to the list of queried targets.
+
+	It is no longer necessary to edit /etc/modules.conf (or
 /etc/modprobe.conf, depending upon your distro) to load the bonding
 module with your desired options when the bond0 interface is brought
 up.  The following lines in /etc/modules.conf (or modprobe.conf) will
-load the bonding module, and select its options:
+load the bonding module, and select its options but this is no longer
+the preferred method.
 
 alias bond0 bonding
-options bond0 mode=balance-alb miimon=100
+options bond0 mode=active-backup arp_monitor=192.168.1.254
 
 	Replace the sample parameters with the appropriate set of
 options for your configuration.
@@ -826,8 +835,9 @@ up and running.
 ---------------------------------
 
 	Recent versions of initscripts (the version supplied with
-Fedora Core 3 and Red Hat Enterprise Linux 4 is reported to work) do
-have support for assigning IP information to bonding devices via DHCP.
+Fedora Core 3 and Red Hat Enterprise Linux 4 and later is reported to
+work) do have support for assigning IP information to bonding devices
+via DHCP.
 
 	To configure bonding for DHCP, configure it as described
 above, except replace the line "BOOTPROTO=none" with "BOOTPROTO=dhcp"
@@ -837,18 +847,19 @@ is case sensitive.
 3.2.2 Configuring Multiple Bonds with Initscripts
 -------------------------------------------------
 
-	At this writing, the initscripts package does not directly
-support loading the bonding driver multiple times, so the process for
-doing so is the same as described in the "Configuring Multiple Bonds
-Manually" section, below.
-
-	NOTE: It has been observed that some Red Hat supplied kernels
-are apparently unable to rename modules at load time (the "-o bond1"
-part).  Attempts to pass that option to modprobe will produce an
-"Operation not permitted" error.  This has been reported on some
-Fedora Core kernels, and has been seen on RHEL 4 as well.  On kernels
-exhibiting this problem, it will be impossible to configure multiple
-bonds with differing parameters.
+	Initscripts packages that are included with Fedora 7 and Red
+Hat Enterprise Linux 5 support multiple bonding interfaces by simply
+specifying the appropriate BONDING_OPTS= in ifcfg-bondX where X is
+the number of the bond.  Other distros may not include support in
+initscripts for multiple bonding interfaces, so you may need to follow
+the process as described in the "Configuring Multiple Bonds Manually"
+section, below.
+
+	It has been observed that much older kernels are apparently
+unable to rename modules at load time (the "-o bond1" part).  Attempts
+to pass that option to modprobe will produce an "Operation not 
+permitted" error.  On kernels exhibiting this problem, it will be 
+impossible to configure multiple bonds with differing parameters.
 
 3.3 Configuring Bonding Manually with Ifenslave
 -----------------------------------------------

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-09-07 18:27 ` Jay Vosburgh
  2007-09-12 18:18   ` Andy Gospodarek
  2007-09-17 21:46   ` Andy Gospodarek
@ 2007-09-17 21:53   ` Andy Gospodarek
  2007-09-17 23:00   ` Andy Gospodarek
  3 siblings, 0 replies; 8+ messages in thread
From: Andy Gospodarek @ 2007-09-17 21:53 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev

On Fri, Sep 07, 2007 at 11:27:49AM -0700, Jay Vosburgh wrote:
> Andy Gospodarek <andy@greyhouse.net> wrote:
> 
> 	This all looks fine except for one nit (well, request for extra
> detail, really):
> 
> >@@ -802,15 +802,20 @@ BROADCAST=192.168.1.255
> > ONBOOT=yes
> > BOOTPROTO=none
> > USERCTL=no
> >+BONDING_OPTS="mode=balance-alb miimon=100"
> >
> > 	Be sure to change the networking specific lines (IPADDR,
> > NETMASK, NETWORK and BROADCAST) to match your network configuration.
> >+You also need to set the BONDING_OPTS= line to specify the desired
> >+options for your bond0 interface.  Specifying bonding options in this
> >+way is the preferred method for configuring bonding interfaces.
> 
> 	Can you add something here that mentions that, for the
> arp_ip_target option, it has to be supplied as "arp_ip_target=+10.0.0.1"
> and not just "arp_ip_target=10.0.0.1"?  Also, multiple targets require
> multiple instances of the arp_ip_target option; it doesn't work to put
> multiple IP addresses as in the module option (i.e.,
> "arp_ip_target=10.0.0.1,10.0.0.2").
> 
> 	This is necessary because ifup-eth isn't adding the "+" when it
> translates the option for use with sysfs or parsing the multiple IP
> address syntax.
> 
> 	-J
> 

Crap, I just realized I had arp_monitor (huh?) instead of arp_ip_target.


Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
---

 bonding.txt |   53 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 1da5666..2402412 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -755,9 +755,9 @@ the system /etc/modules.conf or /etc/modprobe.conf configuration file.
 ------------------------------------------
 
 	This section applies to distros using a version of initscripts
-with bonding support, for example, Red Hat Linux 9 or Red Hat
-Enterprise Linux version 3 or 4.  On these systems, the network
-initialization scripts have some knowledge of bonding, and can be
+with bonding support, for example, Red Hat Linux 9, Red Hat Enterprise
+Linux version 3, 4 or 5, Fedora, etc.  On these systems, the network
+initialization scripts have some knowledge of bonding, and can be 
 configured to control bonding devices.
 
 	These distros will not automatically load the network adapter
@@ -802,18 +802,27 @@ BROADCAST=192.168.1.255
 ONBOOT=yes
 BOOTPROTO=none
 USERCTL=no
+BONDING_OPTS="mode=active-backup arp_ip_target=+192.168.1.254"
 
 	Be sure to change the networking specific lines (IPADDR,
 NETMASK, NETWORK and BROADCAST) to match your network configuration.
-
-	Finally, it is necessary to edit /etc/modules.conf (or
+You also need to set the BONDING_OPTS= line to specify the desired
+options for your bond0 interface.  Specifying bonding options in this
+way is the preferred method for configuring bonding interfaces.  The
+options specified in BONDING_OPTS are identical to the bonding module
+parameters except for the arp_ip_target field.  Each target should be
+included as a separate address and should be preceded by a '+' to 
+indicate it should be added to the list of queried targets.
+
+	It is no longer necessary to edit /etc/modules.conf (or
 /etc/modprobe.conf, depending upon your distro) to load the bonding
 module with your desired options when the bond0 interface is brought
 up.  The following lines in /etc/modules.conf (or modprobe.conf) will
-load the bonding module, and select its options:
+load the bonding module, and select its options but this is no longer
+the preferred method.
 
 alias bond0 bonding
-options bond0 mode=balance-alb miimon=100
+options bond0 mode=active-backup arp_ip_target=192.168.1.254
 
 	Replace the sample parameters with the appropriate set of
 options for your configuration.
@@ -826,8 +835,9 @@ up and running.
 ---------------------------------
 
 	Recent versions of initscripts (the version supplied with
-Fedora Core 3 and Red Hat Enterprise Linux 4 is reported to work) do
-have support for assigning IP information to bonding devices via DHCP.
+Fedora Core 3 and Red Hat Enterprise Linux 4 and later is reported to
+work) do have support for assigning IP information to bonding devices
+via DHCP.
 
 	To configure bonding for DHCP, configure it as described
 above, except replace the line "BOOTPROTO=none" with "BOOTPROTO=dhcp"
@@ -837,18 +847,19 @@ is case sensitive.
 3.2.2 Configuring Multiple Bonds with Initscripts
 -------------------------------------------------
 
-	At this writing, the initscripts package does not directly
-support loading the bonding driver multiple times, so the process for
-doing so is the same as described in the "Configuring Multiple Bonds
-Manually" section, below.
-
-	NOTE: It has been observed that some Red Hat supplied kernels
-are apparently unable to rename modules at load time (the "-o bond1"
-part).  Attempts to pass that option to modprobe will produce an
-"Operation not permitted" error.  This has been reported on some
-Fedora Core kernels, and has been seen on RHEL 4 as well.  On kernels
-exhibiting this problem, it will be impossible to configure multiple
-bonds with differing parameters.
+	Initscripts packages that are included with Fedora 7 and Red
+Hat Enterprise Linux 5 support multiple bonding interfaces by simply
+specifying the appropriate BONDING_OPTS= in ifcfg-bondX where X is
+the number of the bond.  Other distros may not include support in
+initscripts for multiple bonding interfaces, so you may need to follow
+the process as described in the "Configuring Multiple Bonds Manually"
+section, below.
+
+	It has been observed that much older kernels are apparently
+unable to rename modules at load time (the "-o bond1" part).  Attempts
+to pass that option to modprobe will produce an "Operation not 
+permitted" error.  On kernels exhibiting this problem, it will be 
+impossible to configure multiple bonds with differing parameters.
 
 3.3 Configuring Bonding Manually with Ifenslave
 -----------------------------------------------

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] bonding: update some distro-specific documentation
  2007-09-07 18:27 ` Jay Vosburgh
                     ` (2 preceding siblings ...)
  2007-09-17 21:53   ` Andy Gospodarek
@ 2007-09-17 23:00   ` Andy Gospodarek
  3 siblings, 0 replies; 8+ messages in thread
From: Andy Gospodarek @ 2007-09-17 23:00 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev

On Fri, Sep 07, 2007 at 11:27:49AM -0700, Jay Vosburgh wrote:
> Andy Gospodarek <andy@greyhouse.net> wrote:
> 
> 	This all looks fine except for one nit (well, request for extra
> detail, really):
> 
> >@@ -802,15 +802,20 @@ BROADCAST=192.168.1.255
> > ONBOOT=yes
> > BOOTPROTO=none
> > USERCTL=no
> >+BONDING_OPTS="mode=balance-alb miimon=100"
> >
> > 	Be sure to change the networking specific lines (IPADDR,
> > NETMASK, NETWORK and BROADCAST) to match your network configuration.
> >+You also need to set the BONDING_OPTS= line to specify the desired
> >+options for your bond0 interface.  Specifying bonding options in this
> >+way is the preferred method for configuring bonding interfaces.
> 
> 	Can you add something here that mentions that, for the
> arp_ip_target option, it has to be supplied as "arp_ip_target=+10.0.0.1"
> and not just "arp_ip_target=10.0.0.1"?  Also, multiple targets require
> multiple instances of the arp_ip_target option; it doesn't work to put
> multiple IP addresses as in the module option (i.e.,
> "arp_ip_target=10.0.0.1,10.0.0.2").
> 
> 	This is necessary because ifup-eth isn't adding the "+" when it
> translates the option for use with sysfs or parsing the multiple IP
> address syntax.
> 

Third time's the charm, right?

(an arp_interval parameter would be nice)

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
---

 bonding.txt |   53 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 1da5666..2402412 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -755,9 +755,9 @@ the system /etc/modules.conf or /etc/modprobe.conf configuration file.
 ------------------------------------------
 
 	This section applies to distros using a version of initscripts
-with bonding support, for example, Red Hat Linux 9 or Red Hat
-Enterprise Linux version 3 or 4.  On these systems, the network
-initialization scripts have some knowledge of bonding, and can be
+with bonding support, for example, Red Hat Linux 9, Red Hat Enterprise
+Linux version 3, 4 or 5, Fedora, etc.  On these systems, the network
+initialization scripts have some knowledge of bonding, and can be 
 configured to control bonding devices.
 
 	These distros will not automatically load the network adapter
@@ -802,18 +802,27 @@ BROADCAST=192.168.1.255
 ONBOOT=yes
 BOOTPROTO=none
 USERCTL=no
+BONDING_OPTS="mode=active-backup arp_interval=60 arp_ip_target=+192.168.1.254"
 
 	Be sure to change the networking specific lines (IPADDR,
 NETMASK, NETWORK and BROADCAST) to match your network configuration.
-
-	Finally, it is necessary to edit /etc/modules.conf (or
+You also need to set the BONDING_OPTS= line to specify the desired
+options for your bond0 interface.  Specifying bonding options in this
+way is the preferred method for configuring bonding interfaces.  The
+options specified in BONDING_OPTS are identical to the bonding module
+parameters except for the arp_ip_target field.  Each target should be
+included as a separate address and should be preceded by a '+' to 
+indicate it should be added to the list of queried targets.
+
+	It is no longer necessary to edit /etc/modules.conf (or
 /etc/modprobe.conf, depending upon your distro) to load the bonding
 module with your desired options when the bond0 interface is brought
 up.  The following lines in /etc/modules.conf (or modprobe.conf) will
-load the bonding module, and select its options:
+load the bonding module, and select its options but this is no longer
+the preferred method.
 
 alias bond0 bonding
-options bond0 mode=balance-alb miimon=100
+options bond0 mode=active-backup arp_interval=60 arp_ip_target=192.168.1.254
 
 	Replace the sample parameters with the appropriate set of
 options for your configuration.
@@ -826,8 +835,9 @@ up and running.
 ---------------------------------
 
 	Recent versions of initscripts (the version supplied with
-Fedora Core 3 and Red Hat Enterprise Linux 4 is reported to work) do
-have support for assigning IP information to bonding devices via DHCP.
+Fedora Core 3 and Red Hat Enterprise Linux 4 and later is reported to
+work) do have support for assigning IP information to bonding devices
+via DHCP.
 
 	To configure bonding for DHCP, configure it as described
 above, except replace the line "BOOTPROTO=none" with "BOOTPROTO=dhcp"
@@ -837,18 +847,19 @@ is case sensitive.
 3.2.2 Configuring Multiple Bonds with Initscripts
 -------------------------------------------------
 
-	At this writing, the initscripts package does not directly
-support loading the bonding driver multiple times, so the process for
-doing so is the same as described in the "Configuring Multiple Bonds
-Manually" section, below.
-
-	NOTE: It has been observed that some Red Hat supplied kernels
-are apparently unable to rename modules at load time (the "-o bond1"
-part).  Attempts to pass that option to modprobe will produce an
-"Operation not permitted" error.  This has been reported on some
-Fedora Core kernels, and has been seen on RHEL 4 as well.  On kernels
-exhibiting this problem, it will be impossible to configure multiple
-bonds with differing parameters.
+	Initscripts packages that are included with Fedora 7 and Red
+Hat Enterprise Linux 5 support multiple bonding interfaces by simply
+specifying the appropriate BONDING_OPTS= in ifcfg-bondX where X is
+the number of the bond.  Other distros may not include support in
+initscripts for multiple bonding interfaces, so you may need to follow
+the process as described in the "Configuring Multiple Bonds Manually"
+section, below.
+
+	It has been observed that much older kernels are apparently
+unable to rename modules at load time (the "-o bond1" part).  Attempts
+to pass that option to modprobe will produce an "Operation not 
+permitted" error.  On kernels exhibiting this problem, it will be 
+impossible to configure multiple bonds with differing parameters.
 
 3.3 Configuring Bonding Manually with Ifenslave
 -----------------------------------------------

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-09-17 23:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-30 21:24 [PATCH] bonding: update some distro-specific documentation Andy Gospodarek
2007-09-07 18:27 ` Jay Vosburgh
2007-09-12 18:18   ` Andy Gospodarek
2007-09-12 18:47     ` Jay Vosburgh
2007-09-12 19:40       ` Andy Gospodarek
2007-09-17 21:46   ` Andy Gospodarek
2007-09-17 21:53   ` Andy Gospodarek
2007-09-17 23:00   ` Andy Gospodarek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).