On 28.05.2013 16:13, Slawomir Kosowski wrote:
> Hi,
> 
> we've been trying to set up dibbler-client to grab our PD from ISP on
> PfSense. 
> Client.conf is as following:
> log-level 8
> duid-type duid-ll
> iface em0 {
> pd
> option dns-server
> option domain
> }
> 
> The problem is presented in the log: http://pastebin.com/uee1maWe
> Especially, line 123 and line 130. The SLAAC is fe80::250:56ff:fe00:113a
> but the socket is created for em0/1 fe80:1::250:56ff:fe00:113a (index of
> interface 1).
> Nailing down the problem, I've compiled the source with  LOWLEVEL_DEBUG
> in dibbler-0.8.3/Port-bsd/lowlevel-bsd.c so that we can see low-level
> debug info.
> In the log we can clearly see that "aliases" are created for each
> interface. I'm not FreeBSD specialist, but this seems strange for me. 
> 
> Quick and dirty fix was to omit the full address checking.
That's a BSD kernel bug. It was reported previously for OpenBSD. I
couldn't find the details, but feel free to dig up around Dibbler and
OpenBSD archives. I remember that I got an answer from Simon Perreault.

Here's brief summary. BSD kernel uses 3rd and 4th byte to keed scope-id
(or interface-id if you prefer) internally. That's ok. What is not ok is
that this data leaks out to user space when interface address are
obtained using getifaddrs().

If you take a look at the latest (0.8.4RC1 or git) source, there this
code in Port-bsd/lowlevel-bsd.c:

#ifdef OPENBSD
  // this is ugly. OpenBSD returns interface index on the 4th byte.
  // Link-local addresses are supposed to be in format fe80:[6 zeros
  // here]:EUI-64
  memset(ptr+2, 0, 6);
#endif

Make no mistake - this code is a workaround for kernel bug. Apparently
it should be extended to cover whatever kernel pfSense is running. For
now I've extended it to cover all BSDs (and Mac OS). It should do no
harm, except masking the issue. Can you check that the latest code from
git does work for you? It if does, it will be released in 0.8.4 soon.

Can someone familiar with FreeBSD (and possibly pfSense) bug handling
process could report this issue to the appropriate developers, please?

Tomek

_______________________________________________
List mailing list
[email protected]
http://lists.pfsense.org/mailman/listinfo/list

Reply via email to