If the provider doesn't tell you it's routed, you can assume it's on-link.
For a routed IPv6 subnet to work, you still need at least a single on-link IPv6 address.
Whenever someone contacts an IPv6 address in your routed subnet, the upstream router would send Neighbor Solicitation to your on-link IPv6 address to learn your MAC address, and then send the incoming packet to this MAC address.
I just created a new IPv6 address on the VPS (sudo ip -6 a add 2a04:xxxx:xxxx:xxx::eeee/64 dev ens3), fired up tcpdump, and pinged the new address from an outside host. When I look at the packet capture, I see a neighbor solicitation from the host's router for that new IP, then a neighbor advertisement from the new IP to their router, then the ping requests and replies.
@pwned said:
When I look at the packet capture, I see a neighbor solicitation from the host's router for that new IP, then a neighbor advertisement from the new IP to their router, then the ping requests and replies.
Seeing neighbor solicitation for a new IP means it is most likely on-link.
Oh, I misread your comment then. OK, so if I don't see a neighbor solicitation/advertisement for the new IP, then it's a routed subnet?
I have a prgmr.com VPS that I'm fairly certain has a routed subnet (when I asked for a /64, they told me "2605:X:X:X::/64 has been routed to 2605:Y:Y:Y::Y"), and I don't see a solicitation for the new IP.
@pwned said:
if I don't see a neighbor solicitation/advertisement for the new IP, then it's a routed subnet?
If you ping a random IPv6 address within your routed range without adding that address to the server, and you see the echo request right away in tcpdump, it's almost certainly a routed subnet.
See below for why you should test with a random address not added to the server.
@pwned said:
I just created a new IPv6 address on the VPS
Comments
If the provider doesn't tell you it's routed, you can assume it's on-link.
For a routed IPv6 subnet to work, you still need at least a single on-link IPv6 address.
Whenever someone contacts an IPv6 address in your routed subnet, the upstream router would send Neighbor Solicitation to your on-link IPv6 address to learn your MAC address, and then send the incoming packet to this MAC address.
I just created a new IPv6 address on the VPS (sudo ip -6 a add 2a04:xxxx:xxxx:xxx::eeee/64 dev ens3), fired up tcpdump, and pinged the new address from an outside host. When I look at the packet capture, I see a neighbor solicitation from the host's router for that new IP, then a neighbor advertisement from the new IP to their router, then the ping requests and replies.
So...routed?
Seeing neighbor solicitation for a new IP means it is most likely on-link.
Oh, I misread your comment then. OK, so if I don't see a neighbor solicitation/advertisement for the new IP, then it's a routed subnet?
I have a prgmr.com VPS that I'm fairly certain has a routed subnet (when I asked for a /64, they told me "2605:X:X:X::/64 has been routed to 2605:Y:Y:Y::Y"), and I don't see a solicitation for the new IP.
If you ping a random IPv6 address within your routed range without adding that address to the server, and you see the echo request right away in tcpdump, it's almost certainly a routed subnet.
See below for why you should test with a random address not added to the server.
When you add a new IPv6 address to the server, the server transmits a neighbor solicitation from the new address toward the router, which enables the router to learn its new address.
This is the right way to describe the routed subnet setup.