1. 13
  1.  

    1. 2

      I remember installing NetBSD on a laptop using two floppy disks and an Orinoco wifi card in Tomkins Square Park, in the East Village in New York City, in 2001, over IPv6, using the free public wifi I set up. I thought it’d only get easier and better over time :P

      A vast majority of the cellular networks already use IPv6 without us even being aware of it. I am a bit shocked that FreeBSD and OpenBSD don’t simply get and use IPv6 by default with their default DHCP client.

      1. 2

        You don’t normally use DHCP with IPv6. I’ve never actually seen it in the wild, though I am aware it exists. When you run the installer or bsdconfig on FreeBSD, there’s an option to enable stateless auto configuration. If you do, IPv6 normally just works. If you don’t want to do it with the installer, it’s a single line in rc.conf[.d].

        The instruction at the end is doing this, rtsold Is the thing that does router solicitation (the normal way of auto configuring a routable IPv6 address).

        The reason dhclient doesn’t do this is that it’s a totally unrelated protocol. It doesn’t really make sense to support them both in the same place. Especially since FreeBSD support IPv4-only and IPv6-only configurations, where you may not even need the IPv4 bits.

        1. 3

          Hmm, I think this line of thought has not helped IPv6, at all.

          Don’t get me wrong, I get it. I set up my home network to use SLAAC and PD and all that good stuff. It is pretty nice. But I also have my laptops set up to try either SLAAC or DHCPv6 for when I’m out and about, because the thing working at all is more important to me than some sense of ideological IPv6 purity. And I end up needing it once in a while!

          I think a major drag on IPv6’s adoption has been “Second System Syndrome”. It wasn’t enough to fix IPv4 address scarcity, we also had to fix everything wrong with DHCP, ARP, NAT, multicast, the way we write addresses etc. all at once.

          If you can’t get your own /64 to do SLAAC because your ISP is being shitty, we’re not going to help you with a pragmatic setup to make it work anyway. We’ll demand that you join us in our crusade as we boil the ocean of making every ISP conform to the RFCs. If you want to access services that have a broken IPv6 setup, we’ll ignore you for decades (leading you to turn off IPv6 altogether) before we begrudgingly invent Happy Eyeballs. I think this is a huge waste of time and detrimental to what should be the main goal, solving address scarcity on the internet.

          Edit: Somebody else has put this far better than I could, years ago: “Purity cannot ever be achieved at this kind of scale. If you need purity for your network to be reliable, then you have an unsolvable problem”

          1. 3

            Back in the old days, we used rtsol and rtsold, but that’s been deprecated, at least in NetBSD, because their functionality is now in dhcpcd. Likewise, dhclient is no longer a thing in NetBSD.

            I’m not sure why it’d make sense to configure non-static IPv4 and IPv6 using different tools - rather, it makes sense to have them in the same tool, even when you have an IPv4-only or IPv6-only network.

            But we do have DHCPv6, even though it is relatively new.

            Isn’t the stateless config just what ndp (neighbor discovery protocol) does?

            1. 2

              Isn’t the stateless config just what ndp (neighbor discovery protocol) does?

              NDP is not SLAAC but NDP is used during SLAAC for DAD.

              IPv6 neighbour discovery protocol is roughly equivalent to IPv4 address resolution protocol, but NDP is supposed to be more independent of the link layer than ARP.

              Whenever an IPv6 interface is configured, whether by stateless address autoconfiguration or otherwise, it must do duplicate address detection. DAD is just a special mode of NDP where the node tries to discover its own prospective address.

              I have a debugging story about DAD.

              1. 1

                Good story! Of all the Linuxes, I suppose it isn’t too surprising that Ubuntu wouldn’t’ve considered the possibility that a link might be down while checking for DAD. I wonder if it was ever fixed.