0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-09-18 19:35:20 +00:00
bird/sysdep
Ondrej Zajicek 722daa9500 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.
2022-07-25 00:11:40 +02:00
..
bsd IO: Support nonlocal bind in socket interface 2022-01-08 19:02:31 +01:00
cf KRT: Scan routing tables separetely on linux to avoid congestion 2022-07-24 02:15:20 +02:00
linux Netlink: Simplify handling of IPv6 ECMP routes 2022-07-25 00:11:40 +02:00
unix KRT: Scan routing tables separetely on linux to avoid congestion 2022-07-24 02:15:20 +02:00
config.h NEWS and version update 2022-06-16 02:58:37 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
sysdep.sgml Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00