From Fedora Project Wiki

I haven't yet tested this and the following configuration is reported to be broken through the mailing list. But, eventually, this page will include a working and tested configuration.

Using iproute2

Bond devices can be easily adding using the ip command. This way is suitable for testing.

master=my-bond

ip link add $master type bond

Enslaving devices works the same as for bridging:

master=my-bond
slave=eth0

ip link set $slave master $master

Using NetworkManager since 0.9.8 (native configuration)

TODO: Test the configuration.

/etc/NetworkManager/system-connections/Bond:

[connection]
id=Bond
uuid=f77ad31a-5b83-4b70-a355-5a76220b2fb6
type=bond
interface-name=testbond
autoconnect=false
[bond]
interface-name=testbond

/etc/NetworkManager/system-connections/BondSlave:

[connection]
id=BondSlave
uuid=6c8ca7ff-7e45-4ace-88e7-67f0e9b1b149
type=802-3-ethernet
master=f77ad31a-5b83-4b70-a355-5a76220b2fb6
slave-type=bond
[802-3-ethernet]
mac-address=02:aa:bb:cc:dd:ee

Note that you have to set up the correct MAC for to match BondSlave to the right Ethernet interface. You should generate one uuid for Bond and but it to BondSlave's master option and one uuid for BondSlave.

Using NetworkManager since 0.9.8 (ifcfg-rh configuration plugin)

TODO: Fix and simplify the following configuration.

# cat ifcfg-bond0
DEVICE=bond0
BOOTPROTO=dhcp
ONBOOT=yes
NM_CONTROLLED="yes"
BONDING_MASTER="yes"
BONDING_OPTS="miimon=50 mode=balance-tlb"

# cat ifcfg-em3
BOOTPROTO="none"
DEVICE="em3"
ONBOOT="yes"
MASTER="bond0"
SLAVE="yes"
TYPE=Ethernet
NM_CONTROLLED="yes"

This won't work!