From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hariett Jones Date: Tue, 12 Oct 2004 18:44:42 +0000 Subject: [LARTC] ssh and cs LAG Message-Id: <416C261A.4010406@wp.pl> 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 have htb on 486 sx with 16mb ram. Slackware 9.1. Connection : dsl 1Mbit. 486 works as router and trafic shaper for network made of 12 pc's. it=20 does the job quite well, but when i play Counter-Strike or connect to my=20 486 via ssh (on lan), i get huge lag every 11-20 sec. when i connect to=20 486 via ssh and run iptraf program i see all the trafic, and after a=20 while when lag comes the kb/s stats reset. and iptraf shows that there=20 is only 50% bandwith usage. What could be the problem ? root@gecon:/home/bernard# cat /etc/rc.d/rc.htb #!/bin/sh HIGHSPEED=3D"19 " CLIENTS=3D"01 05 07 11 12 13 15 18 63" SLOW=3D"20 21 22" htb_start() { echo "tc qdisc add dev eth1 root handle 1: htb default 12" tc qdisc add dev eth1 root handle 1: htb default 12 echo "tc qdisc add dev eth0 root handle 2: tbf rate 230kbit latency=20 50ms burst 1540" tc qdisc add dev eth0 root handle 2: tbf rate 230kbit latency 50ms=20 burst 1540 echo "tc class add dev eth1 parent 1: classid 1:1 htb rate 1000kbit=20 ceil 1000kbit" tc class add dev eth1 parent 1: classid 1:1 htb rate 1000kbit ceil=20 1000kbit # tc class add dev eth1 parent 1: classid 1:2 htb rate 200kbit ceil 200kbit echo "Ustawianie klas" for IP in $HIGHSPEED; do echo "tc class add dev eth1 parent 1:1 classid 1:1${IP} htb rate=20 500kbit ceil 1000kbit" tc class add dev eth1 parent 1:1 classid 1:1${IP} htb rate 500kbit=20 ceil 1000kbit # tc class add dev eth1 parent 1:2 classid 1:2${IP} htb rate 20kbit=20 ceil 20kbit done =20 for IP in $CLIENTS; do echo "tc class add dev eth1 parent 1:1 classid 1:1${IP} htb rate=20 100kbit ceil 1000kbit" tc class add dev eth1 parent 1:1 classid 1:1${IP} htb rate 100kbit=20 ceil 1000kbit # tc class add dev eth1 parent 1:2 classid 1:2${IP} htb rate 20kbit=20 ceil 20kbit done for IP in $SLOW; do echo "tc class add dev eth1 parent 1:1 classid 1:1${IP} htb rate=20 50kbit ceil 1000kbit" tc class add dev eth1 parent 1:1 classid 1:1${IP} htb rate 50kbit=20 ceil 1000kbit done # dla niezakwalifikowanych gdzie indziej echo "tc class add dev eth1 parent 1:1 classid 1:100 htb rate 50kbit=20 ceil 50kbit quantum 4" tc class add dev eth1 parent 1:1 classid 1:100 htb rate 50kbit ceil=20 50kbit quantum 4 # tc class add dev eth1 parent 1:2 classid 1:200 htb rate 10kbit ceil=20 10kbit echo "Ustawianie filtr=F3w i SFQ" for IP in $HIGHSPEED; do echo "tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match=20 ip dst 192.168.0.1${IP} flowid 1:1${IP}" tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip dst=20 192.168.0.1${IP} flowid 1:1${IP} # tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip=20 src 192.168.0.1${IP} flowid 1:2${IP} echo "tc qdisc add dev eth1 parent 1:1${IP} handle 1${IP}:0 sfq=20 perturb 10" tc qdisc add dev eth1 parent 1:1${IP} handle 1${IP}:0 sfq perturb 10 # tc qdisc add dev eth1 parent 1:2${IP} handle 2${IP}:0 sfq perturb 10 done for IP in $CLIENTS; do echo "tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match=20 ip dst 192.168.0.1${IP} flowid 1:1${IP}" tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip dst=20 192.168.0.1${IP} flowid 1:1${IP} # tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip=20 src 192.168.0.1${IP} flowid 1:2${IP} echo "tc qdisc add dev eth1 parent 1:1${IP} handle 1${IP}:0 sfq=20 perturb 10" tc qdisc add dev eth1 parent 1:1${IP} handle 1${IP}:0 sfq perturb 10 # tc qdisc add dev eth1 parent 1:2${IP} handle 2${IP}:0 sfq perturb 10 done for IP in $SLOW; do echo "tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match=20 ip dst 192.168.0.1${IP} flowid 1:1${IP}" tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip dst=20 192.168.0.1${IP} flowid 1:1${IP} # tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip=20 src 192.168.0.1${IP} flowid 1:2${IP} echo "tc qdisc add dev eth1 parent 1:1${IP} handle 1${IP}:0 sfq=20 perturb 10" tc qdisc add dev eth1 parent 1:1${IP} handle 1${IP}:0 sfq perturb 10 done echo "tc filter add dev eth1 protocol ip parent 1: prio 3 u32 match ip=20 dst 192.168.0.0/24 flowid 1:100" tc filter add dev eth1 protocol ip parent 1: prio 3 u32 match ip dst=20 192.168.0.0/24 flowid 1:100 # tc filter add dev eth1 protocol ip parent 1: prio 3 u32 match ip src=20 192.168.0.0/24 flowid 1:200 echo "tc qdisc add dev eth1 parent 1:100 handle 100:0 sfq perturb 10" # tc qdisc add dev eth1 parent 1:200 handle 200:0 sfq perturb 10 } htb_stop() { echo "tc qdisc del dev eth1 root" tc qdisc del dev eth1 root echo "tc qdisc del dev eth0 root" tc qdisc del dev eth0 root } case "$1" in 'start') htb_start ;; 'stop') htb_stop ;; 'restart') htb_stop htb_start ;; *) echo "usage $0 start|stop|restart" _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/