I'm trying to prioritize interactive traffic over other traffic on my 56k dialup link. I wrote some chains to set the ToS in PREROUTING and OUTGOING, and I'm using a PRIO queue with three SFQ children: iptables -A OUTPUT -t mangle -p tcp --dport ftp-data -j TOS --set-tos Maximize-throughput iptables -A OUTPUT -t mangle -p tcp --dport domain -j TOS --set-tos Maximize-throughput iptables -A OUTPUT -t mangle -p tcp --dport www -j TOS --set-tos Maximize-throughput iptables -A OUTPUT -t mangle -p tcp --dport smtp -j TOS --set-tos Minimize-cost iptables -A OUTPUT -t mangle -p tcp --dport telnet -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport ssh -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p udp --dport domain -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport ftp -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport 5900 -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport imaps -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport 9898 -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport 5190 -j TOS --set-tos Minimize-delay iptables -A OUTPUT -t mangle -p tcp --dport 6667 -j TOS --set-tos Minimize-delay tc qdisc add dev $DEV root handle 1: prio tc qdisc add dev $DEV parent 1:1 handle 10: sfq perturb 5 # interactive tc qdisc add dev $DEV parent 1:2 handle 20: sfq perturb 5 # throughput tc qdisc add dev $DEV parent 1:3 handle 30: sfq perturb 5 # lowcost According to tcpdump, the ToS bits are indeed being set like I asked, but "watch tc -s qdisc show dev ppp0" shows that everything is going into the "througput" queue regardless. The only traffic that increments the counter for the "interactive" queue is post-handshake SSH traffic, and from what I've read, SSH sets the ToS explicitly. What am I doing wrong? -- Jacob Elder http://www.lucidpark.net/