hi , Werner :) i do the following modification to the net/sched/sch_ingress.c ingress_enqueue() function , i simply add the following lines after the line 169: skb->tc_index = TC_H_MIN(res.classid); if (skb->tc_index > 0xf || skb->tc_index == 0) { switch (skb->protocol) { case __constant_htons(ETH_P_IP): ipv4_change_dsfield(skb->nh.iph, 0x3,skb->tc_index); break; case __constant_htons(ETH_P_IPV6): ipv6_change_dsfield(skb->nh.ipv6h, 0x3,skb->tc_index); break; default: break; }; }; it works currently, but wonder whether there will be any negative influence or not. would you please give some comment on this ? again , thanks for your precious time. another thing, i noticed that since the dsmark dequeue function does not support mpls protocol, so when a mpls packet arrives, it complains "unsupported protocol". Although the tcindex value is still there, it just cannot use it . i think this is where the problem lies in. folke. _________________________________________________________________ Surf the Web without missing calls! Get MSN Broadband. http://resourcecenter.msn.com/access/plans/freeactivation.asp _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/