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

Reply via email to