On 19 Dec 2024, at 15:09, Felix Huettner wrote:
> On Wed, Dec 18, 2024 at 08:12:19PM +0100, Frode Nordahl wrote: >> 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. >> >> v4 -> v5: >> * Rename static nln callback buffer, this confused me alot. >> * Add min/max size for RTA_VIA attribute, allowing the use of netlink >> policy for validation. >> * Make use of RTA_TABLE in OVS -> KERNEL direction backwards compatible. >> Although we agreed it has been supported since forever, it makes the >> code consistent for both directions. >> * Use proper typedef for route_table_handle_msg callback. >> * Store original value for rtm_dst_len. >> * Make naming of exported struct elements consistent: >> * local -> rtn_local. >> * mark -> rta_mark. >> * uint16_t for nlmsg_type. >> * Expand tests in tip of series to cover the route attributes added at >> the beginning of the series. >> * Improve quailty of the test program code. >> * Address various review feedback. > > Hi Frode, > > again i did no real review of the code, but tried it together with the > ovn-controller changes and did not observe any issues. > > Thanks a lot for the change to rtm_dst_len. With the holidays approaching, I wanted to set some expectations. I’ll begin reviewing this tomorrow but likely won’t finish before my PTO. I’ll be back at work on January 2nd and will continue from there. Wishing everyone celebrating a wonderful holiday season! Cheers, Eelco >> 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 (15): >> 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: Rename static nln callback buffer. >> 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: Store orignal value for rtm_dst_len. >> route-table: Rename route_data local to rtn_local. >> route-table: Rename route_data mark to rta_mark. >> route-table: Use correct type for nlmsg_type. >> route-table: Export route table sync functions. >> route-table: Support parsing multipath routes. >> >> Makefile.am | 5 +- >> lib/netlink.c | 2 + >> lib/netlink.h | 1 + >> lib/route-table.c | 273 +++++++++++++++++++++++++---------- >> lib/route-table.h | 133 +++++++++++++++++ >> tests/automake.mk | 1 + >> tests/system-route.at | 179 +++++++++++++++++++++++ >> tests/test-lib-route-table.c | 149 +++++++++++++++++++ >> 8 files changed, 669 insertions(+), 74 deletions(-) >> create mode 100644 tests/test-lib-route-table.c >> >> -- >> 2.45.2 >> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
