Author: melifaro Date: Sun Apr 26 18:07:35 2020 New Revision: 360348 URL: https://svnweb.freebsd.org/changeset/base/360348
Log: Fix IPv6 link-local operations with RADIX_MPATH. It was broken by r360292 as fib6_lookup() assumes de-embedded addresses while rtalloc_mpath_fib() requires sockaddr with embedded ones. New fib6_lookup() transparently supports multipath, hence remove old RADIX_MPATH condition. Modified: head/sys/netinet6/in6_src.c Modified: head/sys/netinet6/in6_src.c ============================================================================== --- head/sys/netinet6/in6_src.c Sun Apr 26 16:30:00 2020 (r360347) +++ head/sys/netinet6/in6_src.c Sun Apr 26 18:07:35 2020 (r360348) @@ -93,9 +93,6 @@ __FBSDID("$FreeBSD$"); #include <net/route.h> #include <net/route/nhop.h> #include <net/if_llatbl.h> -#ifdef RADIX_MPATH -#include <net/radix_mpath.h> -#endif #include <netinet/in.h> #include <netinet/in_var.h> @@ -773,13 +770,9 @@ selectroute(struct sockaddr_in6 *dstsock, struct ip6_p } -#ifdef RADIX_MPATH - rtalloc_mpath_fib((struct route *)ro, - ntohl(sa6->sin6_addr.s6_addr32[3]), fibnum); -#else ro->ro_nh = fib6_lookup(fibnum, &sa6->sin6_addr, scopeid, NHR_REF, flowid); -#endif + if (IN6_IS_SCOPE_LINKLOCAL(&sa6->sin6_addr)) sa6->sin6_addr.s6_addr16[1] = htons(scopeid); } _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"