I've been struggling with this problem for a few days now, and finally decided to try the forums after exhausting any other sources I could find.
I run a simple bridge on FC6 using brctl and ebtables. The purpose is to only allow VNC and rsync traffic from one computer (called tomo) on the outside to any box on the inside. Sounds simple enough, I could do it in my sleep after all the howtos and man pages I've read in the last while.
Two problems, though.
1) If I reboot the bridge, ifconfig _claims_ that everything is up and running. However, nothing goes through. This is not because of ebtables - the problem can be reproduced without ebtables being active and it can work with ebtables running. It starts working again if the network interfaces are restarted, i.e.
Code:
ifconfig br0 down
ifconfig br0 up
ifconfig eth0 down
ifconfig eth0 up
ifconfig eth1 down
ifconfig eth1 up
So, use a cheap hack and put those commands into /etc/rc.local. It's not at all pretty, but it works. However:
2) If I reboot tomo, the exact same thing happens. Once again I can fix it by restarting the bridge interfaces, but I can't tell the bridge to restart them automatically.
So, the question is basically: Why is it doing this, and how do I fix it (preferably not a cheap hack

)
Some important things that might help with the debug:
/etc/sysconfig/network-scripts/ifcfg-br0
Code:
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
TYPE=Bridge
/etc/sysconfig/network-scripts/ifcfg-eth0
Code:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
BRIDGE=br0
HWADDR=00:04:blah blah
/etc/sysconfig/network-scripts/ifcfg-eth1
Code:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
BRIDGE=br0
HWADDR=00:04:blah blah
Relevent bits of /etc/rc.local
Code:
#don't know how to set promisc in network-scripts
ifconfig eth0 promisc
ifconfig eth1 promisc
echo Initialising ebtables
/root/ebtables/ebscript
#Fix bridge problems
sleep 30 && ifconfig br0 down && ifconfig br0 up && ifconfig eth0 down && ifconfig eth0 up && ifconfig eth1 down && ifconfig eth1 up &
Thanks in advance.