NetBSD/sys/netipsec
jonathan d25d3eb263 Rework to make FAST_IPSEC PF_KEY dumps unicast and reliable:
Introduce new socket-layer function sbappendaddrchain() to
sys/kern/uipc_socket2.c: like sbappendaddr(), only takes a chain of
records and appends the entire chain in one pass. sbappendaddrchain()
also takes an `sbprio' argument, which indicates the caller requires
special `reliable' handling of the socket-buffer.  `sbprio' is
described in sys/sys/socketvar.h, although (for now) the different
levels are not yet implemented.

Rework sys/netipsec/key.c PF_KEY DUMP responses to build a chain of
mbuf records, one record per dump response. Unicast the entire chain
to the requestor, with all-or-none semantics.

Changed files;
 	sys/socketvar.h kern/uipc_socket2.c netipsec/key.c
Reviewed by:
	Jason Thorpe, Thor Lancelot Simon, post to tech-kern.

Todo: request pullup to 2.0 branch.  Post-2.0, rework sysctl() API for
dumps to use new record-chain constructors. Actually implement
the distinct service levels in sbappendaddrchain() so we can use them
to make PF_KEY ACQUIRE messages more reliable.
2004-05-27 19:19:00 +00:00
..
Makefile Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ah.h Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4. 2003-08-13 20:06:49 +00:00
ah_var.h Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
esp.h Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4. 2003-08-13 20:06:49 +00:00
esp_var.h Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
files.netipsec xform_tcp.c is needed only with FAST_IPSEC 2004-04-26 03:50:57 +00:00
ipcomp.h Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4. 2003-08-13 20:06:49 +00:00
ipcomp_var.h Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipip_var.h Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipsec.c Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipsec.h Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipsec6.h Dynamic sysctl. 2003-12-04 19:38:21 +00:00
ipsec_input.c Add `const' to the safety-catch local definition of ip6_protosw, 2004-04-24 23:28:13 +00:00
ipsec_mbuf.c Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipsec_netbsd.c Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipsec_osdep.h Minimal cleanup of sys/netipsec/ipsec{,_osdep}.h, to allow compiling 2004-04-30 04:12:29 +00:00
ipsec_output.c Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
ipsec_var.h Redo net.inet.* sysctl subtree for fast-ipsec from scratch. 2004-05-07 00:55:14 +00:00
key.c Rework to make FAST_IPSEC PF_KEY dumps unicast and reliable: 2004-05-27 19:19:00 +00:00
key.h Bring the PCB policy cache over from KAME IPsec, including the "hint" 2004-03-02 02:22:56 +00:00
key_debug.c Reversion of "netkey merge", part 2 (replacement of removed files in the 2003-10-06 22:05:15 +00:00
key_debug.h Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4. 2003-08-13 20:06:49 +00:00
key_var.h Add KEYCTL_DUMPSA/KEYCTL_DUMPSP support. 2003-12-12 21:04:03 +00:00
keydb.h Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4. 2003-08-13 20:06:49 +00:00
keysock.c Remove #else of #if __STDC__ 2004-04-26 01:41:15 +00:00
keysock.h Dynamic sysctl. 2003-12-04 19:38:21 +00:00
xform.h Initial import of Sam Leffler's `Fast-IPsec' from FreeBSD 4. 2003-08-13 20:06:49 +00:00
xform_ah.c Commit an old diff for AH which has been in my personal tree since 2004-05-01 03:00:42 +00:00
xform_esp.c sys/netinet6/ip6_ecn.h is reportedly a FreeBSD-ism; NetBSD has 2004-03-17 00:21:43 +00:00
xform_ipcomp.c Reversion of "netkey merge", part 2 (replacement of removed files in the 2003-10-06 22:05:15 +00:00
xform_ipip.c sys/netinet6/ip6_ecn.h is reportedly a FreeBSD-ism; NetBSD has 2004-03-17 00:21:43 +00:00
xform_tcp.c Initial commit of a port of the FreeBSD implementation of RFC 2385 2004-04-25 22:25:03 +00:00