freebsd-nq/sys/netinet
Robert Watson 8501a69cc9 Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to
explicitly select write locking for all use of the inpcb mutex.
Update some pcbinfo lock assertions to assert locked rather than
write-locked, although in practice almost all uses of the pcbinfo
rwlock main exclusive, and all instances of inpcb lock acquisition
are exclusive.

This change should introduce (ideally) little functional change.
However, it lays the groundwork for significantly increased
parallelism in the TCP/IP code.

MFC after:	3 months
Tested by:	kris (superset of committered patch)
2008-04-17 21:38:18 +00:00
..
libalias Explicitate the newpacket size. 2008-03-19 11:28:13 +00:00
accf_data.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
accf_http.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
icmp6.h - Disabled responding to NI queries from a global address by default as 2007-05-17 21:20:24 +00:00
icmp_var.h Attempt to improve feature parity between UDPv4 and UDPv6 by merging 2007-07-19 22:34:25 +00:00
if_atm.c
if_atm.h
if_ether.c Don't duplicate the whole of arpresolve to arpresolve 2 for the sake 2007-12-31 23:48:06 +00:00
if_ether.h Don't duplicate the whole of arpresolve to arpresolve 2 for the sake 2007-12-31 23:48:06 +00:00
igmp_var.h Import rewrite of IPv4 socket multicast layer to support source-specific 2007-06-12 16:24:56 +00:00
igmp.c Move towards more explicit support for various network protocol stacks 2007-10-28 15:55:23 +00:00
igmp.h Stub out imported IGMPv3 definitions which clash with those of 2007-06-15 18:59:10 +00:00
in_cksum.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
in_gif.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
in_gif.h
in_mcast.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
in_pcb.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
in_pcb.h Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
in_proto.c This patch provides the back end support for equal-cost multi-path 2008-04-13 05:45:14 +00:00
in_rmx.c Remove unused structure member from struct in_ifadown_arg. 2008-02-07 11:26:52 +00:00
in_systm.h
in_var.h Import rewrite of IPv4 socket multicast layer to support source-specific 2007-06-12 16:24:56 +00:00
in.c Differentiate between addifaddr and delifaddr for the privilege check. 2008-01-24 08:14:38 +00:00
in.h Clean up the code that checks the types of address so that it is 2008-04-17 12:50:42 +00:00
ip6.h
ip_carp.c If the vhid already present, return EEXIST instead of 2008-02-07 13:18:59 +00:00
ip_carp.h Make sure that carp_header is 36 bytes long 2006-12-01 18:37:41 +00:00
ip_divert.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
ip_divert.h
ip_dummynet.c Dummynet has a limit of 100 slots queue size (or 1MB, if you give 2008-02-27 13:52:33 +00:00
ip_dummynet.h 1) dummynet_io() declaration has changed. 2007-11-06 23:01:42 +00:00
ip_ecn.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
ip_ecn.h
ip_encap.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
ip_encap.h
ip_fastfwd.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
ip_fw2.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
ip_fw_nat.c When unloading kld, don't forget to flush the nat pointers. 2008-03-03 22:32:01 +00:00
ip_fw_pfil.c Raise a bit ipfw kld priority. 2008-03-03 10:12:46 +00:00
ip_fw.h Move ipfw's nat code into its own kld: ipfw_nat. 2008-02-29 22:27:19 +00:00
ip_gre.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
ip_gre.h Fix stack corruptions on amd64. 2006-01-21 10:44:34 +00:00
ip_icmp.c Clean up the code that checks the types of address so that it is 2008-04-17 12:50:42 +00:00
ip_icmp.h
ip_id.c Replace the random IP ID generation code we 2008-02-06 15:40:30 +00:00
ip_input.c Take the route mtu into account, if available, when sending an 2008-04-09 05:17:18 +00:00
ip_ipsec.c Take the route mtu into account, if available, when sending an 2008-04-09 05:17:18 +00:00
ip_ipsec.h Take the route mtu into account, if available, when sending an 2008-04-09 05:17:18 +00:00
ip_mroute.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
ip_mroute.h Store the cached route in vifp in the normal send_packet() case. 2007-02-08 23:05:08 +00:00
ip_options.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
ip_options.h Normalize style a bit: reduce pseudo-randomness of comment layout and 2007-05-11 10:48:30 +00:00
ip_output.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
ip_var.h Import rewrite of IPv4 socket multicast layer to support source-specific 2007-06-12 16:24:56 +00:00
ip.h Remove IPTOS_CE and IPTOS_ECT constants. They were defined in RFC 2481 2007-10-19 12:46:15 +00:00
ipprotosw.h
pim_var.h
pim.h
raw_ip.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
sctp_asconf.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_asconf.h - Get rid of unsused constants for sysctl variables. 2007-09-15 19:07:42 +00:00
sctp_auth.c - Fix a bug where the socket may have been closed which 2008-01-28 10:31:12 +00:00
sctp_auth.h - fix send_failed notification contents 2007-06-09 13:46:57 +00:00
sctp_bsd_addr.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_bsd_addr.h Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_cc_functions.c - Locking compatiability changes. This involves adding 2007-09-08 11:35:11 +00:00
sctp_cc_functions.h - Added some comments to tell where the htcp 2007-09-10 17:06:25 +00:00
sctp_constants.h New logging values. 2008-04-14 14:33:07 +00:00
sctp_crc32.c - Copyright change, cisco's silly tool wants it to say: 2007-05-08 17:01:12 +00:00
sctp_crc32.h - Copyright change, cisco's silly tool wants it to say: 2007-05-08 17:01:12 +00:00
sctp_header.h - Fix address add handling to clear cached routes and source addresses 2007-08-24 00:53:53 +00:00
sctp_indata.c Protection against errant sender sending a stream 2008-04-14 14:34:29 +00:00
sctp_indata.h - Fix stream reset so it limits the number of streams that can be listed 2007-06-22 13:50:56 +00:00
sctp_input.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_input.h - Consolidate the code that free's chunks to actually also 2007-07-02 19:22:22 +00:00
sctp_lock_bsd.h - The address lock is changed to a rwlock. This 2007-09-18 15:16:39 +00:00
sctp_os_bsd.h - The address lock is changed to a rwlock. This 2007-09-18 15:16:39 +00:00
sctp_os.h - Fix address add handling to clear cached routes and source addresses 2007-08-24 00:53:53 +00:00
sctp_output.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_output.h - Bug fix managing congestion parameter on immediate 2007-10-01 03:22:29 +00:00
sctp_pcb.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_pcb.h Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_peeloff.c Correct two problems relating to sorflush(), which is called to flush 2008-01-31 08:22:24 +00:00
sctp_peeloff.h - Copyright change, cisco's silly tool wants it to say: 2007-05-08 17:01:12 +00:00
sctp_structs.h - Found a problem in non-blocking sends. When 2007-12-04 14:41:48 +00:00
sctp_sysctl.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_sysctl.h - Get rid of unsused constants for sysctl variables. 2007-09-15 19:07:42 +00:00
sctp_timer.c - fix sctp_ifn initial refcount issue (prevents deletion) 2007-10-16 14:05:51 +00:00
sctp_timer.h - Incorrect error EAGAIN returned for invalid send on a locked 2007-09-13 10:36:43 +00:00
sctp_uio.h - The address lock is changed to a rwlock. This 2007-09-18 15:16:39 +00:00
sctp_usrreq.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp_var.h Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctp.h - Found a problem in non-blocking sends. When 2007-12-04 14:41:48 +00:00
sctputil.c Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
sctputil.h Allow SCTP to compile without INET6. 2008-04-16 17:24:18 +00:00
tcp_debug.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
tcp_debug.h o Use a define for a buffer size. 2007-03-24 22:15:02 +00:00
tcp_fsm.h Make tcpstates[] static, and make sure TCPSTATES is defined before 2007-07-30 11:06:42 +00:00
tcp_hostcache.c Add FBSDID to all files in netinet so that people can more 2007-10-07 20:44:24 +00:00
tcp_input.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_offload.c Remove extraneous debug statements. 2007-12-19 05:17:40 +00:00
tcp_offload.h Incorporate TCP offload hooks in to core TCP code. 2007-12-18 22:59:07 +00:00
tcp_output.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_reass.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_sack.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_seq.h Remove T/TCP RFC1644 Connection Count comparison macros. They are no longer 2006-06-18 14:24:12 +00:00
tcp_subr.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_syncache.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_syncache.h Add interface for tcp offload to syncache: 2007-12-12 20:35:59 +00:00
tcp_timer.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_timer.h Two changes: 2007-09-24 05:26:24 +00:00
tcp_timewait.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_usrreq.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
tcp_var.h Change FreeBSD 7 so that it returns TCP options in 2008-02-24 05:13:20 +00:00
tcp.h Use #defines for TCP options padding after EOL to be consistent. 2008-04-07 18:43:59 +00:00
tcpip.h
toedev.h Update the toedev's connect interface to reflect the fact that the inpcb 2007-12-16 05:30:21 +00:00
udp_usrreq.c Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to 2008-04-17 21:38:18 +00:00
udp_var.h Further cleanup of UDPv4: 2007-07-10 09:30:46 +00:00
udp.h Gratuitous UDP restyling toward style(9) in 7.x. 2007-02-20 10:13:11 +00:00