From 165dd8ea1256d71d6a4f52c0a66dcc2799ef8f99 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 8 Apr 2015 15:37:49 +0200 Subject: Update to FreeBSD Stable/9 2015-04-08 --- freebsd/sys/netinet6/in6_src.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'freebsd/sys/netinet6/in6_src.c') diff --git a/freebsd/sys/netinet6/in6_src.c b/freebsd/sys/netinet6/in6_src.c index cc2f5ee5..79beb703 100644 --- a/freebsd/sys/netinet6/in6_src.c +++ b/freebsd/sys/netinet6/in6_src.c @@ -444,6 +444,16 @@ in6_selectsrc(struct sockaddr_in6 *dstsock, struct ip6_pktopts *opts, (ia->ia_ifp->if_flags & IFF_UP)) REPLACE(8); + /* + * Rule 10: prefer address with `prefer_source' flag. + */ + if ((ia_best->ia6_flags & IN6_IFF_PREFER_SOURCE) == 0 && + (ia->ia6_flags & IN6_IFF_PREFER_SOURCE) != 0) + REPLACE(10); + if ((ia_best->ia6_flags & IN6_IFF_PREFER_SOURCE) != 0 && + (ia->ia6_flags & IN6_IFF_PREFER_SOURCE) == 0) + NEXT(10); + /* * Rule 14: Use longest matching prefix. * Note: in the address selection draft, this rule is -- cgit v1.2.3