untrusted comment: signature from openbsd 6.1 base secret key
RWQEQa33SgQSEqf+3JwyuvA28tOdO0buVbw+K7RUVvgzbtns+y8D9fsPdT5X1X7N+Q+HJSVJvIdmEoV5SEG/tZmuzV/1XFv0XQ0=

OpenBSD 6.1 errata 013, Jun 27, 2017:

When pinging an IPv6 link-local address, the reflected packet had
::1 as source address.  The echo reply was ignored as it must be
from the link-local address.

Apply by doing:
    signify -Vep /etc/signify/openbsd-61-base.pub -x 013_icmp6_linklocal.patch.sig \
        -m - | (cd /usr/src && patch -p0)

And then rebuild and install a new kernel:
    KK=`sysctl -n kern.osversion | cut -d# -f1`
    cd /usr/src/sys/arch/`machine`/compile/$KK
    make obj
    make config
    make
    make install

Index: sys/netinet6/icmp6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/icmp6.c,v
retrieving revision 1.203
retrieving revision 1.203.4.1
diff -u -p -r1.203 -r1.203.4.1
--- sys/netinet6/icmp6.c	3 Mar 2017 13:19:40 -0000	1.203
+++ sys/netinet6/icmp6.c	26 Jun 2017 20:41:37 -0000	1.203.4.1
@@ -1218,14 +1218,10 @@ icmp6_reflect(struct mbuf *m, size_t off
 	sa6_src.sin6_family = AF_INET6;
 	sa6_src.sin6_len = sizeof(sa6_src);
 	sa6_src.sin6_addr = ip6->ip6_dst;
-	in6_recoverscope(&sa6_src, &ip6->ip6_dst);
-	in6_embedscope(&ip6->ip6_dst, &sa6_src, NULL);
 	bzero(&sa6_dst, sizeof(sa6_dst));
 	sa6_dst.sin6_family = AF_INET6;
 	sa6_dst.sin6_len = sizeof(sa6_dst);
 	sa6_dst.sin6_addr = t;
-	in6_recoverscope(&sa6_dst, &t);
-	in6_embedscope(&t, &sa6_dst, NULL);
 
 	/*
 	 * This is the case if the dst is our link-local address