Every ISP has to pay Hurricane Electric for their tunnels, that's why it's free to you. If enough people start using HE tunnels, ISPs will get native IPv6.

But you can't use HE tunnels because every website you visit will block you. You also can't use them from CGNAT or if your home router doesn't have a DMZ.

>Every ISP has to pay Hurricane Electric for their tunnels, that's why it's free to you.

Is there a law mandating this?

Yes, it's called contract law. If you don't pay HE, you don't get a connection to them.

I forgot one detail: your ISP could pay a different tier-1 ISP, as they all interconnect. Nonetheless, your ISP pays top rates for that traffic - tier-1 routes are usually last-resort routes.

Are we talking about the same thing here? I was thinking of https://tunnelbroker.net/

Obviously if the ISP is buying transit from HE, they'd have to pay for it, but it'd be surprising if HE was strongarming their customers by adding a clause that's like "oh also, if any of your customers use our ipv6 tunnel, we'll charge you $x/user/month" or whatever.

It really depends on the peering contract. Most are not for transit, but rather just destinations, and generally the side that sends more pays, so that means more traffic to HE if tunnels are in use.

And wouldn’t it add a considerable latency?

It won't add much if you pick an appropriate tunnel server.

All my packets go through Seattle, using a Seattle tunnel server adds negligble latency.

But as someone else said, being connected with an he.net tunnel gets you marked as undesirable traffic these days, so that's annoying.

Yeah ok if you already live near one of their locations, then it makes sense. But in my case it would have to go through an entirely different country, which would be fairly inconvenient.

HE has a lot of points of presence in North America and Europe: https://pop.he.net/ , so latency should be negligible there. Elsewhere, yes you might see higher latency.

Possibly. They let you pick your nearest server, and HE is a tier-1 ISP which a lot of your packets may traverse already.