aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2012-04-19 07:07:40 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-19 14:23:56 -0400
commitdaa86548281ec9364eac2925bdf907f861204a5b (patch)
treea62cd3cb7df31f0fe26d8c51a4f917b474a4e648 /net/core/dev.c
parentnet: dont drop packet but consume it (diff)
downloadlinux-dev-daa86548281ec9364eac2925bdf907f861204a5b.tar.xz
linux-dev-daa86548281ec9364eac2925bdf907f861204a5b.zip
net: gro: GRO_MERGED_FREE consumes packets
As part of GRO processing, merged skbs should be consumed, not freed, to not confuse dropwatch/drop_monitor. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index c93812733f1d..501f3cc703dd 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3542,10 +3542,13 @@ gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb)
break;
case GRO_DROP:
- case GRO_MERGED_FREE:
kfree_skb(skb);
break;
+ case GRO_MERGED_FREE:
+ consume_skb(skb);
+ break;
+
case GRO_HELD:
case GRO_MERGED:
break;