On Fri, 2008-11-01 at 15:24 -0200, Dzianis Kahanovich wrote: > jamal wrote:
> > tc qdisc add dev XXX ingress > > tc filter add dev XXX parent ffff: protocol ip prio 5 \ > > u32 blah bleh \ > > flowid 1:12 action ipt -j mark --set-mark 13 > > Yes, I do so. But there are simple: > --- > if [[ $[TC_INDEX2MARK] == 0 ]] ; then > c=${c//action ipt -j MARK --set-mark /flowid :} > fi > $c > --- I didnt quiet understand what you have above. Does your script above read the flowid and sets the MARK to some dynamic value based on flowid? if thats what you are doing - it sounds sensible and much more clever than what is posted. And it doesnt require any kernel patch. > Simpliest: > --- linux-2.6.23-gentoo-r2/net/sched/sch_ingress.c > +++ linux-2.6.23-gentoo-r2.fixed/net/sched/sch_ingress.c > @@ -222,6 +222,16 @@ > - skb->tc_index = TC_H_MIN(res.classid); > + skb->tc_index = TC_H_MIN(mark=res.classid); Just write a metaset action and you can have all sorts of policies on what tc_index, mark etc you want. It is something thats needed in any case. When we did tc_index it made sense then because it was for "tc" to use some default policy. Enforcing policies in the kernel is not the best thing to do; as an example you want to specify the polciy for mark to be: classid major>>16|minor. I am sure you have good reasons; however, for the next person who wants to set it it major>>8|minor for their own good reason, theres conflict. My offer to help you is still open. cheers, jamal -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html