From: Jesse Gross Date: Tue, 4 Nov 2014 03:38:37 +0000 (-0800) Subject: geneve: Set GSO type on transmit. X-Git-Tag: v4.9.8~5358^2~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=45cac46e51da75628ac2a593c70f5144abb9b31d;p=platform%2Fkernel%2Flinux-rpi3.git geneve: Set GSO type on transmit. Geneve does not currently set the inner protocol type when transmitting packets. This causes GSO segmentation to fail on NICs that do not support Geneve offloading. CC: Andy Zhou Signed-off-by: Jesse Gross Signed-off-by: David S. Miller --- diff --git a/net/ipv4/geneve.c b/net/ipv4/geneve.c index 065cd94..6e5266c 100644 --- a/net/ipv4/geneve.c +++ b/net/ipv4/geneve.c @@ -144,6 +144,8 @@ int geneve_xmit_skb(struct geneve_sock *gs, struct rtable *rt, gnvh = (struct genevehdr *)__skb_push(skb, sizeof(*gnvh) + opt_len); geneve_build_header(gnvh, tun_flags, vni, opt_len, opt); + skb_set_inner_protocol(skb, htons(ETH_P_TEB)); + return udp_tunnel_xmit_skb(gs->sock, rt, skb, src, dst, tos, ttl, df, src_port, dst_port, xnet); }