Updated from Linux LTS 3.10.19 to 3.10.20
This commit is contained in:
@@ -335,7 +335,7 @@ static int ipgre_rcv(struct sk_buff *skb)
|
||||
iph->saddr, iph->daddr, tpi.key);
|
||||
|
||||
if (tunnel) {
|
||||
ip_tunnel_rcv(tunnel, skb, &tpi, log_ecn_error);
|
||||
ip_tunnel_rcv(tunnel, skb, &tpi, hdr_len, log_ecn_error);
|
||||
return 0;
|
||||
}
|
||||
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
|
||||
|
||||
@@ -402,7 +402,7 @@ static struct ip_tunnel *ip_tunnel_create(struct net *net,
|
||||
}
|
||||
|
||||
int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_buff *skb,
|
||||
const struct tnl_ptk_info *tpi, bool log_ecn_error)
|
||||
const struct tnl_ptk_info *tpi, int hdr_len, bool log_ecn_error)
|
||||
{
|
||||
struct pcpu_tstats *tstats;
|
||||
const struct iphdr *iph = ip_hdr(skb);
|
||||
@@ -413,7 +413,7 @@ int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_buff *skb,
|
||||
skb->protocol = tpi->proto;
|
||||
|
||||
skb->mac_header = skb->network_header;
|
||||
__pskb_pull(skb, tunnel->hlen);
|
||||
__pskb_pull(skb, hdr_len);
|
||||
skb_postpull_rcsum(skb, skb_transport_header(skb), tunnel->hlen);
|
||||
#ifdef CONFIG_NET_IPGRE_BROADCAST
|
||||
if (ipv4_is_multicast(iph->daddr)) {
|
||||
|
||||
@@ -195,7 +195,7 @@ static int ipip_rcv(struct sk_buff *skb)
|
||||
if (tunnel) {
|
||||
if (!xfrm4_policy_check(NULL, XFRM_POLICY_IN, skb))
|
||||
goto drop;
|
||||
return ip_tunnel_rcv(tunnel, skb, &tpi, log_ecn_error);
|
||||
return ip_tunnel_rcv(tunnel, skb, &tpi, 0, log_ecn_error);
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user