aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-02-16 21:25:49 -0500
committerDavid S. Miller <davem@davemloft.net>2017-02-16 21:25:49 -0500
commit99d5ceeea5120dd3ac2f879f4083697b70a1c89f (patch)
tree2d203cc3f1c8bfbf6e9b156faa0f1d689e1a52ca /net/core/dev.c
parent5237b9dde379f9eadd60a9b6310567ce5d307fe8 (diff)
parent7785bba299a8dc8fe8390a0183dad3cafb3f1d80 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2017-02-16 1) Make struct xfrm_input_afinfo const, nothing writes to it. From Florian Westphal. 2) Remove all places that write to the afinfo policy backend and make the struct const then. From Florian Westphal. 3) Prepare for packet consuming gro callbacks and add ESP GRO handlers. ESP packets can be decapsulated at the GRO layer then. It saves a round through the stack for each ESP packet. Please note that this has a merge coflict between commit 63fca65d0863 ("net: add confirm_neigh method to dst_ops") from net-next and 3d7d25a68ea5 ("xfrm: policy: remove garbage_collect callback") a2817d8b279b ("xfrm: policy: remove family field") from ipsec-next. The conflict can be solved as it is done in linux-next. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 2f1bbe1bf67c..05d19c6acf94 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4510,6 +4510,11 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
4510 if (&ptype->list == head) 4510 if (&ptype->list == head)
4511 goto normal; 4511 goto normal;
4512 4512
4513 if (IS_ERR(pp) && PTR_ERR(pp) == -EINPROGRESS) {
4514 ret = GRO_CONSUMED;
4515 goto ok;
4516 }
4517
4513 same_flow = NAPI_GRO_CB(skb)->same_flow; 4518 same_flow = NAPI_GRO_CB(skb)->same_flow;
4514 ret = NAPI_GRO_CB(skb)->free ? GRO_MERGED_FREE : GRO_MERGED; 4519 ret = NAPI_GRO_CB(skb)->free ? GRO_MERGED_FREE : GRO_MERGED;
4515 4520
@@ -4614,6 +4619,7 @@ static gro_result_t napi_skb_finish(gro_result_t ret, struct sk_buff *skb)
4614 4619
4615 case GRO_HELD: 4620 case GRO_HELD:
4616 case GRO_MERGED: 4621 case GRO_MERGED:
4622 case GRO_CONSUMED:
4617 break; 4623 break;
4618 } 4624 }
4619 4625
@@ -4685,6 +4691,7 @@ static gro_result_t napi_frags_finish(struct napi_struct *napi,
4685 break; 4691 break;
4686 4692
4687 case GRO_MERGED: 4693 case GRO_MERGED:
4694 case GRO_CONSUMED:
4688 break; 4695 break;
4689 } 4696 }
4690 4697