yggdrasil-go
yggdrasil-go copied to clipboard
Add metric attribute for interface (IfName)
I use yggdrasil-go v3.0.16. I test yggdrasil-go from future branch.
Problem
If I run stable and future versions at the same time, I have 2 different interfaces with the same metric:
# ip -6 route show
200::/7 dev ygg1 proto kernel metric 256 pref medium
200::/7 dev ygg0 proto kernel metric 256 pref medium
In this case connectivity worked only over interface, which started firstly.
I want to change metric for use all ygg networks simultaneously in way, something like:
# ping over default (ygg0) interface:
ping 303:8b1a::53
# ping over custom (ygg1) interface:
ping6 -I ygg1 207:efb5:d731:dfad:4ba9:d6c0:cb25:c7a7
But with the same metric, ping command for second interface does not worked.
My proposal
Improve some option in config file, like IfMetric, to customise metric of default route for yggdrasil interface.
This is a bit troublesome because it would create some expectation that multiple Yggdrasil TUN adapters can exist simultaneously on one system, whereas without other advanced configuration (VRF, policy routing, network namespaces, etc) you will run into unexpected behaviour with source address selection amongst other things. I don’t know if @Arceliar has an opinion on this but I am going to suggest it’s probably not something we will action.