Author: ume
Date: Mon Jun 30 16:53:12 2014
New Revision: 268051
URL: http://svnweb.freebsd.org/changeset/base/268051

Log:
  MFC r267800:
  Exclude IPv4 address from doing longest match.
  It prevented DNS based load balancing.

Modified:
  stable/10/lib/libc/net/getaddrinfo.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/lib/libc/net/getaddrinfo.c
==============================================================================
--- stable/10/lib/libc/net/getaddrinfo.c        Mon Jun 30 16:49:00 2014        
(r268050)
+++ stable/10/lib/libc/net/getaddrinfo.c        Mon Jun 30 16:53:12 2014        
(r268051)
@@ -1009,7 +1009,8 @@ comp_dst(const void *arg1, const void *a
         * We compare the match length in a same AF only.
         */
        if (dst1->aio_ai->ai_addr->sa_family ==
-           dst2->aio_ai->ai_addr->sa_family) {
+           dst2->aio_ai->ai_addr->sa_family &&
+           dst1->aio_ai->ai_addr->sa_family != AF_INET) {
                if (dst1->aio_matchlen > dst2->aio_matchlen) {
                        return(-1);
                }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to