upvote
> ULA give more trouble than what it solves.

How? They're essentially the same as IPv4 addresses; the only difference is that there are way more of them, so address conflicts are much less likely.

> Almost all computer have multiple interface (virtual or not)

Sure, but that's the case with IPv4 too: my cell phone has one IPv4 address over WiFi and another over cellular, and my laptop has one IPv4 address over WiFi and another over Ethernet.

Edit: Ah, I think that eqvinox's comment [0] is what you were getting at here. And yeah, I agree that LLAs are kinda confusing and annoying. The difference is that LLAs aren't routable [1] and don't have an IPv4 analog, while ULAs are routable and are mostly equivalent to IPv4 addresses [2].

[0]: https://news.ycombinator.com/item?id=47814154

[1]: https://en.wikipedia.org/wiki/Link-local_address

[2]: https://en.wikipedia.org/wiki/Unique_local_address

reply
You're confusing ULAs (Unique Local Addresses) with LLAs (Link-Local Addresses).

(ULAs don't need the interface specified.)

ULA: fc..:… and fd..:…

LLA: fe80:…

[ed.: By the way, sin6_scope_id is where the interface identifier is stored in struct sockaddr_in6. So, basically every single IPv6 address object you're handling has the field for it.]

reply