1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * IPV6 GSO/GRO offload support
4 * Linux INET6 implementation
6 * IPV6 Extension Header GSO/GRO support
8 #include <net/protocol.h>
9 #include "ip6_offload.h"
11 static const struct net_offload rthdr_offload = {
12 .flags = INET6_PROTO_GSO_EXTHDR,
15 static const struct net_offload dstopt_offload = {
16 .flags = INET6_PROTO_GSO_EXTHDR,
19 static const struct net_offload hbh_offload = {
20 .flags = INET6_PROTO_GSO_EXTHDR,
23 int __init ipv6_exthdrs_offload_init(void)
27 ret = inet6_add_offload(&rthdr_offload, IPPROTO_ROUTING);
31 ret = inet6_add_offload(&dstopt_offload, IPPROTO_DSTOPTS);
35 ret = inet6_add_offload(&hbh_offload, IPPROTO_HOPOPTS);
43 inet6_del_offload(&dstopt_offload, IPPROTO_DSTOPTS);
46 inet6_del_offload(&rthdr_offload, IPPROTO_ROUTING);