From owner-freebsd-net@freebsd.org Fri Jul 3 07:59:48 2015 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 09EFE99461E for ; Fri, 3 Jul 2015 07:59:48 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:1900:2254:206a::19:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx2.freebsd.org", Issuer "Gandi Standard SSL CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E7DB42D77; Fri, 3 Jul 2015 07:59:47 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from butcher-nb.yandex.net (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id BB7FE3A66; Fri, 3 Jul 2015 07:59:46 +0000 (UTC) (envelope-from ae@FreeBSD.org) Message-ID: <55964040.4050809@FreeBSD.org> Date: Fri, 03 Jul 2015 10:56:48 +0300 From: "Andrey V. Elsukov" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Kristof Provost , koobs@FreeBSD.org CC: freebsd-net@FreeBSD.org Subject: Re: radvd issue on CURRENT References: <7B00338E-6264-44FD-9A55-8E29C01467E7@FreeBSD.org> <5596192F.2050802@FreeBSD.org> <4BA4AF18-6CC7-48A9-8035-22B3E209257A@FreeBSD.org> In-Reply-To: <4BA4AF18-6CC7-48A9-8035-22B3E209257A@FreeBSD.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="MKL5sLqn29imwKfkiMEWksS4wa9jt8Wt2" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2015 07:59:48 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --MKL5sLqn29imwKfkiMEWksS4wa9jt8Wt2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 03.07.2015 09:31, Kristof Provost wrote: Hi Kristof, can you test this patch instead: Index: ip6_output.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- ip6_output.c (revision 284791) +++ ip6_output.c (working copy) @@ -2189,12 +2189,13 @@ ip6_getpcbopt(struct ip6_pktopts *pktopt, int opt= n switch (optname) { case IPV6_PKTINFO: - if (pktopt && pktopt->ip6po_pktinfo) - optdata =3D (void *)pktopt->ip6po_pktinfo; - else { + optdata =3D (void *)&null_pktinfo; + if (pktopt && pktopt->ip6po_pktinfo) { + bcopy(pktopt->ip6po_pktinfo, &null_pktinfo, sizeof(null_pktinfo)); + in6_clearscope(&null_pktinfo.ipi6_addr); + } else { /* XXX: we don't have to do this every time... */ bzero(&null_pktinfo, sizeof(null_pktinfo)); - optdata =3D (void *)&null_pktinfo; } optdatalen =3D sizeof(struct in6_pktinfo); break; @@ -2566,6 +2567,7 @@ ip6_setpktopt(int optname, u_char *buf, int len, s !IN6_IS_ADDR_UNSPECIFIED(&pktinfo->ipi6_addr)) { struct in6_ifaddr *ia; + in6_setscope(&pktinfo->ipi6_addr, ifp); ia =3D in6ifa_ifpwithaddr(ifp, &pktinfo->ipi6_addr); if (ia =3D=3D NULL) return (EADDRNOTAVAIL); --=20 WBR, Andrey V. Elsukov --MKL5sLqn29imwKfkiMEWksS4wa9jt8Wt2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJVlkBBAAoJEAHF6gQQyKF6u74IAIEzgv6275Af/00fWuvi8C1p 1cBYIrcq0EkxFUyFIhad/WwLk+jPu2mXqchxCEUggBm649W9dfWZnz2ZEiGrKt0E pGZRUJts2vFKguJutqZF5qWnuCXhrdOFm/4+kpvk5By8NP0rFEQ9dB6iAPbSIG/0 xMuViCzVht0tcQiNPB4dfSHxahfRc3YoE0OUxFRVpvScaIBykxsIWKrqUPLEya1r Vvi6Xe4RRDC0RHNEg/ffIlWWkAWaZ2gUuAxi+T1sg8PkgGUgpXu78g5VsmpmLtIz chV+67wcAIWVQ38FqGHcwV9bQvUi669jQKXnN7JVsYdfF3TXhwj3hWZCDwax2E4= =WhGz -----END PGP SIGNATURE----- --MKL5sLqn29imwKfkiMEWksS4wa9jt8Wt2--