commit 2ea420416bd2a602dfe0d0b362a90d3c90326637 Author: Ryota Ozaki Date: Mon Dec 14 18:58:26 2015 +0900 fix ndp diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 7ba7c2b..eee6724 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -363,6 +363,7 @@ set(int argc, char **argv) return 1; } mysin->sin6_addr = ((struct sockaddr_in6 *)(void *)res->ai_addr)->sin6_addr; + mysin->sin6_scope_id = ((struct sockaddr_in6 *)(void *)res->ai_addr)->sin6_scope_id; inet6_putscopeid(mysin, INET6_IS_ADDR_LINKLOCAL); ea = (u_char *)LLADDR(&sdl_m); if (ndp_ether_aton(eaddr, ea) == 0) @@ -429,6 +430,7 @@ get(char *host) return; } mysin->sin6_addr = ((struct sockaddr_in6 *)(void *)res->ai_addr)->sin6_addr; + mysin->sin6_scope_id = ((struct sockaddr_in6 *)(void *)res->ai_addr)->sin6_scope_id; inet6_putscopeid(mysin, INET6_IS_ADDR_LINKLOCAL); dump(&mysin->sin6_addr, 0); if (found_entry == 0) { @@ -463,6 +465,7 @@ delete(char *host) return 1; } mysin->sin6_addr = ((struct sockaddr_in6 *)(void *)res->ai_addr)->sin6_addr; + mysin->sin6_scope_id = ((struct sockaddr_in6 *)(void *)res->ai_addr)->sin6_scope_id; inet6_putscopeid(mysin, INET6_IS_ADDR_LINKLOCAL); if (rtmsg(RTM_GET) < 0) errx(1, "RTM_GET(%s) failed", host);