tor. 16. jan. 2025, 22:13 skrev Ilya Maximets <[email protected]>: > On 1/13/25 21:45, 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. > > > > v5 -> v6: > > * Address review feedback. > > > > 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 (16): > > 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: Harmonize log msgs with code base. > > 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 | 12 ++ > > lib/netlink.h | 1 + > > lib/route-table.c | 288 ++++++++++++++++++++++++++--------- > > lib/route-table.h | 134 ++++++++++++++++ > > tests/automake.mk | 1 + > > tests/system-route.at | 204 +++++++++++++++++++++++++ > > tests/test-lib-route-table.c | 149 ++++++++++++++++++ > > 8 files changed, 717 insertions(+), 77 deletions(-) > > create mode 100644 tests/test-lib-route-table.c > > > > Thanks, Frode, Felix and Eelco! > > I went through the patch set and it generally looks good to me. > > I fixed a few style issues and typos and applied the set. >
Thank you! For the record, the largest thing I fixed is I renamed the _primary_next_hop > into primary_next_hop__, as per our coding style document. > Ack. -- Frode Nordahl Best regards, Ilya Maximets. > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
