On Tue, Mar 29, 2016 at 11:46:20AM +0100, Stuart Henderson wrote:
> On 2016/03/24 20:27, Sebastien Marie wrote:
> > Hi,
> > 
> > I encountered a problem with IPv6 connectivity after upgrade to snapshot
> > Mar 23 on my amd64 router.
> > 
> > The router use a pppoe session to get IPv4 and IPv6. I had to made a
> > DHCP-ND request to get routable IPv6, and I use dhcpcd from ports for
> > that.
> > 
> > The IPv4 is ok, but for IPv6, dhcpcd has the following error:
> > 
> > Mar 24 20:16:33 alf dhcpcd[43667]: DUID 00:01:00:01:1e:40:7c:6c
> > Mar 24 20:16:33 alf dhcpcd[43667]: pppoe0: IAID 00:00:00:01
> > Mar 24 20:16:33 alf dhcpcd[43667]: pppoe0: IAID 00:00:00:02
> > Mar 24 20:16:33 alf dhcpcd[43667]: pppoe0: rebinding prior DHCPv6 lease
> > Mar 24 20:16:35 alf dhcpcd[43667]: pppoe0: dhcp6_sendmessage: sendmsg: 
> > Invalid argument
> > Mar 24 20:17:03 alf dhcpcd[43667]: timed out
> > Mar 24 20:17:03 alf dhcpcd[43667]: forked to background, child pid 10317
> 
> This is due to the new in6_pcbaddrisavail() check in udp6_output.c
> (that is also in the 5.9 errata). This will work-around it for now:

I confirm the workaround works.

> Index: udp6_output.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet6/udp6_output.c,v
> retrieving revision 1.46
> diff -u -p -r1.46 udp6_output.c
> --- udp6_output.c     23 Mar 2016 15:50:36 -0000      1.46
> +++ udp6_output.c     29 Mar 2016 10:24:34 -0000
> @@ -175,7 +175,7 @@ udp6_output(struct inpcb *in6p, struct m
>                       valid.sin6_len = sizeof(valid);
>                       error = in6_pcbaddrisavail(in6p, &valid, 0, p);
>                       if (error)
> -                             goto release;
> +                             printf("udp6_output: in6_pcbaddrisavail\n");
>               }
>       } else {
>               if (IN6_IS_ADDR_UNSPECIFIED(&in6p->inp_faddr6)) {
> 
> (or just remove it).

Thanks.
-- 
Sebastien Marie

Reply via email to