freebsd-dev/sys/netinet
Jonathan Lemon df5e198723 Lock down the network interface queues. The queue mutex must be obtained
before adding/removing packets from the queue.  Also, the if_obytes and
if_omcasts fields should only be manipulated under protection of the mutex.

IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on
the queue.  An IF_LOCK macro is provided, as well as the old (mutex-less)
versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which
needs them, but their use is discouraged.

Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF,
which takes care of locking/enqueue, and also statistics updating/start
if necessary.
2000-11-25 07:35:38 +00:00
..
libalias mdoc(7) police: use the new feature of the An macro. 2000-11-22 08:47:35 +00:00
accf_data.c Remove headers not needed. 2000-10-07 23:15:17 +00:00
accf_http.c Remove unneeded #include <sys/proc.h> lines. 2000-10-29 13:57:19 +00:00
fil.c Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
icmp6.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
icmp_var.h sysctl'ize ICMP_BANDLIM and ICMP_BANDLIM_SUPPRESS_OUTPUT. 2000-05-22 16:12:28 +00:00
if_atm.c udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_atm.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
if_ether.c Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
if_ether.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_fddi.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
igmp_var.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
igmp.c Add #include <machine/in_cksum.h>, in order to pick up the checksum 2000-05-06 18:19:58 +00:00
igmp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_cksum.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_gif.c Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
in_gif.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
in_hostcache.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_hostcache.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
in_pcb.c Properly jail UDP sockets. This is quite a bit more tricky than TCP. 2000-09-17 13:35:42 +00:00
in_pcb.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
in_proto.c Make netstat(1) to be aware of divert(4) sockets. 2000-08-03 14:09:52 +00:00
in_rmx.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_systm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
in_var.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
in.c Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
in.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ip6.h remove m_pulldown statistics, which is highly experimental and does not 2000-07-12 16:39:13 +00:00
ip_auth.c Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ip_auth.h fix conflicts from rcsids 2000-10-26 12:33:42 +00:00
ip_compat.h Include sys/param.h for `__FreeBSD_version' rather than the non-existent 2000-10-27 12:53:31 +00:00
ip_divert.c Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
ip_dummynet.c Fixup (hopefully) bridging + ipfw + dummynet together... 2000-11-23 22:25:03 +00:00
ip_dummynet.h Implement WF2Q+ in dummynet. 2000-06-08 09:45:23 +00:00
ip_ecn.c sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ip_ecn.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ip_encap.c sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ip_encap.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ip_fil.c While I'm here, get rid of (now useless) MCLISREFERENCED and use MEXT_IS_REF 2000-11-11 23:05:59 +00:00
ip_fil.h activate pfil_hooks and covert ipfilter to use it 2000-07-31 13:11:42 +00:00
ip_flow.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_flow.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ip_frag.c fix conflicts from rcsids 2000-10-26 12:33:42 +00:00
ip_frag.h fix conflicts from rcsids 2000-10-26 12:33:42 +00:00
ip_ftp_pxy.c Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ip_fw.c Fixed the security breach I introduced in rev 1.145. 2000-11-07 09:20:32 +00:00
ip_fw.h Add new fields for more granularity: 2000-10-02 03:03:31 +00:00
ip_icmp.c Fixed the bug I have introduced in icmp_error() in revision 1.44. 2000-11-02 09:46:23 +00:00
ip_icmp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ip_input.c Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ip_log.c resolve conflicts 2000-08-13 04:31:06 +00:00
ip_mroute.c Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ip_mroute.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ip_nat.c Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ip_nat.h Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ip_output.c It's no longer true that "nobody uses ia beyond here"; it's now 2000-11-01 01:59:28 +00:00
ip_proxy.c fix conflicts 2000-05-24 04:21:35 +00:00
ip_proxy.h fix conflicts 2000-05-24 04:21:35 +00:00
ip_raudio_pxy.c Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ip_rcmd_pxy.c Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ip_state.c Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ip_state.h fix conflicts from rcsids 2000-10-26 12:33:42 +00:00
ip_var.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ip.h IPSEC support in the kernel. 1999-12-22 19:13:38 +00:00
ipl.h Fix conflicts creted by import. 2000-10-29 07:53:05 +00:00
ipprotosw.h activate pfil_hooks and covert ipfilter to use it 2000-07-31 13:11:42 +00:00
mlfk_ipl.c fix conflicts from rcsids 2000-10-26 12:33:42 +00:00
raw_ip.c Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
tcp_debug.c sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
tcp_debug.h Sorry in this just befor code freeze commit. 2000-01-29 11:49:07 +00:00
tcp_fsm.h Undo rev 1.10, which took out TH_FIN from the CLOSING state. This 1999-11-07 04:18:30 +00:00
tcp_input.c tp->snd_recover is part of the New Reno recovery algorithm, and should 2000-11-04 15:59:39 +00:00
tcp_output.c Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
tcp_reass.c tp->snd_recover is part of the New Reno recovery algorithm, and should 2000-11-04 15:59:39 +00:00
tcp_seq.h Use stronger random number generation for TCP_ISSINCR and tcp_iss. 2000-09-29 01:37:19 +00:00
tcp_subr.c Revert the last commit to the callout interface, and add a flag to 2000-11-25 06:22:16 +00:00
tcp_timer.c If TCPDEBUG is defined, we could dereference a tp which was freed. 2000-10-02 15:00:13 +00:00
tcp_timer.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
tcp_timewait.c Revert the last commit to the callout interface, and add a flag to 2000-11-25 06:22:16 +00:00
tcp_usrreq.c Support per socket based IPv4 mapped IPv6 addr enable/disable control. 2000-04-01 22:35:47 +00:00
tcp_var.h When a connection is being dropped due to a listen queue overflow, 2000-07-21 23:26:37 +00:00
tcp.h Implement TCP NewReno, as documented in RFC 2582. This allows 2000-05-06 03:31:09 +00:00
tcpip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
udp_usrreq.c Wrong checksum may have been computed for certain UDP packets. 2000-11-01 16:56:33 +00:00
udp_var.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
udp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00