svn commit: r360348 - head/sys/netinet6

Alexander V. Chernikov melifaro at FreeBSD.org
Sun Apr 26 18:07:36 UTC 2020


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);
 		}


More information about the svn-src-head mailing list