On Tue, May 28, 2013 at 4:13 PM, Slawomir Kosowski <
[email protected]> 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.
>
>
Why are you not using a SLAAC type interface in pfSense with a track one in
LAN to get the delegated prefix?
> Quick and dirty fix was to omit the full address checking.
> Knowing that the index increment is done in bytes 2-4 I omit them by doing
> modification in:
>
> *source:./dibbler/IfaceMgr/IfaceMgr.cpp*
> *Was:*
> char anycast[16] = {0};
> if (!iface->flagLoopback()
> && memcmp(sock->getAddr()->getAddr(), myAddrPacked, 16)
> && memcmp(sock->getAddr()->getAddr(), anycast, 16) ) {
> Log(Debug) << "Received data on address " << myPlainAddr << ",
> expected "
> << *sock->getAddr() << ", message ignored." << LogEnd;
> bufsize = 0;
> return 0;
> }
>
> *Is:*
> char anycast[16] = {0};
> if (!iface->flagLoopback()
> && memcmp(sock->getAddr()->getAddr(), myAddrPacked, 2)
> && memcmp(sock->getAddr()->getAddr()+4, myAddrPacked+4, 12)
> && memcmp(sock->getAddr()->getAddr(), anycast, 16) ) {
> Log(Debug) << "Received data on address " << myPlainAddr << ",
> expected "
> << *sock->getAddr() << ", message ignored." << LogEnd;
> bufsize = 0;
> return 0;
> }
>
> Now, it's working, although "Prefix error encountered during prefix
> addition operation: Prefix configuration on BSD systems not implemented
> yet." - concerns putting /56 prefixes on the other interfaces (we're
> getting /48 from ISP). We can live with that.
> For the record: the source was compiled on FreeBSD 8.3 amd64. Binary run
> under PfSense 2.1
> Finally, it would be great if someone with deeper knowledge of FreeBSD
> could explain/fix the index vs. IP address issue and make a patch on it.
> As far as I get it, it's the inet_ntop6 function that gets the myPlainAddr
> (line 466 of dibbler-0.8.3/Port-bsd/lowlevel-bsd.c) and for some reason
> indicates the fe80:1::xxxxx instead of fe80::xxxxxx (SLAAC).
>
> Hope that it helps for users that want to get dibbler client running under
> PfSense (especially with online.net).
>
> Regards
> Slawomir Kosowski
>
> _______________________________________________
> List mailing list
> [email protected]
> http://lists.pfsense.org/mailman/listinfo/list
>
>
_______________________________________________
List mailing list
[email protected]
http://lists.pfsense.org/mailman/listinfo/list