freebsd-dev/sys/netinet6
Sean Bruno 06b479a6a7 Refactor ip6_getpcbopt() for better locking and memory management
Created GET_PKTOPT_EXT_HDR() and GET_PKTOPT_SOCKADDR() macros to
handle safely fetching options from in6p_outputopts, including
properly dealing with in6p locking and preparing memory for
sooptcopyout().

Changed the function signature of ip6_getpcbopt() to allow the
function to acquire and release locks on in6p as needed.

Submitted by:	Jason Eggleston <jason@eggnet.com>
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D14619
2018-03-22 23:34:48 +00:00
..
dest6.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
frag6.c Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
icmp6.c Fix ICMPv6 redirects 2018-02-09 00:13:05 +00:00
icmp6.h
in6_cksum.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_fib.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in6_fib.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
in6_gif.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_ifattach.c Assign IPv6 link-local address to loopback interfaces whith unit > 0. 2018-01-29 10:33:55 +00:00
in6_ifattach.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_jail.c Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
in6_mcast.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
in6_pcb.c If the INP lock is uncontested, avoid taking a reference and jumping 2018-03-21 15:54:46 +00:00
in6_pcb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_pcbgroup.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
in6_proto.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_rmx.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_rss.c [netinet6]: Create a new IPv6 netisr which expects the frames to have been verified. 2015-11-06 23:07:43 +00:00
in6_rss.h Implement RSS hashing/re-hashing for IPv6 ingress packets. 2015-08-29 07:14:29 +00:00
in6_src.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
in6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6.c Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration. 2018-03-17 17:05:48 +00:00
in6.h Follow the RFC6980 and silently ignore following IPv6 NDP messages 2017-12-15 12:37:32 +00:00
ip6_ecn.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip6_fastfwd.c Evaluate packet size after the firewall had its chance in the ip6 fast path 2017-10-25 19:21:48 +00:00
ip6_forward.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip6_gre.c
ip6_id.c Fix some typos. 2017-12-28 20:40:56 +00:00
ip6_input.c Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
ip6_mroute.c Merge r1.120 from NetBSD: 2018-02-02 07:39:34 +00:00
ip6_mroute.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip6_output.c Refactor ip6_getpcbopt() for better locking and memory management 2018-03-22 23:34:48 +00:00
ip6_var.h Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
ip6.h
ip6protosw.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_fw_nat64.h Add ipfw_nat64 module that implements stateless and stateful NAT64. 2016-08-13 16:09:49 +00:00
ip_fw_nptv6.h Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6 2016-07-18 19:46:31 +00:00
mld6_var.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
mld6.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
mld6.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nd6_nbr.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
nd6_rtr.c Update the MTU in affected routes when IPv6 RA changes the MTU 2018-02-12 19:49:20 +00:00
nd6.c ND6: Set the correct state for new neighbor cache entries 2018-01-29 16:12:26 +00:00
nd6.h Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
pim6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pim6.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_ip6.c Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
raw_ip6.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
route6.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
scope6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
scope6.c sys/netinet6: fix typos in comments. No functional change. 2018-01-23 19:40:05 +00:00
sctp6_usrreq.c Retire SCTP_WITH_NO_CSUM option. 2017-12-07 22:19:08 +00:00
sctp6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
send.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
send.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
tcp6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
udp6_usrreq.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
udp6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00