In IPv6, subnets are designed to be /64. Many things assume this. By giving subscribers shorter prefixes (like /48), you enable them do cool things like run a VPN server where each client has a publicly-routable address (otherwise you have to use NAT like in IPv4). If you give them a longer prefix, like /96, you can't do this sort of thing without a lot of pain. Also, many blacklists assume (for better or worse) that /64s belong to a single customer, so if you're sharing a /64 with other customers, you risk getting blocked for their bad behavior.
In IPv6, we need to stop thinking in terms of number of addresses, and start thinking in terms of number of /64 subnets. A /96 may be 4 billion addresses, but it's a fraction of a subnet. There is enough address space in IPv6 to think this way, and in fact the RFCs recommend it.
He is overreacting a little, but the design of IPv6 was not primarily focused on address depletion, it was more about keeping routing tables simple.
A /64 is the base unit for public routing. The recommendation is that each single end-site should have a /64. A company or collection of hosts should get a /48. An ISP should have a /32 or perhaps more than one (though I doubt many are big enough to need more than one).
Things are a little confused with VPS providers. If you are running your own box (or boxes) with many VMs for your self/company on it then a /64 for the whole lot is how it is generally done, but for renting out VPSs you should have a /48 and give out /64s to your clients (probably not one per VPS, but one per client).
So essentially, if you are not getting a /64 it is a sign that your provider is doing it wrong. While it may seem a very minor point it could also indicate they have misunderstood or ignored other conventions too.
/96 isn't really bad though - you often see hosts handing out IPv6 addresses like they are IPv4 addresses. Take for example http://serverbros.co.uk/openvz.html, to pick on someone at random via a quick Google search: a whole five v6 addresses! What a generous arrangement!
> A /64 is the base unit for public routing. The recommendation is that each single end-site should have a /64. A company or collection of hosts should get a /48. An ISP should have a /32 or perhaps more than one (though I doubt many are big enough to need more than one).
Actually, that's not quite what RFC6177/RFC3177 say. RFC3177 actually recommended /48's for all end-sites (even home network subscribers) except when it was known by design that only one subnet was needed (a very special case). RFC6177 updated that to be a bit more nuanced, saying that smaller allocations were OK (suggesting /56 for home network subscribers) but still emphasized that end-sites need to have more than just a /64.
> Things are a little confused with VPS providers. If you are running your own box (or boxes) with many VMs for your self/company on it then a /64 for the whole lot is how it is generally done, but for renting out VPSs you should have a /48 and give out /64s to your clients (probably not one per VPS, but one per client).
A VPS provider, being more akin to an ISP, should get a larger allocation (such as a /32; note that Linode actually has a /30 from ARIN). To truly be useful, they should be routing at least a /64 to each VPS, to enable that VPS to perform further routing as needed (for example, if it's running a VPN server).
I suppose it depends what you consider the "end site" to be (the company/client or the host (virtual or otherwise)). I'm happy to accept other judgement for lack of more certainty myself! Either way I'd expect more than a /96 per client if done right.
IANA guidance (edit: IETF, technically, but no one is disagreeing) is to give every customer at least a /64. Semantically, the first 64 bits are the network address and the last 64 bits are the host address. https://tools.ietf.org/html/rfc5375#appendix-B Practically, they are working very hard to prevent routing table fragmentation. To minimize the size of backbone routing tables, they are granting huge amounts of addresses to anyone who asks, just to make sure that no one needs to use non-contiguous network numbers.
Why would you possibly want more for a single small VPS? Just because you can?