* [LARTC] problem with wrr+prio
@ 2004-01-19 22:05 Andrew Leiserson
0 siblings, 0 replies; only message in thread
From: Andrew Leiserson @ 2004-01-19 22:05 UTC (permalink / raw)
To: lartc
I have set up wrr successfully on my bridge/shaper machine. That much
works fine. I originally used sfq in the inner classes. However, there
was a problem with high-bandwidth connections (web downloads,
bittorrent) starving low-bandwidth low-latency connections like ssh. I
would like to use prio or similar to prioritize the interactive traffic,
but it does not seem to work. I have tested with "ping -Q 0x10" and
qualitative evaluation of ssh latency. Both tests get very bad (~ 0.5-1
sec) as soon as I start a web download. I have checked with tcpdump that
the TOS is set to 0x10. The machine is 2.4.23, with ebtables and wrr
patches. Any ideas?
Thanks.
Here is my script:
shape () {
DEV=$1
WRR_DIRECTION=$2
# clean existing down- and uplink qdiscs, hide errors
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
# install root HTB
tc qdisc add dev $DEV root handle 8000: htb default 1
tc class add dev $DEV parent 8000:0 classid 8000:1 htb \
rate ${RATE}kbit prio 2
# add wrr for correct direction, matching ip, # classes, no proxy
# remap
tc qdisc add dev $DEV parent 8000:1 handle 8001: \
wrr $WRR_DIRECTION ip $WRR_MAX_CLASSES 0
declare -i NUM=$WRR_MAX_CLASSES;
while [ $NUM -ge 1 ]; do
HNUM=$(printf %X $NUM)
tc qdisc add dev $DEV parent 8001:$HNUM handle $HNUM: prio
NUM=$NUM-1
done
tc class add dev $DEV parent 8000:0 classid 8000:2 htb prio 1 \
rate ${RATE}kbit
tc filter add dev $DEV parent 8000: protocol ip pref 10 \
u32 match ip src $LOCAL_ADDR flowid 8000:2
tc filter add dev $DEV parent 8000: protocol ip pref 10 \
u32 match ip dst $LOCAL_ADDR flowid 8000:2
tc qdisc add dev $DEV parent 8000:2 handle 8002: pfifo
tc qdisc change handle 8001 dev $DEV wrr qdisc \
wmode1=3 wmode2=0
declare -i NUM=$WRR_MAX_CLASSES;
while [ $NUM -ge 1 ]; do
HNUM=$(printf %X $NUM)
tc class change classid 8001:$HNUM dev $DEV \
wrr min1=0.5 max1=1.0 decr1=0.0000000254 \
incr1=0.00083333333 weight1=1.0 \
min2=0.1 max2=1.0 decr2=0 incr2=0 weight2=1.0
NUM=$NUM-1
done
}
shape $IFACE_IN dest
shape $IFACE_OUT sour
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-01-19 22:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-19 22:05 [LARTC] problem with wrr+prio Andrew Leiserson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.