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"

Reply via email to