On Tue, Feb 01, 2011 at 07:40:06PM +0200, Volkan YAZICI wrote: > On Tue, 1 Feb 2011 09:16:16 -0500, Gregory Seidman writes: [...] > Thanks Greg, but there is a small anomaly with this method. For > instance, if I > > 1. issue > > $ pv -q -L 10k /tmp/200k.dat | nc 192.168.1.1 7000 > > from terminal A, > > 2. and after a few seconds issue > > # iptables -A OUTPUT -i wlan0 -j DROP && \ > > sleep 2 && \ > > iptables -D OUTPUT -i wlan0 -j DROP > > command (pay attention that I used OUTPUT chain instead of > {PRE,POST}ROUTING), as expected, transfer hangs up for 2 seconds, and > finishes without a problem.
I note that you are only doing this once, so there is a 2 second interruption as expected. > On the other hand, in the 2nd step, if I issue > > # while /bin/true; do \ > > iptables -A OUTPUT -i wlan0 -j DROP && \ > > usleep 100000 && \ > > iptables -D OUTPUT -i wlan0 -j DROP > > command (usleep is a small C program I wrote, see the attachment), > transfer hangs after some point and stops for ~30-40secs and finishes > when I stop the while loop. Do I miss anything? Any suggestions? Here you are interrupting for 100,000 usecs (which is 100msecs, I believe), but you don't sleep at all between interruptions in the while loop. That means that it only has the time between the execution of the iptables command at the end of the loop and the execution of the iptables command at the beginning of the loop to actually transmit any packets. It is unsurprising that it hangs. Make sure you sleep for a while after removing the iptables rule. > Best. --Greg -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110201181515.gh11...@anthropohedron.net