opnsense-src/sys
Bjoern A. Zeeb 0895aec30c Implement IPv4 source address selection for unbound sockets.
For the jail case we are already looping over the interface addresses
before falling back to the only IP address of a jail in case of no
match. This is in preparation for the upcoming multi-IPv4/v6/no-IP
jail patch this change was developed with initially.

This also changes the semantics of selecting the IP for processes within
a jail as it now uses the same logic as outside the jail (with additional
checks) but no longer is on a mutually exclusive code path.

Benchmarks had shown no difference at 95.0% confidence for neither the
plain nor the jail case (even with the additional overhead).  See:
http://lists.freebsd.org/pipermail/freebsd-net/2008-September/019531.html

Inpsired by a patch from:	Yahoo! (partially)
Tested by:			latest multi-IP jail patch users (implictly)
Discussed with:			rwatson (general things around this)
Reviewed by:			mostly silence (feedback from bms)
Help with benchmarking from:	kris
MFC after:			2 months
2008-10-03 12:21:21 +00:00
..
amd64 - Add driver for Attansic L2 FastEthernet controller found on 2008-10-03 10:31:31 +00:00
arm Allow static hints to override kenv. 2008-10-02 22:31:30 +00:00
boot Backout rev 183181. It appears that I should have been using boot-device 2008-09-19 19:49:58 +00:00
bsm When MPSAFE ttys were merged, a new BSM audit event identifier was 2008-08-24 21:20:35 +00:00
cam Replace all calls to minor() with dev2unit(). 2008-09-27 08:51:18 +00:00
cddl Disable use of the user credentials until there is code to set the levels 2008-09-27 17:52:48 +00:00
compat Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
conf - Add driver for Attansic L2 FastEthernet controller found on 2008-10-03 10:31:31 +00:00
contrib Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
crypto Simplify session selection/allocation. 2008-08-09 20:01:01 +00:00
ddb Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
dev - Add driver for Attansic L2 FastEthernet controller found on 2008-10-03 10:31:31 +00:00
fs Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
gdb
geom - Use the new gv_write_header function to write out the header when removing a 2008-10-02 10:01:05 +00:00
gnu fdescfs, devfs, mqueuefs, nfs, portalfs, pseudofs, tmpfs and xfs 2008-09-20 19:50:52 +00:00
i386 - Add driver for Attansic L2 FastEthernet controller found on 2008-10-03 10:31:31 +00:00
ia64 Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
isa MFp4 (my newcard tree): 2008-08-24 07:40:14 +00:00
kern Remove or update several stale comments. 2008-10-03 09:01:55 +00:00
libkern The kernel implemented 'memcmp' is an alias for 'bcmp'. However, memcmp 2008-09-23 14:45:10 +00:00
mips Remove critical_enter() and critical_exit(): pmap_growkernel is called 2008-10-01 05:47:17 +00:00
modules - Add driver for Attansic L2 FastEthernet controller found on 2008-10-03 10:31:31 +00:00
net Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
net80211 Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
netatalk Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netgraph Update ng_tty for MPSAFE TTY. 2008-10-03 05:14:54 +00:00
netinet Implement IPv4 source address selection for unbound sockets. 2008-10-03 12:21:21 +00:00
netinet6 Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
netipsec Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
netipx Remove the suser(9) interface from the kernel. It has been replaced from 2008-09-17 15:49:44 +00:00
netnatm Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netncp
netsmb Replace all calls to minor() with dev2unit(). 2008-09-27 08:51:18 +00:00
nfs
nfs4client Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread 2008-08-28 15:23:18 +00:00
nfsclient Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
nfsserver Remove the suser(9) interface from the kernel. It has been replaced from 2008-09-17 15:49:44 +00:00
nlm Rename RPC's 'struct pmap' to 'struct portmap' to avoid confusing it with 2008-08-25 09:36:17 +00:00
opencrypto
pc98 Replace all calls to minor() with dev2unit(). 2008-09-27 08:51:18 +00:00
pccard
pci Move wb driver from sys/pci to sys/dev/wb. 2008-08-14 21:26:29 +00:00
powerpc Remove ipi_all() and ipi_self() as the former hasn't been used at 2008-09-28 18:34:14 +00:00
rpc Step 1.5 of importing the network stack virtualization infrastructure 2008-10-02 15:37:58 +00:00
security Remove unit2minor() use from kernel code. 2008-09-26 14:19:52 +00:00
sparc64 Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
sun4v Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
sys Remove __Break_the_struct_layout_for_now field from struct pr_usrreqs, 2008-10-02 18:12:42 +00:00
tools
ufs Enable shared lookups on UFS. There are some remaining issues with forced 2008-09-24 18:53:04 +00:00
vm Move the code for doing out-of-memory grass from vm_pageout_scan() 2008-09-29 19:45:12 +00:00
xdr
xen move ipi_pcpu to evtchn.c 2008-09-26 05:54:24 +00:00
Makefile Improve the glimpse target: don't index .svn and compile directories. 2008-08-15 14:11:30 +00:00