On Fri, 2025-02-14 at 14:51 +0100, Dumitru Ceara wrote: > On 2/14/25 7:33 AM, Martin Kalcok wrote: > > This series allows to advertise routes for Load Balancer VIPs and > > NAT external addresses to the network fabric. > > > > Many thanks to everyone who contributed! This series is now applied > to > the main branch.
Thanks everyone for reviews, feedback and help :) Martin. > > Regards, > Dumitru > > > v6 -> v7: > > * When redistributing NAT/LBs from neighboring routers, watch > > from changes in LSs, not just LRs. This is required because > > the CRPs that we set as tracked ports are in LS. > > > > * Verify that the nat record is valid before we use it to set > > tracked port. > > > > * more tests. > > > > v5 -> v6: > > * rebased on main > > > > * included patches from dceara that populate l3dgw in ovn_nat > > structure. > > > > * Tracked ports for LBs are properly set > > > > * LB VIPs from neighboring routers are readvertised. > > > > * tests and documentation > > > > v4 -> v5: > > * Included northd processing changes proposed by Dumitru (I will > > add you to co-authors for the final version @dceara) > > > > * Added optional tracked_port member to parsed_route struct. > > > > * Added tracked ports for NAT routes > > > > * Added advertising of external NAT IPs of neighboring routers. > > > > * Added advertising of LBs > > * tracked ports for LBs still missing > > * LBs from enighboring routers are not yet advertised > > > > * I kept the changes from v4 in a separate commit for easier > > review of changes. > > > > v3 -> v4: > > * This is just a preview to get feedback on the new design that > > splits processing of different route types in northd engine. > > Main goal is to avoid recomputing logical flows when NAT/LB > > routes are changed. > > > > * Approach from v3 was almost completely scrapped. > > > > * rebased on latest dependency patches [3] > > > > * This being WIP, it lacks: > > * setting "tracked_port" for routes > > * processing of LBs > > * tests/documentation > > > > v2 -> v3: > > * Actually use the install_lflow attribute of the parsed_route > > * Fix install_lflow ddtribute not being set in > > parsed_route_clone > > fuinction. > > > > * fix get_lb_addresses because it actually modified the behavior > > of > > get_nad_addresses by unconditionally overwriting > > "central_ip_address". > > Now it does "|=" instead of "=" > > > > * Added unit tests for advertising NAT and LB VIPs (IPv4 and > > IPv6) > > > > * Added optimizations suggested by Felix in v2 review. > > > > v2: > > * rebased on latest dependency patches [2] > > > > * get_nat_addresses refactored to extract functionality for > > getting > > LB addresses independently. The new function is called > > get_lb_addresses. > > The original behavior of get_nat_addresses is unchanged. > > > > * Added 'install_lflow' bool member to 'parsed_route' struct. > > This controls > > whether northd installs logical flows for given route (cc > > @felix.huettner) > > > > * Based on suggestion from dceara, "lr_stateful" input was added > > to en_routes > > node. This allows for easier iteration over logical router's > > load > > balancers. > > > > * Based on suggestion from fnordahl, functionality was added to > > advertise > > NAT/LB IPs of neighboring routers, if they have have > > "add_route" option > > set to "true". > > * A unit test was added to test this functionality. > > > > * Based on the discussion about the option naming, the names were > > changed to > > 'dynamic-routing-nat' and 'dynamic-routing-lb-vips'. This will > > likely > > change when dependency patch series gets updated to use > > 'dynamic-routing=<comma_separated_values>' > > > > [0] > > https://patchwork.ozlabs.org/project/ovn/cover/[email protected]/ > > [1] > > https://patchwork.ozlabs.org/project/ovn/cover/[email protected]/ > > [2] https://github.com/dceara/ovn/tree/tmp-bgp-ovn-controller-v5 > > [3] https://github.com/dceara/ovn/tree/tmp-bgp-v7 > > > > > > > > Dumitru Ceara (2): > > northd: Expose the is_l3dgw_port() function to other modules. > > northd: Check and populate NAT entry fields early in the I-P > > engine. > > > > Martin Kalcok (1): > > northd: Redistribution of NAT/LB routes. > > > > TODO.rst | 10 + > > lib/stopwatch-names.h | 1 + > > northd/en-advertised-route-sync.c | 198 ++++++-- > > northd/en-advertised-route-sync.h | 3 + > > northd/en-learned-route-sync.c | 3 +- > > northd/en-lr-nat.c | 234 +++++++++- > > northd/en-lr-nat.h | 24 +- > > northd/inc-proc-northd.c | 5 + > > northd/northd.c | 581 +++++++++++++---------- > > northd/northd.h | 54 ++- > > ovn-nb.xml | 36 ++ > > tests/ovn-northd.at | 628 +++++++++++++++++++++++++ > > tests/system-ovn.at | 738 > > ++++++++++++++++++++++++++++++ > > 13 files changed, 2190 insertions(+), 325 deletions(-) > > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
