All, I got my first non-tunneled IPv6 uplink a while ago, and now I have issues with NDP.
Over the same shared LAN, the ISP apparently serves several (more than one, but as far as I can see not neccessarily more than two) customer routers, with a logical /125 transfer network for each customer. What I currently see, is this: 1) 2001:db8:1234:5678::08/125 <- Someone else's transfer network 2) 2001:db8:1234:5678::10/125 <- "My" transfer network What happens now is that the ISP router sometimes sends neigbor solicitation requests for my OpenBSD router using a source IP from its proper physical interface, but a different logical network. In this case: 2001:db8:1234:5678::9 When the NDP solicitations from 2001:db8:1234:5678::9 come in, OpenBSD does not respond to them, apparently because their source IP doesn't match the OpenBSD router's own prefix. The ISP router receives no neighbor advertisement from my OpenBSD router, and deems it unreachable. IPv6 is now down until a while later, when the solicitations happen to come from 2001:db8:1234:5678::11 again. RFC4861 says about the source IP for neighbor solicitations, that it has to be "an address assigned to the interface from which this message is sent". The ISP router firmware interprets this to mean "any address from the interface", thus using an IP from a different logical subnet. OpenBSD, in turn, does not seem to be willing to respond to requests from a different subnet. This was reproduced with OpenBSD 5.2-release, with pf turned off. It also happens on the production router, which happens to still run OpenBSD 4.6. To try to better understand the issue, I also set up a Linux system (Debian 6), which does in fact send advertisements in response to those wrong-prefix solicitations. What I understand is that either OpenBSD or the ISP router interpret the RFC in a way that leads to unintended results. Is this a bug in OpenBSD? Is there a workaround, e.g. in the form of a sysctl or a pf.conf hack that will make OpenBSD's NDP more liberal? Thanks for all input, -martin