[LARTC] Adding dsmark qdisc fails
Title: Adding dsmark qdisc fails I'm having a problem identical to one encountered on this list awhile back: I'm trying to configure dsmark qdisc on 2.6.11.4 user mode linux and tc from iproute2-2.6.11-050314. I think I have some mismatch in my setup since adding dsmark qdisc fails *unless* I specify "set_tc_index" argument which I believe should be optional: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 8 RTNETLINK answers: Invalid argument Mar 20 13:00:50 user user.debug kernel: dsmark_init(sch a0bb3ae0,[qdisc a0bb3b60],opt ) here the log shows that opt is null, sch_dsmark checks for that and bails out. However running tc with "set_tc_index" goes ok: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 8 set_tc_index Mar 20 13:01:12 user user.debug kernel: dsmark_init(sch a0bb3060,[qdisc a0bb30e0],opt a038e9d0) Mar 20 13:01:12 user user.debug kernel: dsmark_init: qdisc a0bb30e0 # tc qdisc show dev eth1 qdisc dsmark 1: indices 0x0008 set_tc_indexbut then changing the class fails: # tc class change dev eth1 classid 1:1 dsmark mask 0x0 value 0xb8 RTNETLINK answers: Invalid argument Mar 20 13:02:28 user user.debug kernel: dsmark_get(sch a0bb3060,[qdisc a0bb30e0],classid 10001) Mar 20 13:02:28 user user.debug kernel: dsmark_change(sch a0bb3060,[qdisc a0bb30e0],classid 10001,parent 0),arg 0x2 Any ideas where I've gone wrong? -- Tero I've applied the patch to my iproute2 that was suggested as a solution, as well as upgrading to the latest version (http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.14-051107.tar.gz) of iproute2 which includes the patch, but always get the following errors: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 64 RTNETLINK answers: Invalid argument Changing that to: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 64 set_tc_index Works, but following that with produces the same error: # tc class change dev eth1 classid 1:1 dsmark mask 0x3 value 0x88 RTNETLINK answers: Invalid argument Is this an iproute2 bug, or user error? I'm using iproute2 on FC4 2.6.14-1.1653 TIY Keith Mitchell CTO Productivity Associates, Inc. 5625 Ruffin Rd STE 220 San Diego, CA 92123 858-495-3528 (Direct) 858-495-3540 (Fax) ___ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
RE: [LARTC] Adding dsmark qdisc fails
K never mind, i'm a dork. * Edit iproute2/Config to enable Diffserv support: TC_CONFIG_DIFFSERV=y From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Keith Mitchell Sent: Thursday, January 05, 2006 1:35 PM To: lartc@mailman.ds9a.nl Subject: [LARTC] Adding dsmark qdisc fails I 'm having a problem identical to one encountered on this list awhile back: I'm trying to configure dsmark qdisc on 2.6.11.4 user mode linux and tc from iproute2-2.6.11-050314. I think I have some mismatch in my setup since adding dsmark qdisc fails *unless* I specify set_tc_index argument which I believe should be optional: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 8 RTNETLINK answers: Invalid argument Mar 20 13:00:50 user user.debug kernel: dsmark_init(sch a0bb3ae0,[qdisc a0bb3b60],opt ) here the log shows that opt is null, sch_dsmark checks for that and bails out. However running tc with set_tc_index goes ok: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 8 set_tc_index Mar 20 13:01:12 user user.debug kernel: dsmark_init(sch a0bb3060,[qdisc a0bb30e0],opt a038e9d0) Mar 20 13:01:12 user user.debug kernel: dsmark_init: qdisc a0bb30e0 # tc qdisc show dev eth1 qdisc dsmark 1: indices 0x0008 set_tc_index but then changing the class fails: # tc class change dev eth1 classid 1:1 dsmark mask 0x0 value 0xb8 RTNETLINK answers: Invalid argument Mar 20 13:02:28 user user.debug kernel: dsmark_get(sch a0bb3060,[qdisc a0bb30e0],classid 10001) Mar 20 13:02:28 user user.debug kernel: dsmark_change(sch a0bb3060,[qdisc a0bb30e0],classid 10001,parent 0),arg 0x2 Any ideas where I've gone wrong? -- Tero I've applied the patch to my iproute2 that was suggested as a solution, as well as upgrading to the latest version (http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.14-051107. tar.gz http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.14-051107. tar.gz ) of iproute2 which includes the patch, but always get the following errors: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 64 RTNETLINK answers: Invalid argument Changing that to: # tc qdisc add dev eth1 handle 1:0 root dsmark indices 64 set_tc_index Works, but following that with produces the same error: # tc class change dev eth1 classid 1:1 dsmark mask 0x3 value 0x88 RTNETLINK answers: Invalid argument Is this an iproute2 bug, or user error? I'm using iproute2 on FC4 2.6.14-1.1653 TIY Keith Mitchell CTO Productivity Associates, Inc. 5625 Ruffin Rd STE 220 San Diego, CA 92123 858-495-3528 (Direct) 858-495-3540 (Fax) ___ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
[LARTC] Wondershaper and DSCP
Did anyone ever answer this one? THIS is what I am trying to do: [LARTC] cbq+sfq and DSCP marking Maria Joana Urbano [EMAIL PROTECTED] Thu, 13 Feb 2003 19:29:42 + * Previous message: [LARTC] Monitoring * Next message: [LARTC] two routes 1 network card * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] --===7DB32766=== Content-Type: text/plain; x-avg-checked=avg-ok-427B3C31; charset=us-ascii; format=flowed Content-Transfer-Encoding: 8bit Hi, I am a little confused about traffic control at egress + DSCP marking. Suppose I have a home router and set three different traffic classes at the egress interface in a similar way to what wondershaper (cbq version) does: tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit tc class add dev $DEV parent 1: classid 1:1 cbq rate ${UPLINK}kbit allot 1500 prio 5 bounded isolated tc class add dev $DEV parent 1:1 classid 1:10 cbq rate ${UPLINK}kbit allot 1600 prio 1 avpkt 1000 tc class add dev $DEV parent 1:1 classid 1:20 cbq rate $[9*$UPLINK/10]kbit allot 1600 prio 2 avpkt 1000 tc class add dev $DEV parent 1:1 classid 1:30 cbq rate $[8*$UPLINK/10]kbit allot 1600 prio 2 avpkt 1000 tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10 tc qdisc add dev $DEV parent 1:30 handle 30: sfq perturb 10 Then, I would like to DSCP mark the packets that leave the router based on their class. Ex., packets from class 1:10 would be marked with 0xb8 and packets from class 1:30 would have a 0x0 DSCP mark. However, after some reading, the only DS marking examples i found was like this (i.e., no chance to add cbq and sfq filters): tc qdisc add $DEV handle 1:0 root dsmark indices 64 tc class change $DEV classid 1:10 dsmark mask 0x3 value 0xb8 tc class change $DEV classid 1:20 dsmark mask 0x3 value 0x90 tc class change $DEV classid 1:30 dsmark mask 0x3 value 0x0 I am not sure if I understood the dsmark and DSCP marking model. It is not posible to add the DSCP marking to the cbq+sfq example above? Any help would be appreciate. Tnx! J. --===7DB32766=== Content-Type: text/plain; charset=us-ascii; x-avg=cert; x-avg-checked=avg-ok-427B3C31 Content-Disposition: inline --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.449 / Virus Database: 251 - Release Date: 27-01-2003 --===7DB32766===-- ___ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc