freebsd-nq/sys/netinet
Gleb Smirnoff 25af0bb50e Add some initial locking to gif(4). It doesn't covers the whole driver,
however IPv4-in-IPv4 tunnels are now stable on SMP. Details:

- Add per-softc mutex.
- Hold the mutex on output.

The main problem was the rtentry, placed in softc. It could be
freed by ip_output(). Meanwhile, another thread being in
in_gif_output() can read and write this rtentry.

Reported by:	many
Tested by:	Alexander Shiryaev <aixp mail.ru>
2006-01-30 08:39:09 +00:00
..
libalias Fix prototype. 2005-11-24 14:17:35 +00:00
accf_data.c
accf_http.c
icmp6.h
icmp_var.h
if_atm.c
if_atm.h
if_ether.c Back out of r1.148, it causes two arp replies to be sent with different mac 2006-01-29 23:21:01 +00:00
if_ether.h
igmp_var.h
igmp.c
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
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
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
ip_carp.c
ip_carp.h
ip_divert.c
ip_divert.h
ip_dummynet.c First step in removing welding between ipfw(4) and dummynet. 2005-11-29 00:11:01 +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
ip_encap.h
ip_fastfwd.c Return mbuf pointer or NULL from ip_fastforward() as the mbuf pointer 2006-01-18 14:24:39 +00:00
ip_fw2.c Fix minor bug in uRPF: 2006-01-24 13:38:06 +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
ip_id.c
ip_input.c When doing IP forwarding with [FAST_]IPSEC compiled into the kernel 2006-01-24 17:57:19 +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
ip_options.c Remove 'ipprintfs' which were protected under DIAGNOSTIC. It doesn't 2005-11-19 17:04:52 +00:00
ip_options.h
ip_output.c In in_delayed_cksum() we can't perform a m_pullup() as it may 2006-01-18 18:49:16 +00:00
ip_var.h
ip.h
ipprotosw.h
pim_var.h
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
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
tcp_subr.c
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
tcp_timer.h
tcp_timewait.c
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
tcp.h
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