hi all
 
i am a new commer of linux community. 
i want to how does skb->tcindex value change
exactly. it confused me indeed. 

 i have a script reads:
 (1) tc qdisc add dev eth0 root handle 1:0 dsmark indices 64 default_index 0x161 
set_tc_index
 (2) tc filter add dev eth0 parent 1:0 protocol all prio 1 tcindex mask 0xfc shift 2 
pass_on
 (3) tc filter add dev eth0 parent 1:0 prio 1 handle 0x0a tcindex classid 1:111
 (4) tc filter add dev eth0 parent 2:0 protocol all prio 1 tcindex mask 0xf0 shift 4 
pass_on
 (5) tc filter add dev eth0 parent 2:0 prio 1 handle 1 tcindex classid 2:2
 
 now if a packet with a Diffserv field 0x28 , its skb->tcindex value 
 will be change into 0xa by masking 0xfc and shift 2. Is that so?
 
 then it'll be match by the filter defined in line (3) and got a 
 classid 1:111, now what is its skb->tcindex value then in binary ?
 is it 0001,0001,0001 or in hex 0x111 ? 
 
 i think that skb->tcindex value is only 8bits. is that so?
 
 if after line (3), its skb->tcindex value is 0x111, then 
 after line (4), its skb->tcindex value  should be 0x1 , right?
 
 now, in line (5), because its skb->tcindex value is 0x1, 
 it is directed into class 2:2, right?
 ok ,what is its skb->tcindex value  now ? 0x2 or 0x111 ? 
 
 thanks for answer these quesions :)
 
 Folke 
,S
f��)��+-��L)��Y���=jya���f��f�v�Z�_�j)fj��b��?���ps�L�m������r��


Reply via email to