diff options
author | Eric Dumazet <edumazet@google.com> | 2012-04-19 03:07:40 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-19 14:23:56 -0400 |
commit | daa86548281ec9364eac2925bdf907f861204a5b (patch) | |
tree | a62cd3cb7df31f0fe26d8c51a4f917b474a4e648 /net/core | |
parent | 85bb2a60fab28a338870faec222a1f2232b01caa (diff) |
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')
-rw-r--r-- | net/core/dev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index c93812733f1..501f3cc703d 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) | |||
3542 | break; | 3542 | break; |
3543 | 3543 | ||
3544 | case GRO_DROP: | 3544 | case GRO_DROP: |
3545 | case GRO_MERGED_FREE: | ||
3546 | kfree_skb(skb); | 3545 | kfree_skb(skb); |
3547 | break; | 3546 | break; |
3548 | 3547 | ||
3548 | case GRO_MERGED_FREE: | ||
3549 | consume_skb(skb); | ||
3550 | break; | ||
3551 | |||
3549 | case GRO_HELD: | 3552 | case GRO_HELD: |
3550 | case GRO_MERGED: | 3553 | case GRO_MERGED: |
3551 | break; | 3554 | break; |