I have setup ethernet bridge br0 that contains two interfaces eth0 and tap0
brctl addbr br0
brctl addif eth0
brctl addif tap0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
My default FORWARD chain policy is DROP
iptables -P FORWARD DROP
When i do not add following rule the traffic is not passing through bridge.
iptables -A FORWARD -p all -i br0 -j ACCEPT
As far as I understand iptables is only responsible for IP layer.
ebtables should be responsible for filtering traffic on the ethernet bridge.
So why do I have to add ACCEPT rule in iptable's FORWARD chain?