We need Linux to know about the bridge. First tell it that we want one virtual 
ethernet bridge interface: (this is to be executed on host bridge, of course. 
See 
Testing grounds)
root@bridge:~> brctl addbr br0
        
root@bridge:~> brctl stp br0 off
        
br0. 
root@bridge:~> brctl addif br0 eth0
root@bridge:~> brctl addif br0 eth1
        
People sent me emails that it would have helped them if I stressed more 
clearly the risk of being cut off. So listen at this point to my 
warnings:
If you read this, you are one (small) step before you _might_ cut 
yourself off your box you are going to subverse to a bridging device.
If you love living on bleeding edges, it is now the instant to prepare 
your first aid material. You will likely need it.
If you do not have physical access, nor does another person within your
range: 
DO NOT PROCEED UNLESS YOUR FINGERS LEFT THE KEYBOARD IN FRONT OF YOU 
AND YOUR EYES FIXED REFLECTIVELY SOMETHING OTHER THAN YOUR CONSOLE.
You have been warned, now. No responsability is assumed for anything 
at all.
root@bridge:~> ifconfig eth0 down
root@bridge:~> ifconfig eth1 down
root@bridge:~> ifconfig eth0 0.0.0.0 up
root@bridge:~> ifconfig eth1 0.0.0.0 up
        
We tell Linux the new (logical) interface and associate one single IP with it:
root@bridge:~> ifconfig br0 10.0.3.129 up
        
In case we are configuring a gateway we enable the forwarding in the linux kernel.
root@bridge:~> echo "1" > /proc/sys/net/ipv4/ip_forward
        
root@bridge:~> route add default gw 10.0.3.129
        
Aka: We need the changes to persist reboots.
To do so, you need some sh-style script and put this in the appropriate 
system boot-up directory: /etc/init.d/
Secondly, you create the link in your runlevel directory.
The correct directory depends on your gusto and of course on your linux 
distribution. 
Common runlevel values on workstations are 2, 3 and 5.
Examples are: /etc/rc?.d/ (replace the ? with the right runlevel)
Also, you need an idea as when your network interfaces are torn up.
For now, we assume, your network interfaces are activated at system priority 
S so we need not to care of.
If you ever should feel the need to know exactly, look in /etc/rcS.d/.
We just want the bridge to be up and operable as soon as possible and so chose 
our priority to be 10. (Make sure, no service requiring bridging devices 
is started before, read: with priority-values less than 10)
For now, we assume, your runlevel is 5:
root@bridge:~> mv -i bridge.sh /etc/init.d/
root@bridge:~> cd /etc/rc5.d/
root@bridge:~> ln -s ../init.d/bridge.sh S10bridge.sh
        
#!/bin/bash
PATH="/sbin:/usr/sbin:/usr/local/sbin";
slaveIfs="1 2 3 4 6 7 8 9 10";
cmd="$1";
[ -z "$cmd" ] && cmd="start";
case "$cmd" in
  start)
    brctl addbr br0;
    brctl stp br0 on;
    brctl addif br0 eth0;
    brctl addif br0 eth1;
    (ifdown eth0 1>/dev/null 2>&1;);
    (ifdown eth1 1>/dev/null 2>&1;);
    ifconfig eth0 0.0.0.0 up;
    ifconfig eth1 0.0.0.0 up;
    ifconfig br0 10.0.3.129 broadcast 10.0.3.255 netmask 255.255.255.0 up ### Adapt to your needs.
    route add default gw 10.0.3.129; ### Adapt to your needs.
    for file in br0 eth0 eth1;
    do
      echo "1" > /proc/sys/net/ipv4/conf/${file}/proxy_arp;
      echo "1" > /proc/sys/net/ipv4/conf/${file}/forwarding;
    done;
    echo "1" > /proc/sys/net/ipv4/ip_forward;
    ;;
  stop)
    brctl delif br0 eth0;
    brctl delif br0 eth1;
    ifconfig br0 down;
    brctl delbr br0;
    #ifup eth0; ### Adapt to your needs.
    #ifup eth1; ### Adapt to your needs.
    ;;
  restart,reload)
    $0 stop;
    sleep 3;
    $0 start;
    ;;
esac;
        
root@bridge:~> chmod 700 /etc/init.d/bridge.sh