Hello, This is a continuation of the work started in [0], which has gone through a couple of iterations by Felix Huettner [1][2].
As agreed in the OVN A/V Community meeting December 2nd 2024, I took over herding these patches again. The main rationale for this is that I have done a fair bit of work on Netlink related code before, so it would be a good way to spread the workload of this epic, with the goal of getting the most out of this community effort prior to looming freeze deadlines. Main change from previous iterations is: * Series has been properly separated into logical units of change. * Nexthops stored as a linked list as opposed to fixed size array. * Support for parsing IPv4 routes over IPv6 next hops through the use of the RTA_VIA attribute. * As agreed the namespaces code proposed by Felix Huettner has been dropped. * More complete tests have been provided. v3 -> v4: * Use static buffer for the common case of one nexthop to avoid unnecessary memory allocations. * Fix memory leak due to missing destruction of dynamically allocated nexthops on callback from the netlink-notifier module. * Improve bounds checking for handling of RTA_VIA attribute. * Simplify handling of RTA_MULTIPATH attribute. * Add lib route-table test program and re-order patches so that RTA_MULTIPATH comes last to accommodate for expanded test coverage. 0: https://mail.openvswitch.org/pipermail/ovs-dev/2024-July/416042.html. 1: https://mail.openvswitch.org/pipermail/ovs-dev/2024-October/417872.html 2: https://mail.openvswitch.org/pipermail/ovs-dev/2024-November/418547.html Frode Nordahl (10): route-table: Store route table ID. route-table: Store route priority. route-table: Store route protocol. route-table: Split header and attribute parsing. route-table: Store nexthops in linked list. route-table: Support parsing RTA_VIA attribute. route-table: Use RTA_TABLE for route table filter. route-table: Use callback for handling route msgs. route-table: Export route table sync functions. route-table: Support parsing multipath routes. Makefile.am | 3 +- lib/route-table.c | 228 +++++++++++++++++++++++++---------- lib/route-table.h | 40 ++++++ tests/automake.mk | 1 + tests/system-route.at | 131 ++++++++++++++++++++ tests/test-lib-route-table.c | 109 +++++++++++++++++ 6 files changed, 447 insertions(+), 65 deletions(-) create mode 100644 tests/test-lib-route-table.c -- 2.45.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev