From Fedora Project Wiki

Using iproute2 (runtime only)

Example configuration:

master=bridge0
slave=eth0

Create a bridge:

ip link add $master type bridge

Enslave an ethernet device:

ip link set $slave master $master

Release an ethernet device:

ip link set $slave nomaster

Remove a bridge:

ip link delete $master

Using NetworkManager (permanent)

NetworkManager in Fedora 18+ already has some support for bridging. As of 2012-04-02, it is far from perfect but at least there's something to experiment with. Please file bug reports to the upstream bugzilla and link them here.

Using configuration files (keyfile)

Bridge:

[connection]
id=Bridge
uuid=fc61f6e5-8900-4c6f-915c-eb55714eb874
interface-name=bridge0
type=bridge
autoconnect=false

[bridge]
interface-name=bridge0

Slave:

[connection]
id=Slave
uuid=2e1906b1-92a4-4206-b2d3-eecfd07241e9
type=802-3-ethernet
master=fc61f6e5-8900-4c6f-915c-eb55714eb874
slave-type=bridge

[802-3-ethernet]
mac-address=52:54:00:8e:93:da

Bug reports:

Using configuration files (ifcfg)

ifcfg-Bridge:

UUID=fc61f6e5-8900-4c6f-915c-eb55714eb874
TYPE=bridge
DEVICE=bridge0

ifcfg-Slave:

UUID=2e1906b1-92a4-4206-b2d3-eecfd07241e9
TYPE=Ethernet
HWADDR=52:54:00:8e:93:da
BRIDGE=fc61f6e5-8900-4c6f-915c-eb55714eb874

Note: I haven't tested this particular configuration. Feel free to test and adjust.

Using command-line interface (nmcli)

Warning: This is new development and it be available with NM 0.9.10 or an earlier snapshot.

SLAVE_MAC=00:aa:bb:cc:dd:ee

nmcli connection add name Bridge type bridge iface testbridge
nmcli connection add name Slave type ethernet mac $SLAVE_MAC