diff options
author | David S. Miller <davem@davemloft.net> | 2015-04-14 15:44:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-14 15:44:14 -0400 |
commit | 87ffabb1f055e14e7d171c6599539a154d647904 (patch) | |
tree | 56f227c9cb668686ca5c2cd9a7ae188b74c0f2f2 /net/ipv4 | |
parent | 5e0e0dc10a8be16239eae24ab775de60821eee2d (diff) | |
parent | b50edd7812852d989f2ef09dcfc729690f54a42d (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The dwmac-socfpga.c conflict was a case of a bug fix overlapping
changes in net-next to handle an error pointer differently.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/fou.c | 4 | ||||
-rw-r--r-- | net/ipv4/geneve.c | 8 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c index 263710259774..af150b43b214 100644 --- a/net/ipv4/fou.c +++ b/net/ipv4/fou.c | |||
@@ -886,12 +886,12 @@ EXPORT_SYMBOL(gue_build_header); | |||
886 | 886 | ||
887 | #ifdef CONFIG_NET_FOU_IP_TUNNELS | 887 | #ifdef CONFIG_NET_FOU_IP_TUNNELS |
888 | 888 | ||
889 | static const struct ip_tunnel_encap_ops __read_mostly fou_iptun_ops = { | 889 | static const struct ip_tunnel_encap_ops fou_iptun_ops = { |
890 | .encap_hlen = fou_encap_hlen, | 890 | .encap_hlen = fou_encap_hlen, |
891 | .build_header = fou_build_header, | 891 | .build_header = fou_build_header, |
892 | }; | 892 | }; |
893 | 893 | ||
894 | static const struct ip_tunnel_encap_ops __read_mostly gue_iptun_ops = { | 894 | static const struct ip_tunnel_encap_ops gue_iptun_ops = { |
895 | .encap_hlen = gue_encap_hlen, | 895 | .encap_hlen = gue_encap_hlen, |
896 | .build_header = gue_build_header, | 896 | .build_header = gue_build_header, |
897 | }; | 897 | }; |
diff --git a/net/ipv4/geneve.c b/net/ipv4/geneve.c index b77f5e84c623..8986e63f3bda 100644 --- a/net/ipv4/geneve.c +++ b/net/ipv4/geneve.c | |||
@@ -113,10 +113,6 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt, | |||
113 | int min_headroom; | 113 | int min_headroom; |
114 | int err; | 114 | int err; |
115 | 115 | ||
116 | skb = udp_tunnel_handle_offloads(skb, csum); | ||
117 | if (IS_ERR(skb)) | ||
118 | return PTR_ERR(skb); | ||
119 | |||
120 | min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len | 116 | min_headroom = LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len |
121 | + GENEVE_BASE_HLEN + opt_len + sizeof(struct iphdr) | 117 | + GENEVE_BASE_HLEN + opt_len + sizeof(struct iphdr) |
122 | + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0); | 118 | + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0); |
@@ -131,6 +127,10 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt, | |||
131 | if (unlikely(!skb)) | 127 | if (unlikely(!skb)) |
132 | return -ENOMEM; | 128 | return -ENOMEM; |
133 | 129 | ||
130 | skb = udp_tunnel_handle_offloads(skb, csum); | ||
131 | if (IS_ERR(skb)) | ||
132 | return PTR_ERR(skb); | ||
133 | |||
134 | gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len); | 134 | gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len); |
135 | geneve_build_header(gnvh, tun_flags, vni, opt_len, opt); | 135 | geneve_build_header(gnvh, tun_flags, vni, opt_len, opt); |
136 | 136 | ||
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index e662d85d1635..8c8d7e06b72f 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -2994,6 +2994,8 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, | |||
2994 | rcu_read_unlock(); | 2994 | rcu_read_unlock(); |
2995 | #endif | 2995 | #endif |
2996 | 2996 | ||
2997 | /* Do not fool tcpdump (if any), clean our debris */ | ||
2998 | skb->tstamp.tv64 = 0; | ||
2997 | return skb; | 2999 | return skb; |
2998 | } | 3000 | } |
2999 | EXPORT_SYMBOL(tcp_make_synack); | 3001 | EXPORT_SYMBOL(tcp_make_synack); |