root/net/ipv6/exthdrs_offload.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ipv6_exthdrs_offload_init

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  *      IPV6 GSO/GRO offload support
   4  *      Linux INET6 implementation
   5  *
   6  *      IPV6 Extension Header GSO/GRO support
   7  */
   8 #include <net/protocol.h>
   9 #include "ip6_offload.h"
  10 
  11 static const struct net_offload rthdr_offload = {
  12         .flags          =       INET6_PROTO_GSO_EXTHDR,
  13 };
  14 
  15 static const struct net_offload dstopt_offload = {
  16         .flags          =       INET6_PROTO_GSO_EXTHDR,
  17 };
  18 
  19 int __init ipv6_exthdrs_offload_init(void)
  20 {
  21         int ret;
  22 
  23         ret = inet6_add_offload(&rthdr_offload, IPPROTO_ROUTING);
  24         if (ret)
  25                 goto out;
  26 
  27         ret = inet6_add_offload(&dstopt_offload, IPPROTO_DSTOPTS);
  28         if (ret)
  29                 goto out_rt;
  30 
  31 out:
  32         return ret;
  33 
  34 out_rt:
  35         inet6_del_offload(&rthdr_offload, IPPROTO_ROUTING);
  36         goto out;
  37 }

/* [<][>][^][v][top][bottom][index][help] */