All of lore.kernel.org
 help / color / mirror / Atom feed
From: Justin Schoeman <justin@expertron.co.za>
To: lartc@vger.kernel.org
Subject: [LARTC] Interesting oopses...
Date: Mon, 29 Nov 2004 08:57:40 +0000	[thread overview]
Message-ID: <41AAE484.2020807@expertron.co.za> (raw)

OK - this is starting to get frustrating... Are there any known issues 
with 2.6.9 and traffic shaping?  I am using 2.6.9 with geoip 20041115, 
and get odd oopses.  The following script oopses my box:

-----------------------------------------------------

#!/bin/sh -x

IFOUT='eth1'
IFIN='eth0'

TC='/sbin/tc'
IPT='/usr/local/sbin/iptables'

# BW definitions:
# units of kbit/s

NETBW\x10000
OUTBW\x116
INBW\x116

# Clear old shapers...
echo "Clearing old shapers..."
$TC qdisc del dev $IFIN root 2> /dev/null > /dev/null
$TC qdisc del dev $IFOUT root 2> /dev/null > /dev/null

# Clear old iptables...
echo "Clearing old iptables..."
$IPT -t mangle -F POSTROUTING
$IPT -t mangle -F NATI
$IPT -t mangle -X NATI
$IPT -t mangle -N NATI
$IPT -t mangle -F INAT
$IPT -t mangle -X INAT
$IPT -t mangle -N INAT

# Match local traffic
$IPT -t mangle -A POSTROUTING -s 10.0.0.0/8 -d 10.0.0.0/8 -j CLASSIFY 
--set-class 1:1
$IPT -t mangle -A POSTROUTING -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
# Classify local / international traffic
$IPT -t mangle -A POSTROUTING -s 10.0.0.0/8 -m geoip --dst-cc ZA -j NATI
$IPT -t mangle -A POSTROUTING -s 196.23.147.49/32 -m geoip --dst-cc ZA 
-j NATI
$IPT -t mangle -A POSTROUTING -d 10.0.0.0/8 -m geoip --src-cc ZA -j NATI
$IPT -t mangle -A POSTROUTING -d 196.23.147.49/32 -m geoip --src-cc ZA 
-j NATI
$IPT -t mangle -A POSTROUTING -j INAT

# Rules for international traffic
$IPT -t mangle -A INAT -j CLASSIFY --set-class 20:100
$IPT -t mangle -A INAT -j ACCEPT
# Rules for local traffic
$IPT -t mangle -A NATI -j CLASSIFY --set-class 20:200
$IPT -t mangle -A NATI -j ACCEPT

# Build output rules
$TC qdisc add dev $IFOUT root handle 1: prio bands 2 priomap 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1
$TC qdisc add dev $IFOUT parent 1:1 handle 10: pfifo limit 10
$TC qdisc add dev $IFOUT parent 1:2 handle 20: htb default 100 r2q 1
$TC class add dev $IFOUT parent 20: classid 20:10 htb rate ${OUTBW}kbit 
ceil ${OUTBW}kbit prio 0
$TC class add dev $IFOUT parent 20:10 classid 20:100 htb rate 60kbit 
ceil 60kbit prio 0
$TC class add dev $IFOUT parent 20:10 classid 20:200 htb rate 56kbit 
ceil ${OUTBW}kbit prio 1
$TC qdisc add dev $IFOUT parent 20:100 handle 100: pfifo limit 10
$TC qdisc add dev $IFOUT parent 20:200 handle 200: pfifo limit 10

# Build input rules
$TC qdisc add dev $IFIN root handle 1: prio bands 2 priomap 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1
$TC qdisc add dev $IFIN parent 1:1 handle 10: pfifo limit 10
$TC qdisc add dev $IFIN parent 1:2 handle 20: htb default 100 r2q 1
$TC class add dev $IFIN parent 20: classid 20:10 htb rate ${INBW}kbit 
ceil ${INBW}kbit prio 0
$TC class add dev $IFIN parent 20:10 classid 20:100 htb rate 60kbit ceil 
60kbit prio 0
$TC class add dev $IFIN parent 20:10 classid 20:200 htb rate 56kbit ceil 
${INBW}kbit prio 1
$TC qdisc add dev $IFIN parent 20:100 handle 100: pfifo limit 10
$TC qdisc add dev $IFIN parent 20:200 handle 200: pfifo limit 10

---------------------------------

The script as-is oopses my box every time. If I changed the initial 
classification for local traffic from 1:1 to 10: (an initial 
misunderstanding ;-) ), then it does not oops.

If, instead of a prio qdisc, I use a single HTB class for distributing 
local and external traffic, then it also works, but after a while, one 
of the classes will simply stop sending traffic...

Does anybody have any idea what is going on here?

Thanks,
-justin
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

             reply	other threads:[~2004-11-29  8:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-29  8:57 Justin Schoeman [this message]
2004-12-19 18:22 ` [LARTC] Interesting oopses bert hubert
2004-12-22 13:19 ` Andy Furniss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41AAE484.2020807@expertron.co.za \
    --to=justin@expertron.co.za \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.