|
@@ -1487,8 +1487,10 @@ int inet_gro_complete(struct sk_buff *skb, int nhoff)
|
|
|
int proto = iph->protocol;
|
|
int proto = iph->protocol;
|
|
|
int err = -ENOSYS;
|
|
int err = -ENOSYS;
|
|
|
|
|
|
|
|
- if (skb->encapsulation)
|
|
|
|
|
|
|
+ if (skb->encapsulation) {
|
|
|
|
|
+ skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IP));
|
|
|
skb_set_inner_network_header(skb, nhoff);
|
|
skb_set_inner_network_header(skb, nhoff);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
csum_replace2(&iph->check, iph->tot_len, newlen);
|
|
csum_replace2(&iph->check, iph->tot_len, newlen);
|
|
|
iph->tot_len = newlen;
|
|
iph->tot_len = newlen;
|