From c175767891954bf33fc38705c2e057a223ae6102 Mon Sep 17 00:00:00 2001 From: ume Date: Tue, 1 Jul 2014 18:05:38 +0000 Subject: [PATCH] MFS r268053 (MFC r267800): Exclude IPv4 address from doing longest match. It prevented DNS based load balancing. Approved by: re (delphij) git-svn-id: svn://svn.freebsd.org/base/releng/9.3@268107 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- lib/libc/net/getaddrinfo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c index 31e05d29c..5014ccb12 100644 --- a/lib/libc/net/getaddrinfo.c +++ b/lib/libc/net/getaddrinfo.c @@ -1007,7 +1007,8 @@ comp_dst(const void *arg1, const void *arg2) * 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); } -- 2.42.0