Hi all,

To streamline reviews I rebased this set on top of Felix's BGP series v7
and pushed it here:

https://github.com/dceara/ovn/commits/refs/heads/tmp-bgp-v7-full/

I did bluntly fixed some NEWS and man page conflicts with TODOs and only
"compile tested" this but hopefully it makes review easier.

Regards,
Dumitru

On 2/5/25 10:20 AM, Martin Kalcok wrote:
> This series allows to advertise routes for Load Balancer VIPs and
> NAT external addresses to the network fabric.
> 
> The reason why this is posted as an RFC is because it depends on two
> in-flight patch series in OVN:
> 
>   * OVN Fabric integration: Northd (v4)[0]
>   * OVN Fabric integration: Ovn-controller (v5)[1]
> 
> 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
> 
> Frode Nordahl (1):
>   northd: Allow IPv6 in get_nat_addresses().
> 
> Martin Kalcok (3):
>   northd: Extract get_lb_addresses functionality.
>   northd: Add install_lflow member to parsed_route.
>   northd: Advertise Routes for LB and NAT VIPs.
> 
>  NEWS                              |  17 +
>  northd/en-advertised-route-sync.c | 198 +++++++++++
>  northd/en-learned-route-sync.c    |   3 +-
>  northd/en-northd.c                |   5 +-
>  northd/inc-proc-northd.c          |   5 +
>  northd/northd.c                   | 230 ++++++++++--
>  northd/northd.h                   |  12 +-
>  ovn-nb.xml                        |  32 ++
>  ovs                               |   2 +-
>  tests/ovn-northd.at               | 556 ++++++++++++++++++++++++++++++
>  tests/system-ovn.at               | 379 ++++++++++++++++++++
>  11 files changed, 1401 insertions(+), 38 deletions(-)
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to