aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/fou.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/fou.c')
-rw-r--r--net/ipv4/fou.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c
index 7ac5ec87b004..eeec7d60e5fd 100644
--- a/net/ipv4/fou.c
+++ b/net/ipv4/fou.c
@@ -227,8 +227,6 @@ static int fou_gro_complete(struct sock *sk, struct sk_buff *skb,
227 int err = -ENOSYS; 227 int err = -ENOSYS;
228 const struct net_offload **offloads; 228 const struct net_offload **offloads;
229 229
230 udp_tunnel_gro_complete(skb, nhoff);
231
232 rcu_read_lock(); 230 rcu_read_lock();
233 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; 231 offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
234 ops = rcu_dereference(offloads[proto]); 232 ops = rcu_dereference(offloads[proto]);
@@ -237,6 +235,8 @@ static int fou_gro_complete(struct sock *sk, struct sk_buff *skb,
237 235
238 err = ops->callbacks.gro_complete(skb, nhoff); 236 err = ops->callbacks.gro_complete(skb, nhoff);
239 237
238 skb_set_inner_mac_header(skb, nhoff);
239
240out_unlock: 240out_unlock:
241 rcu_read_unlock(); 241 rcu_read_unlock();
242 242
@@ -412,6 +412,8 @@ static int gue_gro_complete(struct sock *sk, struct sk_buff *skb, int nhoff)
412 412
413 err = ops->callbacks.gro_complete(skb, nhoff + guehlen); 413 err = ops->callbacks.gro_complete(skb, nhoff + guehlen);
414 414
415 skb_set_inner_mac_header(skb, nhoff + guehlen);
416
415out_unlock: 417out_unlock:
416 rcu_read_unlock(); 418 rcu_read_unlock();
417 return err; 419 return err;