Hello folks, I'm hoping someone can help me here. I'll try to describe the problem in detail.<br><br>I'm attempting to set up a bridging firewall using libipq. I'm running on Ubuntu Server 7.04, out of the box kernel (2.6.20)<br>My bridge is set up with the following commands:<br>--<br>brctl addbr br0 <br>brctl stp br0 off<br>brctl addif br0 eth1<br>brctl addif br0 eth2<br>ifconfig eth1 down<br>ifconfig eth2 down<br>ifconfig eth1 0.0.0.0 up<br>ifconfig eth2 0.0.0.0 up<br>ifconfig br0 0.0.0.0 up<br>--<br><br>IP queue is set up with the following:<br>--<br>iptables -A FORWARD -j QUEUE<br>modprobe ip_queue<br>--<br><br><br>The bridge works fine. Traffic is sent back and forth. My libipq app can see traffic and stop it. However, one thing I would like to be able to find out in user space is which interface a packet arrived on (ie/ which direction it's going). As far as IPQ is concerned, all packets are arriving and leaving on br0.<br>After reading a bit more about netfilter, iptables and the FIREWALL document distributed with brctl, I figured my best bet would be do something like this:<br>iptables -A INPUT -i eth1 -j MARK --set-mark 1<br>iptables -A INPUT -i eth2 -j MARK --set-mark 2<br><br>This way I could just check the mark value when the packet got sent to QUEUE (and up to user space) from the FORWARD chain. However, this doesn't work. From everything I can tell, packets traversing the bridge do not even go through the INPUT chain, as I can put in this rule:<br>iptables -A INPUT -j DROP<br><br>yet traffic still flows through fine (as long as my libipq app is running).<br><br><br>Does anyone here have any ideas? I would really appreciate any suggestions.<br><br>Cheers,<br>David Vessey<br><br>