freebsd-dev/sys/netinet6
Max Laier d6a8d58875 Add an additional struct inpcb * argument to pfil(9) in order to enable
passing along socket information. This is required to work around a LOR with
the socket code which results in an easy reproducible hard lockup with
debug.mpsafenet=1. This commit does *not* fix the LOR, but enables us to do
so later. The missing piece is to turn the filter locking into a leaf lock
and will follow in a seperate (later) commit.

This will hopefully be MT5'ed in order to fix the problem for RELENG_5 in
forseeable future.

Suggested by:		rwatson
A lot of work by:	csjp (he'd be even more helpful w/o mentor-reviews ;)
Reviewed by:		rwatson, csjp
Tested by:		-pf, -ipfw, LINT, csjp and myself
MFC after:		3 days

LOR IDs:		14 - 17 (not fixed yet)
2004-09-29 04:54:33 +00:00
..
ah6.h
ah_aesxcbcmac.c
ah_aesxcbcmac.h
ah_core.c
ah_input.c Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
ah_output.c
ah.h
dest6.c
esp6.h
esp_aesctr.c
esp_aesctr.h
esp_core.c
esp_input.c Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
esp_output.c
esp_rijndael.c
esp_rijndael.h
esp.h
frag6.c Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSD 2004-08-14 15:32:40 +00:00
icmp6.c
icmp6.h
in6_cksum.c
in6_gif.c
in6_gif.h
in6_ifattach.c Remove in6_prefix.[ch] and the contained router renumbering capability. 2004-08-23 03:00:27 +00:00
in6_ifattach.h
in6_pcb.c When notifying protocol components of an event on an in6pcb, use the 2004-08-21 17:38:48 +00:00
in6_pcb.h Pass pcbinfo structures to in6_pcbnotify() rather than pcbhead 2004-08-06 03:45:45 +00:00
in6_proto.c Remove in6_prefix.[ch] and the contained router renumbering capability. 2004-08-23 03:00:27 +00:00
in6_rmx.c
in6_src.c
in6_var.h
in6.c Remove in6_prefix.[ch] and the contained router renumbering capability. 2004-08-23 03:00:27 +00:00
in6.h
ip6_ecn.h
ip6_forward.c Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
ip6_fw.c Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-22 17:16:04 +00:00
ip6_fw.h
ip6_id.c Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSD 2004-08-14 15:32:40 +00:00
ip6_input.c Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
ip6_mroute.c
ip6_mroute.h
ip6_output.c Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
ip6_var.h Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
ip6.h
ip6protosw.h
ipcomp6.h
ipcomp_core.c
ipcomp_input.c
ipcomp_output.c
ipcomp.h
ipsec6.h
ipsec.c Mark Netgraph TTY, KAME IPSEC, and IPX/SPX as requiring Giant for correct 2004-08-28 15:24:53 +00:00
ipsec.h
mld6_var.h
mld6.c
nd6_nbr.c
nd6_rtr.c
nd6.c Call callout_init() on nd6_slowtimo_ch before setting it going; otherwise, 2004-09-05 17:27:54 +00:00
nd6.h
pim6_var.h
pim6.h
raw_ip6.c Unlock rather than lock the ripcbinfo lock at the end of rip6_input(). 2004-09-02 20:18:02 +00:00
raw_ip6.h
README
route6.c
scope6_var.h
scope6.c
tcp6_var.h
udp6_output.c
udp6_usrreq.c Pass pcbinfo structures to in6_pcbnotify() rather than pcbhead 2004-08-06 03:45:45 +00:00
udp6_var.h

a note to committers about KAME tree
$FreeBSD$
KAME project


FreeBSD IPv6/IPsec tree is from KAMEproject (http://www.kame.net/).
To synchronize KAME tree and FreeBSD better today and in the future,
please understand the following:

- DO NOT MAKE COSTMETIC CHANGES.
  "Cosmetic changes" here includes tabify, untabify, removal of space at EOL,
  minor KNF items, and whatever adds more output lines on "diff freebsd kame".
  To make future synchronization easier. it is critical to preserve certain
  statements in the code.  Also, as KAME tree supports all 4 BSDs (Free, Open,
  Net, BSD/OS) in single shared tree, it is not always possible to backport
  FreeBSD changes into KAME tree.  So again, please do not make cosmetic
  changes.  Even if you think it a right thing, that will bite KAME guys badly
  during upgrade attempts, and prevent us from synchronizing two trees.
  (you don't usually make cosmetic changes against third-party code, do you?)

- REPORT CHANGES/BUGS TO KAME GUYS.
  It is not always possible for KAME guys to watch all the freebsd mailing
  list traffic, as the traffic is HUGE.  So if possible, please, inform
  kame guys of changes you made in IPv6/IPsec related portion.  Contact
  path would be snap-users@kame.net or KAME PR database on www.kame.net.
  (or to core@kame.net if it is necessary to make it confidential)

Thank you for your cooperation and have a happy IPv6 life!


Note: KAME-origin code is in the following locations.
The above notice applies to corresponding manpages too.
The list may not be complete.  If you see $KAME$ in the code, it is from
KAME distribution.  If you see some file that is IPv6/IPsec related, it is
highly possible that the file is from KAME distribution.

include/ifaddrs.h
lib/libc/net
lib/libc/net/getaddrinfo.c
lib/libc/net/getifaddrs.c
lib/libc/net/getnameinfo.c
lib/libc/net/ifname.c
lib/libc/net/ip6opt.c
lib/libc/net/map_v4v6.c
lib/libc/net/name6.c
lib/libftpio
lib/libipsec
sbin/ip6fw
sbin/ping6
sbin/rtsol
share/doc/IPv6
share/man/man4/ip6.4
share/man/man4/inet6.4
sys/crypto (except sys/crypto/rc4)
sys/kern/uipc_mbuf2.c
sys/net/if_faith.[ch]
sys/net/if_gif.[ch]
sys/net/if_stf.[ch]
sys/net/pfkeyv2.h
sys/netinet/icmp6.h
sys/netinet/in_gif.[ch]
sys/netinet/ip6.h
sys/netinet/ip_encap.[ch]
sys/netinet6
sys/netkey
usr.sbin/faithd
usr.sbin/gifconfig
usr.sbin/ifmcstat
usr.sbin/mld6query
usr.sbin/ndp
usr.sbin/pim6dd
usr.sbin/pim6sd
usr.sbin/prefix
usr.sbin/rip6query
usr.sbin/route6d
usr.sbin/rrenumd
usr.sbin/rtadvd
usr.sbin/rtsold
usr.sbin/scope6config
usr.sbin/setkey
usr.sbin/traceroute6