diff options
Diffstat (limited to 'sbin/route')
-rw-r--r-- | sbin/route/route.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c index 6e67c40..e06017e 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -924,6 +924,10 @@ getaddr(which, s, hpp) exit(1); } bcopy(res->ai_addr, &su->sa, res->ai_addrlen); + /* XXX: embedded link local addr check */ + if (IN6_IS_ADDR_LINKLOCAL(&su->sin6.sin6_addr)) + *(u_short *)&su->sin6.sin6_addr.s6_addr[2] = + ntohs(su->sin6.sin6_scope_id); return 0; } #endif |