mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 10:44:14 +08:00
[NET_SCHED]: sch_dsmark: act_api support
Handle act_api classification results. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9210080445
commit
f6853e2df3
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user