Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6853e2df3de82c1dac8f62ddcf3a8dfa302419e
Commit:     f6853e2df3de82c1dac8f62ddcf3a8dfa302419e
Parent:     9210080445b0c51a73b488750a26eb17177d8684
Author:     Patrick McHardy <[EMAIL PROTECTED]>
AuthorDate: Sun Jul 15 00:02:10 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Sun Jul 15 00:02:10 2007 -0700

    [NET_SCHED]: sch_dsmark: act_api support
    
    Handle act_api classification results.
    
    Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/sched/sch_dsmark.c |   41 +++++++++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c
index 4d2c233..2d7e891 100644
--- a/net/sched/sch_dsmark.c
+++ b/net/sched/sch_dsmark.c
@@ -237,25 +237,34 @@ 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;
+#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;
+#elif defined(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 ??? */
+               case TC_POLICE_RECLASSIFY:
+                       /* FIXME: what to do here ??? */
 #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_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;
                }
        }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to