I'm trying to set up radvd on a 6RD configuration (on Linux), where I have a /64 subnet, and I'm trying to use it on two distinct physical networks, so I'm trying to give each of them a /80 subnet. However, when I start radvd on these interfaces, it says this:

radvd[3987]: prefix length should be 64 for int

(int being the name of one of the interfaces.)

I know that stateless autoconfiguration doesn't work on subnets that are larger than /64, like a /48 subnet, but AFAIK it's supposed to work on anything that is smaller than /64, so /80 shouldn't be a problem. The final effect, now, is that radvd simply advertises the wrong subnet prefix, effectively "removing" the first 16 bits of it.

What is this? Am I all wrong on that, is radvd buggy, or is there some configuration option that I'm missing?

  • 1
    Sorry, your subnets have to be /64. AND, you need to yell very loudly at whatever stupid ISP is deploying 6RD. It's 2013 ffs! – Michael Hampton Oct 20 '13 at 23:06
  • 6rd is not the problem. I have deployed it giving each customer i.e. a /56. Only routing a /64 is the problem, whatever the technology. – Sander Steffann Oct 21 '13 at 4:15

radvd is not buggy, IPv6 subnets must really be a /64 for stateless autoconfiguration to work. If you use anything else you will have to manually configure each device on the network. Devices that don't offer the option of manual configuration will not work at all.

Unless you really know what you are doing (like using a /127 on point-to-point links between routers) you should always use a /64 for LANs.

  • I find that quite odd, to the point of being hard to believe. Surely, it must be the intention that one should be able to structure networks internally with static routing? – Dolda2000 Oct 21 '13 at 2:20
  • Yes, you should be able to have multiple subnets, but to do so your ISP must give you multiple /64's. Giving only one /64 to a customer is broken. – Sander Steffann Oct 21 '13 at 4:17
  • I see. It seems I need to reevaluate my conception of how IPv6 addressing really works a bit, then. Thanks. – Dolda2000 Oct 21 '13 at 6:17
  • 1
    @Dolda2000 Yes, almost certainly. You should have received a block of, say, /48 or /56 from your ISP, and from that you assign /64 blocks to each of your subnets. See RFC 6177. – Michael Hampton Oct 21 '13 at 20:39

Please note, that autogenerated IPv6 address is like 2001:db8:1234:1234:xxxx:xxff:feyy:yyyy where xxxxxx and yyyyyy is MAC (with one bit reversed). That's why radvd 9or any other stateless configuration tool) cannot use any other prefix length instead.

For other lengths you can still use stateful tool - DHCPv6.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.