freebsd-nq/sys/netinet6
Julien Charbon ff9b006d61 Decompose TCP INP_INFO lock to increase short-lived TCP connections scalability:
- The existing TCP INP_INFO lock continues to protect the global inpcb list
  stability during full list traversal (e.g. tcp_pcblist()).

- A new INP_LIST lock protects inpcb list actual modifications (inp allocation
  and free) and inpcb global counters.

It allows to use TCP INP_INFO_RLOCK lock in critical paths (e.g. tcp_input())
and INP_INFO_WLOCK only in occasional operations that walk all connections.

PR:			183659
Differential Revision:	https://reviews.freebsd.org/D2599
Reviewed by:		jhb, adrian
Tested by:		adrian, nitroboost-gmail.com
Sponsored by:		Verisign, Inc.
2015-08-03 12:13:54 +00:00
..
dest6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
frag6.c Move ip6_deletefraghdr() to frag6.c. 2015-02-16 05:58:32 +00:00
icmp6.c Move comment to the right position. 2015-07-03 09:53:56 +00:00
icmp6.h
in6_cksum.c Fix the checksum computation for UDPLite/IPv6. This requires the 2014-10-02 10:32:24 +00:00
in6_gif.c Eliminate the use of m_copydata() in gif_encapcheck(). 2015-07-29 14:07:43 +00:00
in6_ifattach.c Convert in_ifaddr_lock and in6_ifaddr_lock to rmlock. 2015-07-29 08:12:05 +00:00
in6_ifattach.h
in6_mcast.c Fix the IPV6_MULTICAST_IF sockopt handling. RFC 3493 says when the 2015-04-10 19:09:51 +00:00
in6_pcb.c Decompose TCP INP_INFO lock to increase short-lived TCP connections scalability: 2015-08-03 12:13:54 +00:00
in6_pcb.h Make in6_pcblookup_hash_locked and in6_pcbladdr static. 2014-09-10 13:17:35 +00:00
in6_pcbgroup.c Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific 2015-01-18 18:06:40 +00:00
in6_proto.c Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
in6_rmx.c CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
in6_rss.c Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific 2015-01-18 18:06:40 +00:00
in6_rss.h Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific 2015-01-18 18:06:40 +00:00
in6_src.c Properly handle IPV6_NEXTHOP socket option in selectroute(). 2015-08-02 12:40:56 +00:00
in6_var.h Convert in_ifaddr_lock and in6_ifaddr_lock to rmlock. 2015-07-29 08:12:05 +00:00
in6.c Convert in_ifaddr_lock and in6_ifaddr_lock to rmlock. 2015-07-29 08:12:05 +00:00
in6.h Provide functions to determine presence of a given address 2015-04-17 11:57:06 +00:00
ip6_ecn.h
ip6_forward.c Fix possible use after free due to security policy deletion. 2015-04-27 00:55:56 +00:00
ip6_gre.c Extern declarations in C files loses compile-time checking that 2014-12-25 21:32:37 +00:00
ip6_id.c Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
ip6_input.c Convert in_ifaddr_lock and in6_ifaddr_lock to rmlock. 2015-07-29 08:12:05 +00:00
ip6_ipsec.c Remove unneded #ifdef INET6 and IPSEC. This file compiled only when 2015-05-07 12:15:45 +00:00
ip6_ipsec.h Remove flag/flags argument from the following functions: 2014-12-11 18:35:34 +00:00
ip6_mroute.c o Make net.inet6.ip6.mif6table return special API structure, that doesn't 2015-04-06 22:12:18 +00:00
ip6_mroute.h o Make net.inet6.ip6.mif6table return special API structure, that doesn't 2015-04-06 22:12:18 +00:00
ip6_output.c Keep IPv6 address specified by IPV6_PKTINFO socket option in kernel 2015-07-03 19:01:38 +00:00
ip6_var.h Preserve IPv6 fragment IDs accross reassembly and refragmentation 2015-04-01 12:15:01 +00:00
ip6.h
ip6protosw.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
mld6_var.h - Rename 'struct mld_ifinfo' into 'struct mld_ifsoftc', since it really 2015-02-19 22:37:01 +00:00
mld6.c - Rename 'struct mld_ifinfo' into 'struct mld_ifsoftc', since it really 2015-02-19 22:37:01 +00:00
mld6.h
nd6_nbr.c - Remove ND6_IFF_IGNORELOOP. This functionality was useless in practice 2015-05-12 03:31:57 +00:00
nd6_rtr.c Mitigate Local Denial of Service with IPv6 Router Advertisements 2015-04-07 20:20:09 +00:00
nd6.c Add LLE event handler to report ND6 events to userland via rtsock. 2015-07-20 06:58:32 +00:00
nd6.h - Remove ND6_IFF_IGNORELOOP. This functionality was useless in practice 2015-05-12 03:31:57 +00:00
pim6_var.h Remove more constants related to static sysctl nodes. The MAXID constants 2014-02-25 18:44:33 +00:00
pim6.h
raw_ip6.c Do not count security policy violation twice. 2014-12-11 19:20:13 +00:00
raw_ip6.h Migrate structs ip6stat, icmp6stat and rip6stat to PCPU counters. 2013-07-09 09:54:54 +00:00
route6.c The r48589 promised to remove implicit inclusion of if_var.h soon. Prepare 2013-10-26 17:58:36 +00:00
scope6_var.h Add sa6_checkzone_ifp() function. It checks correctness of struct 2014-11-10 16:12:51 +00:00
scope6.c Add sa6_checkzone_ifp() function. It checks correctness of struct 2014-11-10 16:12:51 +00:00
sctp6_usrreq.c Move including netinet/icmp6.h around to avoid a problem when including 2015-07-25 18:26:09 +00:00
sctp6_var.h
send.c Free mbuf in case of error. 2013-12-17 10:53:17 +00:00
send.h
tcp6_var.h
udp6_usrreq.c Fix inverted logic bug that David Wolfskill found (thanks David!) 2015-07-22 09:29:50 +00:00
udp6_var.h Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. 2014-04-07 01:53:03 +00:00