bz fa40502272 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
..
2008-09-29 13:48:48 +00:00
2008-08-25 05:49:16 +00:00
2008-07-29 09:06:35 +00:00
Nit
2008-08-09 11:28:57 +00:00
2008-07-29 09:06:35 +00:00
2008-07-29 09:06:35 +00:00
2008-08-28 09:44:07 +00:00
2008-08-28 09:44:07 +00:00
2008-06-11 22:12:50 +00:00