[RFC] Multicast and IPv6 Link Local Addresses

Jason A. Donenfeld Jason at zx2c4.com
Fri Apr 7 16:02:49 CEST 2017


Hey list,

Various networking people have been poking and prodding about
supporting IPv6 Link Local addresses and about supporting special
multicast addresses. *I MAY VERY WELL NEVER CHOOSE TO IMPLEMENT THIS*
but in case I do, I wanted to start spec'ing out what this might look
like in order to think about it better. There are a lot of odd
concerns to take into account, so I doubt that the below will wind up
as a final solution.

For these two options below, I introduce them with corresponding
configuration nobs. Since I don't really like adding nobs, it's
entirely likely that on the small chance I do wind up implementing
this, it would be without the nobs and just always on.


== Multicast ==

# wg set wg0 multicast on

When multicast mode is turned on, packets sent to the special address
ranges 224.0.0.0/24 or fe02::/16 are sent to every peer on that
interface.


== IPv6 Link Local Addresses ==

# wg set wg0 llv6 on

This command fails and returns -ENOTUNIQ if two existing peers have
the same value of hash(pubkey). When this command succeeds:, the wg0
interface receives an automatically assigned IP address of
fe80::hash(interfacepubkey)/64. Every peer has
fe80::hash(peerpubkey)/128 implicitly added to their allowed-ips. When
adding a new peer, if hash(pubkey) is the same value of an existing
peer, the command fails and returns -ENOTUNIQ.


I'm open to thoughts and suggestions about the above ideas.

Thanks,
Jason


More information about the WireGuard mailing list