freebsd-skq/sys/netinet
rwatson 77ca9e76cd In udp_append() and udp_input(), make use of read locking on incpbs
rather than write locking: while we need to maintain a valid reference
to the inpcb and fix its state, no protocol layer state is modified
during an IPv4 UDP receive -- there are only changes at the socket
layer, which is separately protected by socket locking.

While parallel concurrent receive on a single UDP socket is currently
relatively unusual, introducing read locking in the transmit path,
allowing concurrent receive and transmit, will significantly improve
performance for loads such as BIND, memcached, etc.

MFC after:	2 months
Tested by:	gnn, kris, ps
2008-06-30 18:26:43 +00:00
..
libalias Partially revert previous commit. DeleteLink() does not deletes permanent 2008-06-22 11:39:42 +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 Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
if_atm.h
if_ether.c Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +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 code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
in_gif.h
in_mcast.c Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
in_pcb.c Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
in_pcb.h Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +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 Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
in_systm.h
in_var.h Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
in.c In case of interface initialization failure remove struct in_ifaddr* from 2008-06-24 13:58:28 +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 Sort IP addresses before hashing them for the signature. Otherwise carp is 2008-06-02 18:58:07 +00:00
ip_carp.h
ip_divert.c Read lock, rather than write lock, the inpcb when transmitting with or 2008-04-21 12:03:59 +00:00
ip_divert.h
ip_dummynet.c Consistently check IPFW and DUMMYNET privileges in the configuration 2008-05-22 08:10:31 +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 code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
ip_fw2.c Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
ip_fw_nat.c PKT_ALIAS_FOUND_HEADER_FRAGMENT result is not an error, so pass that packet. 2008-06-01 12:29:23 +00:00
ip_fw_pfil.c Raise a bit ipfw kld priority. 2008-03-03 10:12:46 +00:00
ip_fw.h Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +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
ip_icmp.c Fix the loopback interface. Cleaning up some code with new macros 2008-05-12 02:44:53 +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 Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +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 code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
ip_mroute.h Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
ip_options.c Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +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 Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
ip_var.h Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +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 Consistently check IPFW and DUMMYNET privileges in the configuration 2008-05-22 08:10:31 +00:00
sctp_asconf.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_asconf.h - Adds support for the multi-asconf (From Kozuka-san) 2008-05-20 13:47:46 +00:00
sctp_auth.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_auth.h - fix send_failed notification contents 2007-06-09 13:46:57 +00:00
sctp_bsd_addr.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_bsd_addr.h - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_cc_functions.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +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 - Adds support for the multi-asconf (From Kozuka-san) 2008-05-20 13:47:46 +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 - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_indata.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +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 - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_input.h - Adds support for the multi-asconf (From Kozuka-san) 2008-05-20 13:47:46 +00:00
sctp_lock_bsd.h - Fixes foobar on my part. Some missing virtualization macros from 2008-06-14 13:24:49 +00:00
sctp_os_bsd.h - Fixes foobar on my part. Some missing virtualization macros from 2008-06-14 13:24:49 +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 - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_output.h - Adds support for the multi-asconf (From Kozuka-san) 2008-05-20 13:47:46 +00:00
sctp_pcb.c More prep for Vimage: 2008-06-15 12:31:23 +00:00
sctp_pcb.h More prep for Vimage: 2008-06-15 12:31:23 +00:00
sctp_peeloff.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +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 - Adds support for the multi-asconf (From Kozuka-san) 2008-05-20 13:47:46 +00:00
sctp_sysctl.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_sysctl.h - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_timer.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +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 - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctp_usrreq.c More prep for Vimage: 2008-06-15 12:31:23 +00:00
sctp_var.h More prep for Vimage: 2008-06-15 12:31:23 +00:00
sctp.h - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctputil.c - Macro-izes the packed declaration in all headers. 2008-06-14 07:58:05 +00:00
sctputil.h - Adds support for the multi-asconf (From Kozuka-san) 2008-05-20 13:47:46 +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 Add code to allow the system to handle multiple routing tables. 2008-05-09 23:03:00 +00:00
tcp_lro.c Add generic TCP LOR into netinet 2008-06-11 22:12:50 +00:00
tcp_lro.h Add generic TCP LOR into netinet 2008-06-11 22:12:50 +00:00
tcp_offload.c Remove extraneous debug statements. 2007-12-19 05:17:40 +00:00
tcp_offload.h move cxgb_lt2.[ch] from NIC to TOE 2008-04-19 03:22:43 +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
tcp_subr.c When allocating temporary storage to hold a TCP/IP packet header 2008-06-02 14:20:26 +00:00
tcp_syncache.c Change incorrect stale cookie detection in syncookie_lookup() that prematurely 2008-06-16 20:08:22 +00:00
tcp_syncache.h Add interface for tcp offload to syncache: 2007-12-12 20:35:59 +00:00
tcp_timer.c When allocating temporary storage to hold a TCP/IP packet header 2008-06-02 14:20:26 +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 replace spaces added in last change with tabs 2008-05-05 23:13:27 +00:00
tcp_var.h Revert to rev. 1.161 - switch back to optimized TCP options ordering. 2008-04-20 18:36:59 +00:00
tcp.h add rcv_nxt, snd_nxt, and toe offload id to FreeBSD-specific 2008-05-05 20:13:31 +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 In udp_append() and udp_input(), make use of read locking on incpbs 2008-06-30 18:26:43 +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