Timeframe for A/B release
-
Alpha 4
- Change made
- Backward compat with Alpha 3
-
Alpha 5
- Backward compat with Alpha 3 removed
Change
Previous TunnelManager behavior
- Check neighbors, local peers etc
- Create WG tunnel identified by local/internet (non-mesh) IP addresses
- Send LocalIdentity to them, containing identity + wg port of interface
- On other end, LocalIdentity is received and wg interface is created, with endpoint being IP which the connection request is received on and the wg port from the LocalIdentity
- The other end sends back their own LocalIdentity
- The requester sets the wg tunnel with the appropriate endpoint via the same method above
New TunnelManager behavior
- Check neighbors, local peers etc
Create WG tunnel identified by local/internet (non-mesh) IP addresses- Send Identity to them,
containing identity + wg port of interface - On other end, Identity is received and wg interface is created,
with endpoint being IP which the connection request is received on and the wg port from the LocalIdentitywith no endpoint - The other end sends back their own LocalIdentity
- The requester sets the wg tunnel with the appropriate endpoint via the same method body
- the requester’s wg starts a handshake, and when the other end recieves the packet, it will set the endpoint to the proper address
Backwards compat TunnelManager behavior
-
Check neighbors, local peers etc
-
Create WG tunnel identified by local/internet (non-mesh) IP addresses -
Send LocalIdentity to them, containing identity +
wg port of interfacerandom port -
a. (other end is old rita or new rita) On other end, LocalIdentity is received and wg interface is created, with endpoint being IP which the connection request is received on and the wg port from the LocalIdentity (as port is random, it doesn’t work)
b. (other end is new rita) On other end, Identity is received and wg interface is created,with endpoint being IP which the connection request is received on and the wg port from the LocalIdentitywith no endpoint -
The other end sends back their own LocalIdentity
-
The requester sets the wg tunnel with the appropriate endpoint via the same method body
-
the requester’s wg starts a handshake, and when the other end recieves the packet, it will set the endpoint to the proper address