aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorTom Herbert <therbert@google.com>2014-11-04 12:06:54 -0500
committerDavid S. Miller <davem@davemloft.net>2014-11-05 16:30:03 -0500
commite585f23636370320bc2071ca5ba2744ae37c3e51 (patch)
treec1d9d60bd084099f3e65155dd920ee72d41a808e /net/ipv6
parent5024c33ac354577635c5671498891eb197f3ec4d (diff)
udp: Changes to udp_offload to support remote checksum offload
Add a new GSO type, SKB_GSO_TUNNEL_REMCSUM, which indicates remote checksum offload being done (in this case inner checksum must not be offloaded to the NIC). Added logic in __skb_udp_tunnel_segment to handle remote checksum offload case. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/ip6_offload.c1
-rw-r--r--net/ipv6/udp_offload.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
index a071563a7e6e..e9767079a360 100644
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -78,6 +78,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
78 SKB_GSO_SIT | 78 SKB_GSO_SIT |
79 SKB_GSO_UDP_TUNNEL | 79 SKB_GSO_UDP_TUNNEL |
80 SKB_GSO_UDP_TUNNEL_CSUM | 80 SKB_GSO_UDP_TUNNEL_CSUM |
81 SKB_GSO_TUNNEL_REMCSUM |
81 SKB_GSO_MPLS | 82 SKB_GSO_MPLS |
82 SKB_GSO_TCPV6 | 83 SKB_GSO_TCPV6 |
83 0))) 84 0)))
diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c
index 6b8f543f6ac6..637ba2e438b7 100644
--- a/net/ipv6/udp_offload.c
+++ b/net/ipv6/udp_offload.c
@@ -42,6 +42,7 @@ static struct sk_buff *udp6_ufo_fragment(struct sk_buff *skb,
42 SKB_GSO_DODGY | 42 SKB_GSO_DODGY |
43 SKB_GSO_UDP_TUNNEL | 43 SKB_GSO_UDP_TUNNEL |
44 SKB_GSO_UDP_TUNNEL_CSUM | 44 SKB_GSO_UDP_TUNNEL_CSUM |
45 SKB_GSO_TUNNEL_REMCSUM |
45 SKB_GSO_GRE | 46 SKB_GSO_GRE |
46 SKB_GSO_GRE_CSUM | 47 SKB_GSO_GRE_CSUM |
47 SKB_GSO_IPIP | 48 SKB_GSO_IPIP |