Releases: threefoldtech/mycelium
Releases · threefoldtech/mycelium
v0.1.1
Added
- CHANGELOG.md file to keep track of notable additions, changes, fixes, deprecations, and removals.
- A peer can now detect if it is no longer useable in most cases, allowing it to notify the router if it died. This
allows near instant retraction of routes if a connection dies, decreasing the amount of time needed to find a
suitable alternative route. - Add CHANGELOG.md entries when creating a release.
- When sending SIGUSR1 to the process, the routing table dump will now include a list of the public key derived IP
for every currently known subnet. - You can now set the name of the TUN interface on the command line with the --tun-name flag.
- Added support for TUN devices on OSX.
Changed
- When a peer is found to be dead, routes which use it as next-hop now have their metric set to infinity.
If the route is selected, route selection for the subnet is run again and if needed a triggered update is sent.
This will allow downstream peers to receive a timely update informing them of a potentially retracted route,
instead of having to wait for route expiration. - Account for the link with the peer of a route when performing route selection. This was not the case previously,
and could theoretically lead to a case where a route was selected with a non-optimal path, because the lower metric
was offset by a high link cost of the peer.
Fixed
- Remove trailing 'e' character from release archive names
v0.1.0
MVP gen 2
Notable improvements compared to previous version:
- Added some logging on route acquisition (debug and info lvl logs). Logs can be enabled by passing an env var:
RUST_LOG=mycelium=debug
. Trace logging is also possible, but this has a very noticeable performance impact - Precalculate shared keys with remotes and save them on the router. This hugely increases performance compared to the previous version. Also ping latency is now a lot more consistent as a result.