diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 033d7ca28e6e..7bd3c29c5a78 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -135,14 +135,6 @@ | |||
135 | /* This should be increased if a protocol with a bigger head is added. */ | 135 | /* This should be increased if a protocol with a bigger head is added. */ |
136 | #define GRO_MAX_HEAD (MAX_HEADER + 128) | 136 | #define GRO_MAX_HEAD (MAX_HEADER + 128) |
137 | 137 | ||
138 | enum { | ||
139 | GRO_MERGED, | ||
140 | GRO_MERGED_FREE, | ||
141 | GRO_HELD, | ||
142 | GRO_NORMAL, | ||
143 | GRO_DROP, | ||
144 | }; | ||
145 | |||
146 | /* | 138 | /* |
147 | * The list of packet types we will receive (as opposed to discard) | 139 | * The list of packet types we will receive (as opposed to discard) |
148 | * and the routines to invoke. | 140 | * and the routines to invoke. |
@@ -2474,6 +2466,9 @@ static int __napi_gro_receive(struct napi_struct *napi, struct sk_buff *skb) | |||
2474 | { | 2466 | { |
2475 | struct sk_buff *p; | 2467 | struct sk_buff *p; |
2476 | 2468 | ||
2469 | if (netpoll_rx_on(skb)) | ||
2470 | return GRO_NORMAL; | ||
2471 | |||
2477 | for (p = napi->gro_list; p; p = p->next) { | 2472 | for (p = napi->gro_list; p; p = p->next) { |
2478 | NAPI_GRO_CB(p)->same_flow = !compare_ether_header( | 2473 | NAPI_GRO_CB(p)->same_flow = !compare_ether_header( |
2479 | skb_mac_header(p), skb_gro_mac_header(skb)); | 2474 | skb_mac_header(p), skb_gro_mac_header(skb)); |
@@ -2487,9 +2482,6 @@ int napi_skb_finish(int ret, struct sk_buff *skb) | |||
2487 | { | 2482 | { |
2488 | int err = NET_RX_SUCCESS; | 2483 | int err = NET_RX_SUCCESS; |
2489 | 2484 | ||
2490 | if (netpoll_receive_skb(skb)) | ||
2491 | return NET_RX_DROP; | ||
2492 | |||
2493 | switch (ret) { | 2485 | switch (ret) { |
2494 | case GRO_NORMAL: | 2486 | case GRO_NORMAL: |
2495 | return netif_receive_skb(skb); | 2487 | return netif_receive_skb(skb); |
@@ -2587,9 +2579,6 @@ int napi_frags_finish(struct napi_struct *napi, struct sk_buff *skb, int ret) | |||
2587 | { | 2579 | { |
2588 | int err = NET_RX_SUCCESS; | 2580 | int err = NET_RX_SUCCESS; |
2589 | 2581 | ||
2590 | if (netpoll_receive_skb(skb)) | ||
2591 | return NET_RX_DROP; | ||
2592 | |||
2593 | switch (ret) { | 2582 | switch (ret) { |
2594 | case GRO_NORMAL: | 2583 | case GRO_NORMAL: |
2595 | case GRO_HELD: | 2584 | case GRO_HELD: |