提交 f6853e2d 编写于 作者: P Patrick McHardy 提交者: David S. Miller

[NET_SCHED]: sch_dsmark: act_api support

Handle act_api classification results.
Signed-off-by: NPatrick McHardy <kaber@trash.net>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 92100804
...@@ -237,25 +237,34 @@ static int dsmark_enqueue(struct sk_buff *skb,struct Qdisc *sch) ...@@ -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); D2PRINTK("result %d class 0x%04x\n", result, res.classid);
switch (result) { switch (result) {
#ifdef CONFIG_NET_CLS_POLICE #ifdef CONFIG_NET_CLS_ACT
case TC_POLICE_SHOT: case TC_ACT_QUEUED:
kfree_skb(skb); case TC_ACT_STOLEN:
sch->qstats.drops++; kfree_skb(skb);
return NET_XMIT_POLICED; 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 #if 0
case TC_POLICE_RECLASSIFY: case TC_POLICE_RECLASSIFY:
/* FIXME: what to do here ??? */ /* FIXME: what to do here ??? */
#endif #endif
#endif #endif
case TC_POLICE_OK: case TC_POLICE_OK:
skb->tc_index = TC_H_MIN(res.classid); skb->tc_index = TC_H_MIN(res.classid);
break; break;
case TC_POLICE_UNSPEC: case TC_POLICE_UNSPEC:
/* fall through */ /* fall through */
default: default:
if (p->default_index != NO_DEFAULT_INDEX) if (p->default_index != NO_DEFAULT_INDEX)
skb->tc_index = p->default_index; skb->tc_index = p->default_index;
break; break;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册