// SPDX-License-Identifier: GPL-2.0-or-later/* * IPv6 BSD socket options interface * Linux INET6 implementation * * Authors: * Pedro Roque <roque@di.fc.ul.pt> * * Based on linux/net/ipv4/ip_sockglue.c * * FIXME: Make the setsockopt code POSIX compliant: That is * * o Truncate getsockopt returns * o Return an optlen of the truncated length if need be * * Changes: * David L Stevens <dlstevens@us.ibm.com>: * - added multicast source filtering API for MLDv2 */#include<linux/module.h>#include<linux/capability.h>#include<linux/errno.h>#include<linux/types.h>#include<linux/socket.h>#include<linux/sockios.h>#include<linux/net.h>#include<linux/in6.h>#include<linux/mroute6.h>#include<linux/netdevice.h>#include<linux/if_arp.h>#include<linux/init.h>#include<linux/sysctl.h>#include<linux/netfilter.h>#include<linux/slab.h>#include<net/sock.h>#include<net/snmp.h>#include<net/ipv6.h>#include<net/ndisc.h>#include<net/protocol.h>#include<net/transp_v6.h>#include<net/ip6_route.h>#include<net/addrconf.h>#include<net/inet_common.h>#include<net/tcp.h>#include<net/udp.h>#include<net/udplite.h>#include<net/xfrm.h>#include<net/