Under Ubuntu 1604, connect a box to a socket on the wall (of the lab), the box get both IPv4 and IPv6 addresses. IPv4 works fine, but IPv6 does not . I noticed that the global IPv6 address has a CIDR 128, something like:

inet6 2404:f123:4:47:800::1234/128

I am wondering whether or not the IPv6 address with CIDR 128 valid? and why?


PS: My question is more about the size of 128, i.e., is it too big? Since I am expecting some number less than 128 such as 64. As an analogy, my IPv4 address is or where the CIDR is not 32 but less than 32. I even encountered once a problem with /32 IPv4 address which does not working, after changing it to /24 it worked then.


I have seen this in cases where the Router Advertisement advertises the subnet as "not on-link". The receiver therefore makes no assumptions about who is reachable on that subnet by creating a single /128 address and sending everything through the default gateway (which is usually a link-local address, so that will work).

  • Thanks for your answer. Yes after checking a working configuration on Windows, I realized that my understanding of IPv6 was not correct. It seems that it's the link-local address (fe80:.../64) is used for direct communication with routers (and hosts on the subnet), not the global address (2404:.../128). This is different from IPv4. What's left for me is to check why it's not working on Ubuntu :) – bruin Oct 21 '19 at 1:15

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.