Re: [PATCH net-next] net: make sch_handle_ingress() drop monitor ready

2016-05-08 Thread David Miller
From: Eric Dumazet 
Date: Fri, 06 May 2016 15:55:50 -0700

> From: Eric Dumazet 
> 
> TC_ACT_STOLEN is used when ingress traffic is mirred/redirected
> to say ifb.
> 
> Packet is not dropped, but consumed.
> 
> Only TC_ACT_SHOT is a clear indication something went wrong.
> 
> Signed-off-by: Eric Dumazet 
> Cc: Jamal Hadi Salim 

Applied.


Re: [PATCH net-next] net: make sch_handle_ingress() drop monitor ready

2016-05-07 Thread Jamal Hadi Salim

On 16-05-06 06:55 PM, Eric Dumazet wrote:

From: Eric Dumazet 

TC_ACT_STOLEN is used when ingress traffic is mirred/redirected
to say ifb.

Packet is not dropped, but consumed.

Only TC_ACT_SHOT is a clear indication something went wrong.

Signed-off-by: Eric Dumazet 


Acked-by: Jamal Hadi Salim 


cheers,
jamal


Re: [PATCH net-next] net: make sch_handle_ingress() drop monitor ready

2016-05-06 Thread Alexei Starovoitov
On Fri, May 06, 2016 at 03:55:50PM -0700, Eric Dumazet wrote:
> From: Eric Dumazet 
> 
> TC_ACT_STOLEN is used when ingress traffic is mirred/redirected
> to say ifb.
> 
> Packet is not dropped, but consumed.
> 
> Only TC_ACT_SHOT is a clear indication something went wrong.
> 
> Signed-off-by: Eric Dumazet 
> Cc: Jamal Hadi Salim 

Acked-by: Alexei Starovoitov 



[PATCH net-next] net: make sch_handle_ingress() drop monitor ready

2016-05-06 Thread Eric Dumazet
From: Eric Dumazet 

TC_ACT_STOLEN is used when ingress traffic is mirred/redirected
to say ifb.

Packet is not dropped, but consumed.

Only TC_ACT_SHOT is a clear indication something went wrong.

Signed-off-by: Eric Dumazet 
Cc: Jamal Hadi Salim 
---
 net/core/dev.c |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index 
e98ba63fe2800c10d4d407f12d11ca8975dc1e8e..c7490339315cc0046a2da67c00a95f079e602588
 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3956,9 +3956,11 @@ sch_handle_ingress(struct sk_buff *skb, struct 
packet_type **pt_prev, int *ret,
break;
case TC_ACT_SHOT:
qdisc_qstats_cpu_drop(cl->q);
+   kfree_skb(skb);
+   return NULL;
case TC_ACT_STOLEN:
case TC_ACT_QUEUED:
-   kfree_skb(skb);
+   consume_skb(skb);
return NULL;
case TC_ACT_REDIRECT:
/* skb_mac_header check was done by cls/act_bpf, so