Skip to content

Commit

Permalink
man: add ifcfg-bonding.5.md
Browse files Browse the repository at this point in the history
  • Loading branch information
cfconrad committed Jun 12, 2024
1 parent 4ed7142 commit a267825
Show file tree
Hide file tree
Showing 3 changed files with 182 additions and 87 deletions.
2 changes: 1 addition & 1 deletion man/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ man_MANS = \

generated_in_man = \
ifcfg-bond.5 \
ifcfg-bonding.5 \
ifcfg-bridge.5 \
ifcfg-dhcp.5 \
ifcfg-infiniband.5 \
Expand All @@ -47,6 +46,7 @@ generated_in_man = \
wickedd.8

generated_md_man = \
ifcfg-bonding.5 \
ifcfg-dummy.5 \
ifcfg-ipoib.5 \
ifcfg-team.5 \
Expand Down
170 changes: 84 additions & 86 deletions man/ifcfg-bonding.5.in
Original file line number Diff line number Diff line change
@@ -1,101 +1,99 @@
.\" Process this file with
.\" groff -man -Tascii foo.1
.\" Automatically generated by Pandoc 3.1.11.1
.\"
.TH IFCFG-BONDING 5 "January 2014" "wicked" "Network configuration"
.\" ...

.TH "IFCFG\-BONDING" "5" "May 6, 2024" "Wicked User Manual" ""
.SH NAME
ifcfg-bonding \- interface bonding configuration
ifcfg\-bonding \- Bonding interface configuration
.SH SYNOPSIS
.B /etc/sysconfig/network/ifcfg-*


\f[CR]/etc/sysconfig/network/ifcfg\-*\f[R]
.SH Bonding Interfaces
To setup a bonding interface you need a configuration file ifcfg-bond<X> with
the usual network settings. But you must add additional variables
To setup a bonding interface you need a configuration file ifcfg\-bond
with the usual network settings.
But you must add additional variables
.TP
.B BONDING_MASTER
must be set to 'yes' to identify this interface as a bonding interface
\f[CR]BONDING_MASTER\f[R]
Must be set to `yes' to identify this interface as a bonding interface.
.TP
.B BONDING_SLAVE_<X>
here you specify the interface name representing the slave network interfaces.

Note also: Bonding slave interfaces are reserved for the bonding and are not
usable for any another purposes (unlike e.g. interfaces used for VLANs) and
the bonding master manages the slaves itself, e.g. it sets the MAC address
on the slaves by default. To configure this accordingly, set BOOTPROTO=none
in the ifcfg file of each slave interfaces to avoid any IP or link-layer
setup on these interfaces. Wicked will apply the link settings
(e.g. for fail_over_mode=active) at enslave time.
\f[CR]BONDING_SLAVE_<X>\f[R]
Here you specify the interface name representing the slave network
interfaces.
Note also: Bonding slave interfaces are reserved for the bonding and are
not usable for any another purposes (unlike e.g.\ interfaces used for
VLANs) and the bonding master manages the slaves itself, e.g.\ it sets
the MAC address on the slaves by default.
To configure this accordingly, set BOOTPROTO=none in the ifcfg file of
each slave interfaces to avoid any IP or link\-layer setup on these
interfaces.
Wicked will apply the link settings (e.g.\ for fail_over_mode=active) at
enslave time.
.TP
.B BONDING_MODULE_OPTS
contains bonding options. Here you can set interface timeouts or working modes
('mode=active-backup' for backup mode). For additional information take a look
into the documentation mentioned at the bottom.
Note, that this options are not passed as parameters to the bonding kernel
module any more, but set via sysfs interface. This variable will be renamed
in the feature.
.TP

.SH Example
\f[CR]BONDING_MODULE_OPTS\f[R]
Contains bonding options.
Here you can set interface timeouts or working modes
(`mode=active\-backup' for backup mode).
For additional information take a look into the documentation mentioned
at the bottom.
Note, that this options are not passed as parameters to the bonding
kernel module any more, but set via sysfs interface.
This variable will be renamed in the feature.
.SH EXAMPLE
Example for a bonding interface on eth0 and eth1 using the backup mode

.I ifcfg-bond0
.nf
STARTMODE='onboot'
BOOTPROTO='static'
IPADDR='192.168.0.1/24'
BONDING_MASTER='yes'
BONDING_SLAVE_0='eth0'
BONDING_SLAVE_1='eth1'
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
.fi

.I ifcfg-eth0
.nf
STARTMODE='hotplug'
BOOTPROTO='none'
#ETHTOOL_OPTIONS='wol g'
.fi

.I ifcfg-eth1
.nf
STARTMODE='hotplug'
BOOTPROTO='none'
#ETHTOOL_OPTIONS='wol g'
.fi

\fBNote\fR, that the slaves are configured with BOOTPROTO='none', what avoids
link set UP and IP configuration of the slaves. Further also STARTMODE='hotplug',
allowing that some (all) of the slaves are allowed to be missed at boot time.
The hotplug slaves will be added to the bond as soon as are become available
(udev BUS based persistent name rule or manual ifup bond0 is required).
Wicked waits for the slaves, but when there is no slave available
at bonding start time (boot time), the bonding creation will fail and also
.PP
\f[I]ifcfg\-bond0\f[R]
.IP
.EX
STARTMODE=\[aq]onboot\[aq]
BOOTPROTO=\[aq]static\[aq]
IPADDR=\[aq]192.168.0.1/24\[aq]
BONDING_MASTER=\[aq]yes\[aq]
BONDING_SLAVE_0=\[aq]eth0\[aq]
BONDING_SLAVE_1=\[aq]eth1\[aq]
BONDING_MODULE_OPTS=\[aq]mode=active\-backup miimon=100\[aq]
.EE
.PP
\f[I]ifcfg\-eth0\f[R]
.IP
.EX
STARTMODE=\[aq]hotplug\[aq]
BOOTPROTO=\[aq]none\[aq]
#ETHTOOL_OPTIONS=\[aq]wol g\[aq]
.EE
.PP
\f[I]ifcfg\-eth1\f[R]
.IP
.EX
STARTMODE=\[aq]hotplug\[aq]
BOOTPROTO=\[aq]none\[aq]
#ETHTOOL_OPTIONS=\[aq]wol g\[aq]
.EE
.PP
\f[B]Note\f[R], that the slaves are configured with BOOTPROTO=`none',
what avoids link set UP and IP configuration of the slaves.
Further also \f[CR]STARTMODE=\[aq]hotplug\[aq]\f[R], allowing that some
(all) of the slaves are allowed to be missed at boot time.
The hotplug slaves will be added to the bond as soon as are become
available (udev BUS based persistent name rule or manual ifup bond0 is
required).
Wicked waits for the slaves, but when there is no slave available at
bonding start time (boot time), the bonding creation will fail and also
wicked will report an error.

.SH Additional Information

For additional and more general information take a look into
.BR http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
or
.BR /usr/src/linux/Documentation/networking/bonding.txt.
http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
or /usr/src/linux/Documentation/networking/bonding.txt.
Maybe you need to install the kernel sources to get this additional
documentation.

The configuration of routes for this kind of interface does not differ from
ordinary interfaces. See
.I man routes
for details.

.PP
The configuration of routes for this kind of interface does not differ
from ordinary interfaces.
See \f[CR]man routes\f[R] for details.
.SH COPYRIGHT
Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
Copyright (C) 2014\-2024 SUSE LLC
.SH BUGS
Please report bugs as described at <@PACKAGE_BUGREPORT@>
.SH AUTHOR
.nf
Wilken Gottwalt -- original bonding man page
.fi
.SH "SEE ALSO"
.BR ifcfg (5),
.BR wicked (8).
Please report bugs at \c
.UR http://bugs.opensuse.org
.UE \c
.SH SEE ALSO
\f[B]\f[CB]routes\f[B]\f[R] (5), \f[B]\f[CB]ifcfg\f[B]\f[R] (5),
\f[B]\f[CB]wicked\f[B]\f[R] (8)
.SH AUTHORS
Wilken Gottwalt \[en] original bonding man page.
97 changes: 97 additions & 0 deletions man/src/ifcfg-bonding.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
% IFCFG-BONDING(5) Wicked User Manual
% Wilken Gottwalt -- original bonding man page
% May 6, 2024

# NAME
ifcfg-bonding - Bonding interface configuration

# SYNOPSIS
`/etc/sysconfig/network/ifcfg-*`


# Bonding Interfaces

To setup a bonding interface you need a configuration file ifcfg-bond<X> with
the usual network settings. But you must add additional variables

`BONDING_MASTER`
: Must be set to 'yes' to identify this interface as a bonding interface.

`BONDING_SLAVE_<X>`
: Here you specify the interface name representing the slave network interfaces.
Note also: Bonding slave interfaces are reserved for the bonding and are not
usable for any another purposes (unlike e.g. interfaces used for VLANs) and
the bonding master manages the slaves itself, e.g. it sets the MAC address
on the slaves by default. To configure this accordingly, set BOOTPROTO=none
in the ifcfg file of each slave interfaces to avoid any IP or link-layer
setup on these interfaces. Wicked will apply the link settings
(e.g. for fail_over_mode=active) at enslave time.

`BONDING_MODULE_OPTS`
: Contains bonding options. Here you can set interface timeouts or working modes
('mode=active-backup' for backup mode). For additional information take a look
into the documentation mentioned at the bottom.
Note, that this options are not passed as parameters to the bonding kernel
module any more, but set via sysfs interface. This variable will be renamed
in the feature.


# EXAMPLE

Example for a bonding interface on eth0 and eth1 using the backup mode

*ifcfg-bond0*
```
STARTMODE='onboot'
BOOTPROTO='static'
IPADDR='192.168.0.1/24'
BONDING_MASTER='yes'
BONDING_SLAVE_0='eth0'
BONDING_SLAVE_1='eth1'
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
```

*ifcfg-eth0*
```
STARTMODE='hotplug'
BOOTPROTO='none'
#ETHTOOL_OPTIONS='wol g'
```

*ifcfg-eth1*
```
STARTMODE='hotplug'
BOOTPROTO='none'
#ETHTOOL_OPTIONS='wol g'
```

**Note**, that the slaves are configured with BOOTPROTO='none', what avoids
link set UP and IP configuration of the slaves. Further also `STARTMODE='hotplug'`,
allowing that some (all) of the slaves are allowed to be missed at boot time.
The hotplug slaves will be added to the bond as soon as are become available
(udev BUS based persistent name rule or manual ifup bond0 is required).
Wicked waits for the slaves, but when there is no slave available
at bonding start time (boot time), the bonding creation will fail and also
wicked will report an error.

# Additional Information

For additional and more general information take a look into
http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
or
/usr/src/linux/Documentation/networking/bonding.txt.
Maybe you need to install the kernel sources to get this additional
documentation.

The configuration of routes for this kind of interface does not differ from
ordinary interfaces. See `man routes` for details.


# COPYRIGHT
Copyright (C) 2014-2024 SUSE LLC

# BUGS
Please report bugs at <http://bugs.opensuse.org>

# SEE ALSO
**`routes`** (5), **`ifcfg`** (5), **`wicked`** (8)

0 comments on commit a267825

Please sign in to comment.