hi, does any body ever met this strange problem?

--linux1---------linux2--------linux3--
eth0 eth1

my purpose is :

make the packets from linux1 to linux3
to be marked with a proper dscp value when
they gose through linux2.

i do the following at eth0 on linux2:

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 4 u32 \
match ip dst 10.0.2.18 flowid :1

and at eth1 on linux2 :

tc qdisc add dev eth1 handle 1:0 root dsmark indices 64
tc class change dev eth1 classid 1:1 dsmark mask 0x3 value 0x88
tc filter add dev eth1 parent 1:0 protocol all prio 4 \
handle 1 tcindex classid 1:1

now i ping linux3(10.0.2.18) from linux1 , and i can
see the dscp value 0x22 catched at linux3. everything
looks perfect now :)

But , when i add the following line at eth1 on linux2
the problem arised :

tc qdisc add dev eth1 parent 1:0 handle 2:0 dsmark \
indices 64 set_tc_index
tc filter add dev eth1 parent 2:0 protocol all prio \
1 tcindex mask 0xfc shift 2 pass_on
tc filter add dev eth1 parent 2:0 prio 1 handle 0x22\
tcindex classid 2:111
tc qdisc add dev eth1 parent 2:0 handle 3:0 cbq bandwidth \
10Mbit cell 8 avpkt 1000 mpu 64
tc filter add dev eth1 parent 3:0 protocol all prio 1 \
tcindex mask 0xf0 shift 4 pass_on
tc class add dev eth1 parent 3:0 classid 3:99 cbq bandwidth \
10Mbit rate 9Mbit avpkt 1000 prio 2 \
allot 1514 weight 9 maxburst 21 defmap 0
tc filter add dev eth1 parent 3:0 prio 1 handle 1 tcindex \
classid 3:99

when i use 'tc -s class ls dev eth1'
i can see the packet from linux1 to linux3 is directed into
class 3:99 , BUT the packet catched at linux3 have a dscp
value of ZERO.

where has the dscp 0x22 gone?


_________________________________________________________________
Choose an Internet access plan right for you -- try MSN! http://resourcecenter.msn.com/access/plans/default.asp

_______________________________________________
LARTC mailing list / [EMAIL PROTECTED]
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

Reply via email to