From 43422f93446bb676642c03bfacf33c1b8a09bbbe Mon Sep 17 00:00:00 2001 From: david Date: Tue, 30 Aug 2011 18:32:35 +0000 Subject: [PATCH] Show a hint about an IPv6 zone ID suffix when get_srcaddr fails. --- libnetutil/netutil.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libnetutil/netutil.cc b/libnetutil/netutil.cc index 4714119c4..639b88182 100644 --- a/libnetutil/netutil.cc +++ b/libnetutil/netutil.cc @@ -3074,6 +3074,11 @@ static int get_srcaddr(const struct sockaddr_storage *dst, rc = connect(fd, (struct sockaddr *) &dst_dummy, dst_dummy_len); if (rc == -1) { netutil_error("%s: can't connect socket: %s", __func__, socket_strerror(socket_errno())); + if (dst->ss_family == AF_INET6) { + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) &dst_dummy; + if (sin6->sin6_scope_id == 0) + netutil_error("Do you need an IPv6 zone ID suffix (e.g. %%eth0 or %%1)?"); + } return -1; }