Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specifying scope for IPv6 link local addresses. #1703

Closed
jeandudey opened this issue Aug 13, 2020 · 2 comments
Closed

Specifying scope for IPv6 link local addresses. #1703

jeandudey opened this issue Aug 13, 2020 · 2 comments

Comments

@jeandudey
Copy link

jeandudey commented Aug 13, 2020

Currently Multiaddr can't be used to create an IPv6 address with an scope identifier for link local addresses, on the majority of Operating Systems they're used to disambiguate the network interface where the address belongs to. This is a blocker on IPv6 only networks that aren't connected to internet and don't have any kind of global IPv6 addresses (even without ULA addresses), just a plain disconnected IPv6 network.

I'm not sure how this can be handled on the Multiaddr syntax, or if it's wanted to do so - It would be very bad for IPv6 users if not :-( -_

RFC 6874 specifies a syntax for the scope id (or zone identifier), being it:

addr := <ip6addr> '%'  <ascii letters that don't contain URI reserved characters>

Maybe a syntax for Multiaddr like this could be used:

/ip6/fe80::1%lan0/tcp/0

But it would break the existing implementation as it would require to modify Protocol::Ip6 with something like Protocol::Ip6(Ipv6Addr, Option<String>). Other option I see is to create a new Protocol entry called Protocol::Ip6ZoneId(String) and with a syntax like:

/ip6/fe80::1/ip6-zone-id/lan0/tcp/0

See also

@mxinden
Copy link
Member

mxinden commented Aug 14, 2020

@jeandudey thanks for the detailed issue!

This multiaddr implementation follows the specification, thus I think it is a better idea to discuss this in https://github.com/multiformats/multiaddr/ and not here.

Browsing through the issues I have found multiformats/multiaddr#87 which also covers IPv6 link scopes.

@mxinden
Copy link
Member

mxinden commented Aug 24, 2020

I interpret your 👍 as agreement and thus I am closing this issue. Feel free to open a follow up issue in case we can be of any other help.

@mxinden mxinden closed this as completed Aug 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants