]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Implement IPv4 source address selection for unbound sockets.
authorbz <bz@FreeBSD.org>
Fri, 3 Oct 2008 12:21:21 +0000 (12:21 +0000)
committerbz <bz@FreeBSD.org>
Fri, 3 Oct 2008 12:21:21 +0000 (12:21 +0000)
commitfa40502272affacff314b996f52032651539d2cd
tree1ad605f21b75795381722fef095d8c7d44cada04
parent64e78e1d64d20a09b6399c7e822ae30d0f442837
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
sys/netinet/in_pcb.c