diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2022-07-25 00:11:40 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2022-07-25 00:11:40 +0200 |
commit | 722daa950046a7ad307fd7aca8e0506f30b3d000 (patch) | |
tree | 1409e721b9f11ee2eae03ba1f24c19f5d0450896 /lib | |
parent | 534d0a4b44aa193da785ae180475a448f57805e2 (diff) |
Netlink: Simplify handling of IPv6 ECMP routes
When IPv6 ECMP support first appeared in Linux kernel, it used different
API than IPv4 ECMP. Individual next hops were updated and announced
separately, instead of using RTA_MULTIPATH as in IPv4. This has several
drawbacks and requires complex code to merge received notifications to
one multipath route.
When Linux came with IPv6 RTA_MULTIPATH support, the initial versions
were somewhat buggy, so we kept using the old API for updates (splitting
multipath routes to sequences of route updates), while accepting both
old-style routes and RTA_MULTIPATH routes in scans / notifications.
As IPv6 RTA_MULTIPATH support is here for a long time, this patch fully
switches Netlink to the IPv6 RTA_MULTIPATH API and removes old complex
code for handling individual next hop announces.
The required Linux version is at least 4.11 for reliable operation.
Thanks to Daniel Gröber for the original patch.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions