[LARTC] Adding dsmark qdisc fails

2006-01-05 Thread Keith Mitchell
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

2006-01-05 Thread Keith Mitchell
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

2006-01-05 Thread Keith Mitchell
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