radvd issue on CURRENT
Andrey V. Elsukov
ae at FreeBSD.org
Fri Jul 3 07:59:48 UTC 2015
On 03.07.2015 09:31, Kristof Provost wrote:
Hi Kristof,
can you test this patch instead:
Index: ip6_output.c
===================================================================
--- ip6_output.c (revision 284791)
+++ ip6_output.c (working copy)
@@ -2189,12 +2189,13 @@ ip6_getpcbopt(struct ip6_pktopts *pktopt, int optn
switch (optname) {
case IPV6_PKTINFO:
- if (pktopt && pktopt->ip6po_pktinfo)
- optdata = (void *)pktopt->ip6po_pktinfo;
- else {
+ optdata = (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 = (void *)&null_pktinfo;
}
optdatalen = 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 = in6ifa_ifpwithaddr(ifp, &pktinfo->ipi6_addr);
if (ia == NULL)
return (EADDRNOTAVAIL);
--
WBR, Andrey V. Elsukov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 538 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20150703/1500dfcf/attachment.bin>
More information about the freebsd-net
mailing list