Patrick McHardy 73ca4918fb [NET_SCHED]: act_api: qdisc internal reclassify support
The behaviour of NET_CLS_POLICE for TC_POLICE_RECLASSIFY was to return
it to the qdisc, which could handle it internally or ignore it. With
NET_CLS_ACT however, tc_classify starts over at the first classifier
and never returns it to the qdisc. This makes it impossible to support
qdisc-internal reclassification, which in turn makes it impossible to
remove the old NET_CLS_POLICE code without breaking compatibility since
we have two qdiscs (CBQ and ATM) that support this.

This patch adds a tc_classify_compat function that handles
reclassification the old way and changes CBQ and ATM to use it.

This again is of course not fully backwards compatible with the previous
NET_CLS_ACT behaviour. Unfortunately there is no way to fully maintain
compatibility *and* support qdisc internal reclassification with
NET_CLS_ACT, but this seems like the better choice over keeping the two
incompatible options around forever.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-07-15 00:02:31 -07:00
..
2007-07-10 22:16:43 -07:00
2007-06-13 20:44:42 +00:00
2006-12-02 21:22:55 -08:00
2007-07-10 12:41:08 -04:00
2007-07-12 16:07:24 -04:00
2005-08-29 15:32:25 -07:00
2007-07-10 22:15:41 -07:00
2005-04-16 15:20:36 -07:00
2006-09-28 18:01:06 -07:00
2005-04-16 15:20:36 -07:00
2006-12-02 21:23:41 -08:00
2007-07-10 22:55:49 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-22 07:57:21 -03:00
2006-03-20 22:59:36 -08:00
2006-12-02 21:22:52 -08:00
2005-08-29 16:01:32 -07:00
2005-08-29 15:32:25 -07:00
2007-07-10 22:19:04 -07:00
2007-07-10 22:14:20 -07:00
2007-06-07 13:40:50 -07:00
2007-07-10 22:16:53 -07:00