]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - net/ipv6/ip6_offload.c
ipv6: sit: add GSO/TSO support
[mirror_ubuntu-zesty-kernel.git] / net / ipv6 / ip6_offload.c
index f9b33d82bb9d098e89dba0da26a2f5cfa3af7aa1..4b851692b1f6bed3fbe476c65672c45e28570b3e 100644 (file)
@@ -98,6 +98,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
                       SKB_GSO_TCP_ECN |
                       SKB_GSO_GRE |
                       SKB_GSO_IPIP |
+                      SKB_GSO_SIT |
                       SKB_GSO_UDP_TUNNEL |
                       SKB_GSO_MPLS |
                       SKB_GSO_TCPV6 |
@@ -276,6 +277,13 @@ static struct packet_offload ipv6_packet_offload __read_mostly = {
        },
 };
 
+static const struct net_offload sit_offload = {
+       .callbacks = {
+               .gso_send_check = ipv6_gso_send_check,
+               .gso_segment    = ipv6_gso_segment,
+       },
+};
+
 static int __init ipv6_offload_init(void)
 {
 
@@ -287,6 +295,9 @@ static int __init ipv6_offload_init(void)
                pr_crit("%s: Cannot add EXTHDRS protocol offload\n", __func__);
 
        dev_add_offload(&ipv6_packet_offload);
+
+       inet_add_offload(&sit_offload, IPPROTO_IPV6);
+
        return 0;
 }