]> err.no Git - linux-2.6/blobdiff - net/sched/sch_dsmark.c
[NET_SCHED]: kill obsolete NET_CLS_POLICE option
[linux-2.6] / net / sched / sch_dsmark.c
index 3c6fd181263f7ac68bc2e29d30938a968479099d..b9fe6975fbec6585d36c0a015310267d12198085 100644 (file)
@@ -9,7 +9,6 @@
 #include <linux/string.h>
 #include <linux/errno.h>
 #include <linux/skbuff.h>
-#include <linux/netdevice.h> /* for pkt_sched */
 #include <linux/rtnetlink.h>
 #include <net/pkt_sched.h>
 #include <net/dsfield.h>
@@ -238,25 +237,23 @@ static int dsmark_enqueue(struct sk_buff *skb,struct Qdisc *sch)
                D2PRINTK("result %d class 0x%04x\n", result, res.classid);
 
                switch (result) {
-#ifdef CONFIG_NET_CLS_POLICE
-                       case TC_POLICE_SHOT:
-                               kfree_skb(skb);
-                               sch->qstats.drops++;
-                               return NET_XMIT_POLICED;
-#if 0
-                       case TC_POLICE_RECLASSIFY:
-                               /* FIXME: what to do here ??? */
+#ifdef CONFIG_NET_CLS_ACT
+               case TC_ACT_QUEUED:
+               case TC_ACT_STOLEN:
+                       kfree_skb(skb);
+                       return NET_XMIT_SUCCESS;
+               case TC_ACT_SHOT:
+                       kfree_skb(skb);
+                       sch->qstats.drops++;
+                       return NET_XMIT_BYPASS;
 #endif
-#endif
-                       case TC_POLICE_OK:
-                               skb->tc_index = TC_H_MIN(res.classid);
-                               break;
-                       case TC_POLICE_UNSPEC:
-                               /* fall through */
-                       default:
-                               if (p->default_index != NO_DEFAULT_INDEX)
-                                       skb->tc_index = p->default_index;
-                               break;
+               case TC_ACT_OK:
+                       skb->tc_index = TC_H_MIN(res.classid);
+                       break;
+               default:
+                       if (p->default_index != NO_DEFAULT_INDEX)
+                               skb->tc_index = p->default_index;
+                       break;
                }
        }
 
@@ -464,7 +461,7 @@ rtattr_failure:
        return RTA_NEST_CANCEL(skb, opts);
 }
 
-static struct Qdisc_class_ops dsmark_class_ops = {
+static const struct Qdisc_class_ops dsmark_class_ops = {
        .graft          =       dsmark_graft,
        .leaf           =       dsmark_leaf,
        .get            =       dsmark_get,
@@ -478,7 +475,7 @@ static struct Qdisc_class_ops dsmark_class_ops = {
        .dump           =       dsmark_dump_class,
 };
 
-static struct Qdisc_ops dsmark_qdisc_ops = {
+static struct Qdisc_ops dsmark_qdisc_ops __read_mostly = {
        .next           =       NULL,
        .cl_ops         =       &dsmark_class_ops,
        .id             =       "dsmark",