summaryrefslogtreecommitdiff
path: root/nest/route.h
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2022-07-25 00:11:40 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2022-07-25 00:11:40 +0200
commit722daa950046a7ad307fd7aca8e0506f30b3d000 (patch)
tree1409e721b9f11ee2eae03ba1f24c19f5d0450896 /nest/route.h
parent534d0a4b44aa193da785ae180475a448f57805e2 (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 'nest/route.h')
0 files changed, 0 insertions, 0 deletions