Use metric and IPv6 dst prefix length when finding best route for ipv6 dst #639
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What:
Previously the first matching route for a given destination was taken for getting the interface to use.
Now the metric and the length of the IPv6 "mask" is also taken into account for determining the best matching route.
Already fixed for ipv4 in #610
Why:
Sometimes a less optimal route was chosen which resulted in getting the wrong interface.
How:
Add different routes with something like
sudo ip -6 addr add 2001:db8:0:f104::/64 dev enp0s3
and test via the following code which can be put in the pcap_tests.c file. This code was not committed into the tests because its working is dependent on the local /proc/net/ipv6_route file.Checklist: