From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Pearson Date: Fri, 31 Mar 2006 15:04:30 +0000 Subject: [LARTC] __Very__ Low Bandwidth Message-Id: <442D44FE.7070105@infomatrix.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: lartc@vger.kernel.org I am using the script below to simulate a very low bandwidth connection.=20 I found that I could turn the bandwidth knob down to about 4kbit, but=20 below that I didn't get any traffic through. I've had a look at this=20 generally, but couldn't find an answer. It doesn't even seem like the=20 first reply packet gets through. I have tried it with much bigger=20 buffers, but this doesn't help. I found that if I put a web proxy on the machine that is running this,=20 then the minimum I can turn the bandwidth down to is 12kbit and below=20 that the web browser doesn't get anything back. Is this because the delay is so great that things are getting thrown=20 away by the kernel? Could I munge the packets to turn up the TTL or=20 something similar? Many thanks for some excellent tools. Matthew Pearson #!/bin/bash CLIENT1=192.168.1.190/32 CLIENT2=192.168.1.191/32 OPER=ADd; DEV=3Deth0 RATE=3D3kbit PEAKRATE=3D3kbit BUFFER1=10kb BUFFER2=10kb echo -e "Attach Egress policy..." tc qdisc $OPER dev $DEV root handle 1:0 htb default 15 tc class $OPER dev $DEV parent 1:0 classid 1:1 htb rate 240kbit tc class $OPER dev $DEV parent 1:1 classid 1:2 htb rate 240kbit ceil 240kbit tc class $OPER dev $DEV parent 1:1 classid 1:3 htb rate 240kbit ceil 240kbit tc class $OPER dev $DEV parent 1:1 classid 1:15 htb rate 240kbit ceil=20 240kbit tc qdisc $OPER dev $DEV parent 1:2 handle 2:0 tbf rate $RATE burst $RATE=20 limit $BUFFER1 peakrate $PEAKRATE mtu 1600 tc qdisc $OPER dev $DEV parent 1:3 handle 3:0 tbf rate $RATE burst $RATE=20 limit $BUFFER2 peakrate $PEAKRATE mtu 1600 tc filter $OPER dev $DEV protocol ip parent 1:0 u32 match ip dst=20 $CLIENT1 flowid 1:2 tc filter $OPER dev $DEV protocol ip parent 1:0 u32 match ip dst=20 $CLIENT2 flowid 1:3 echo -e "Attach Ingress policy..." tc qdisc $OPER dev $DEV handle ffff: ingress tc filter $OPER dev $DEV parent ffff: protocol ip u32 match ip src=20 $CLIENT1 police rate $RATE buffer $BUFFER1 drop flowid :1 tc filter $OPER dev $DEV parent ffff: protocol ip u32 match ip src=20 $CLIENT2 police rate $RATE buffer $BUFFER2 drop flowid :2 echo -e "Status Information:\nShowing QDiscs...\n" tc qdisc show echo -e "Showing classes...\n" tc class show dev $DEV echo -e "Showing filters...\n" tc filter show dev $DEV echo -e "Finished.\n" _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc