I had IMQ running smoothly for nearly 4 hours, then
my linux box started alarming as if the CPU had overheated (which was not the
case). The box was completely locked up. I'm not sure if this is an IMQ related
problem or what. I'm leaning toward an IMQ problem since I've not had a problem
like this before and have been running iproute2/iptables for 8+ months
now.
After a hard reboot, I scanned through the messages
log and found this error message moments before the crash had
occurred.
kernel: KERNEL: assertion (tp->retrans_out == 0)
failed at tcp_input.c(1614)
My system specs:
P3 933 mHz
512 MB PC133
RH 9.0
iptables-1.2.8
iproute-2.4.7-7
The following is my IMQ/HTB/SFQ setup:
##Remove ALL tc qdiscs and classes first by
deleting root handle
tc qdisc del dev imq0 root > /dev/null
2>&1 #remove any imq qdiscs
##Add HTB Root Handle
tc qdisc add dev imq0 root
handle 1: htb default 20
##Add Primary Parent
tc class add dev imq0
parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
##Add Prmary
Children
tc class add dev imq0 parent 1:1 classid 1:10 htb rate
50mbit ceil 50mbit
tc qdisc add dev imq0
parent 1:10 handle 10: sfq perturb 10
tc class add dev imq0
parent 1:1 classid 1:20 htb rate 128kbit ceil
128kbit
tc qdisc add dev imq0 parent 1:20
handle 20: sfq perturb 10
tc filter add dev imq0 parent 1: protocol ip handle
5 fw flowid 1:10
$IPTABLES -A PREROUTING -t mangle --src X.X.X.X/X -j MARK --set-mark
5
$IPTABLES -A PREROUTING -t mangle --dst X.X.X.X/X -j MARK --set-mark
5
$IPTABLES -A PREROUTING -t mangle -j IMQ --todev 0 #Send all packets
passing through
$IPTABLES -A POSTROUTING -t mangle -j IMQ --todev 0 #mangle
table to IMQ device
Any help would be greatly appreciated.
Regards,
Walt