summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_atm.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2017-06-06 14:12:02 +0200
committerDavid S. Miller <davem@davemloft.net>2017-06-06 12:45:23 -0400
commite25ea21ffa66a029acfa89d2611c0e7ef23e7d8c (patch)
tree3e8fbece4830c9e608bc3f324a896b04d6efa288 /net/sched/sch_atm.c
parent928a759593d21ec184536bde0b4816d21bcd5a86 (diff)
downloadlinux-e25ea21ffa66a029acfa89d2611c0e7ef23e7d8c.tar.gz
linux-e25ea21ffa66a029acfa89d2611c0e7ef23e7d8c.tar.bz2
linux-e25ea21ffa66a029acfa89d2611c0e7ef23e7d8c.zip
net: sched: introduce a TRAP control action
There is need to instruct the HW offloaded path to push certain matched packets to cpu/kernel for further analysis. So this patch introduces a new TRAP control action to TC. For kernel datapath, this action does not make much sense. So with the same logic as in HW, new TRAP behaves similar to STOLEN. The skb is just dropped in the datapath (and virtually ejected to an upper level, which does not exist in case of kernel). Signed-off-by: Jiri Pirko <jiri@mellanox.com> Reviewed-by: Yotam Gigi <yotamg@mellanox.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_atm.c')
-rw-r--r--net/sched/sch_atm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sched/sch_atm.c b/net/sched/sch_atm.c
index f435546c3864..de162592eee0 100644
--- a/net/sched/sch_atm.c
+++ b/net/sched/sch_atm.c
@@ -406,6 +406,7 @@ done:
switch (result) {
case TC_ACT_QUEUED:
case TC_ACT_STOLEN:
+ case TC_ACT_TRAP:
__qdisc_drop(skb, to_free);
return NET_XMIT_SUCCESS | __NET_XMIT_STOLEN;
case TC_ACT_SHOT: