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

Reply via email to