From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viktor Horvath Date: Wed, 02 Feb 2005 03:02:08 +0000 Subject: [LARTC] can't understand strange PRIO behaviour Message-Id: <1107315964.718.20.camel@Charon> MIME-Version: 1 Content-Type: multipart/mixed; boundary="=-QfdLKD1ivnqbH5pi1aAo" List-Id: To: lartc@vger.kernel.org --=-QfdLKD1ivnqbH5pi1aAo Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello everybody, sorry for bothering you, but after some hours, I'm stuck. I'm living in a student's foundation where I want to connect lots of people to a tiny DSL link. We have exactly four types of traffic. We want a really hard PRIO solution (as I promised to someone that group X will only use the link capacity which isn't used by group Y). I could make a PRIO with four classes, but as I want to separate first by MAC address in two groups and separate each group another time afterwards, I decided to put two PRIOs after the main one: PRIO 1: / \ / \ PRIO 10: PRIO 20: / \ / \ / \ / \ SFQ 110: SFQ 120: SFQ 210: SFQ 220: My problem now is, that my filters don't work. In fact, I wrote only one, and all packages get elsewhere, but not in the flow I commanded. Strangely, tc says that my rule is successfully matched. Here are the proofs, my rule filters to flowid 10:2, but everything goes to 20:1. Have I made an error? Am I missing some kernel feature? My versions: Kernel 2.6.10 and newest iproute from Debian unstable (20041019-2). Thank you for reading, Viktor. --------> CONFIGURATION SCRIPT <-------- # Create the main PRIO qdisc tc qdisc add dev ppp0 root handle 1: prio bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # Create the two PRIO sub-qdiscs tc qdisc add dev ppp0 parent 1:1 handle 10: prio bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 tc qdisc add dev ppp0 parent 1:2 handle 20: prio bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # Create the four subclasses tc qdisc add dev ppp0 parent 10:1 handle 110: sfq tc qdisc add dev ppp0 parent 10:2 handle 120: sfq tc qdisc add dev ppp0 parent 20:1 handle 210: sfq tc qdisc add dev ppp0 parent 20:2 handle 220: sfq # Filters for classifying # catch-all tc filter add dev ppp0 protocol ip parent 1: prio 2 u32 match ip src 0.0.0.0/0 flowid 10:2 --------> OUTPUT "tc -s qdisc show dev ppp0" <-------- qdisc prio 1: bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sent 5321336 bytes 9407 pkts (dropped 0, overlimits 0)=20 qdisc prio 10: parent 1:1 bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sent 2160 bytes 2 pkts (dropped 0, overlimits 0)=20 qdisc prio 20: parent 1:2 bands 2 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sent 5319176 bytes 9405 pkts (dropped 0, overlimits 0)=20 qdisc sfq 110: parent 10:1 limit 128p quantum 1452b=20 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)=20 qdisc sfq 120: parent 10:2 limit 128p quantum 1452b=20 Sent 0 bytes 0 pkts (dropped 0, overlimits 0)=20 qdisc sfq 210: parent 20:1 limit 128p quantum 1452b=20 Sent 5319176 bytes 9405 pkts (dropped 0, overlimits 0)=20 qdisc sfq 220: parent 20:2 limit 128p quantum 1452b=20 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) --------> OUTPUT "tc -s filter show dev ppp0" (bit later) <-------- filter parent 1: protocol ip pref 2 u32=20 filter parent 1: protocol ip pref 2 u32 fh 800: ht divisor 1=20 filter parent 1: protocol ip pref 2 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 10:2 (rule hit 13430 success 13430) match 00000000/00000000 at 12 (success 13430 ) --=-QfdLKD1ivnqbH5pi1aAo Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQBCAEz8O3SWVYLvaJQRAoamAKCJLLiov6+b+oOUgg235qRcjFLlCgCeJ/fw wVWn6UL9ikwwT/IBMHvGjW4= =7gVc -----END PGP SIGNATURE----- --=-QfdLKD1ivnqbH5pi1aAo-- _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/