freebsd-nq/sys/netinet
Gleb Smirnoff a7908db153 Dropping the lock in the transmit_event() is not safe, because we
store some pipe pointers on stack. If user reconfigures dummynet
in the interlock gap, we can work with freed pipes after relock.

To fix this, we decided not to send packets in transmit_event(),
but fill a queue. At the end of dummynet() and dummynet_io(),
after the lock is dropped, if there is something in the queue
we run dummynet_send() to process the queue.

In collaboration with:	ru
2006-02-03 11:38:19 +00:00
..
libalias Fix prototype. 2005-11-24 14:17:35 +00:00
accf_data.c
accf_http.c
icmp6.h sync with KAME regarding NDP 2005-10-21 16:23:01 +00:00
icmp_var.h
if_atm.c Add newline to debuging printf. 2005-08-26 15:27:18 +00:00
if_atm.h
if_ether.c Now that the bridge also processes Ethernet frames as itself, two arp replies 2006-01-31 21:29:41 +00:00
if_ether.h
igmp_var.h
igmp.c Consolidate all IP Options handling functions into ip_options.[ch] and 2005-11-18 20:12:40 +00:00
igmp.h
in_cksum.c
in_gif.c Add some initial locking to gif(4). It doesn't covers the whole driver, 2006-01-30 08:39:09 +00:00
in_gif.h
in_pcb.c Convert remaining functions to ANSI C function declarations; remove 2006-01-22 01:16:25 +00:00
in_pcb.h Implement IP_DONTFRAG IP socket option enabling the Don't Fragment 2005-09-26 20:25:16 +00:00
in_proto.c Add RFC 3378 EtherIP support. This change makes it possible to add gif 2005-12-21 21:29:45 +00:00
in_rmx.c Use monotonic 'time_uptime' instead of 'time_second' as timebase 2005-09-19 22:54:55 +00:00
in_systm.h
in_var.h Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
in.c In in_control() remove the temporary in_ifaddr structure from the 2006-01-24 16:19:31 +00:00
in.h Use consistent indent character as other IPPROTO_* lines did. 2005-12-20 09:38:03 +00:00
ip6.h move RFC3542 related definitions into ip6.h. 2005-07-20 10:30:52 +00:00
ip_carp.c MFOpenBSD 1.62: 2005-11-17 12:56:40 +00:00
ip_carp.h
ip_divert.c Use sparse initializers for "struct domain" and "struct protosw", 2005-11-09 13:29:16 +00:00
ip_divert.h
ip_dummynet.c Dropping the lock in the transmit_event() is not safe, because we 2006-02-03 11:38:19 +00:00
ip_dummynet.h First step in removing welding between ipfw(4) and dummynet. 2005-11-29 00:11:01 +00:00
ip_ecn.c
ip_ecn.h
ip_encap.c Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
ip_encap.h
ip_fastfwd.c Somewhat re-factor the read/write locking mechanism associated with the packet 2006-02-02 03:13:16 +00:00
ip_fw2.c Use PFIL_HOOKED macros in if_bridge and pass the right argument to 2006-02-02 16:41:20 +00:00
ip_fw_pfil.c obey opt_inet6.h and opt_ipsec.h in kernel build directory. 2005-11-29 17:56:11 +00:00
ip_fw.h Add a new feature for optimizining ipfw rulesets - substitution of the 2005-12-13 12:16:03 +00:00
ip_gre.c Convert last remaining function in ip_gre.c to ANSI C function 2006-01-22 01:08:30 +00:00
ip_gre.h Fix stack corruptions on amd64. 2006-01-21 10:44:34 +00:00
ip_icmp.c Fix build. 2006-01-23 20:10:49 +00:00
ip_icmp.h Pass icmp_error() the MTU argument directly instead of 2005-05-04 13:09:19 +00:00
ip_id.c
ip_input.c Somewhat re-factor the read/write locking mechanism associated with the packet 2006-02-02 03:13:16 +00:00
ip_ipsec.c Move the IPSEC related code blocks to their own file to unclutter 2006-02-01 13:55:03 +00:00
ip_ipsec.h Move the IPSEC related code blocks to their own file to unclutter 2006-02-01 13:55:03 +00:00
ip_mroute.c In ip_mdq() compute the TV_DELTA the correct way around. 2006-01-24 17:09:12 +00:00
ip_mroute.h Brain-o (use standard int types now). 2006-02-01 06:15:37 +00:00
ip_options.c Remove 'ipprintfs' which were protected under DIAGNOSTIC. It doesn't 2005-11-19 17:04:52 +00:00
ip_options.h Move MAX_IPOPTLEN and struct ipoption back into ip_var.h as 2005-11-19 14:01:32 +00:00
ip_output.c Somewhat re-factor the read/write locking mechanism associated with the packet 2006-02-02 03:13:16 +00:00
ip_var.h Move MAX_IPOPTLEN and struct ipoption back into ip_var.h as 2005-11-19 14:01:32 +00:00
ip.h
ipprotosw.h
pim_var.h Remove public declarations of variables that were forgotten when they were 2005-08-10 07:10:02 +00:00
pim.h
raw_ip.c Fix a bunch of SYSCTL_INT() that should have been SYSCTL_ULONG() to 2005-12-14 22:27:48 +00:00
tcp_debug.c
tcp_debug.h
tcp_fsm.h
tcp_hostcache.c
tcp_input.c Do not derefence the ip header pointer in the IPv6 case. 2006-01-18 18:59:30 +00:00
tcp_output.c Consolidate all IP Options handling functions into ip_options.[ch] and 2005-11-18 20:12:40 +00:00
tcp_reass.c Do not derefence the ip header pointer in the IPv6 case. 2006-01-18 18:59:30 +00:00
tcp_sack.c Fix for a bug that causes SACK scoreboard corruption when the limit 2005-11-21 19:22:10 +00:00
tcp_seq.h - Tighten up the Timestamp checks to prevent a spoofed segment from 2005-04-10 05:24:59 +00:00
tcp_subr.c Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
tcp_syncache.c In syncache_expand() insert a proper syncache_free() to fix a case 2006-01-18 18:25:03 +00:00
tcp_timer.c Remove no-op spl's and most comment references to spls, as TCP locking 2005-07-19 12:21:26 +00:00
tcp_timer.h
tcp_timewait.c Retire MT_HEADER mbuf type and change its users to use MT_DATA. 2005-11-02 13:46:32 +00:00
tcp_usrreq.c Fix a bunch of SYSCTL_INT() that should have been SYSCTL_ULONG() to 2005-12-14 22:27:48 +00:00
tcp_var.h - Postpone SACK option processing until after PAWS checks. SACK option 2005-06-27 22:27:42 +00:00
tcp.h Fix up the comment for MAX_SACK_BLKS. 2005-08-24 02:47:16 +00:00
tcpip.h
udp_usrreq.c Implement 'ipfw fwd laddr,port' feature for UDP. According to ipfw(8) 2006-01-24 09:08:54 +00:00
udp_var.h
udp.h