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:
  * 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>'

A more thorough tests (unit and system) are underway, but I wanted to get
this version out there, since it contains important changes.
(Manual testing looks good)

[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 | 167 +++++++++++++
 northd/en-learned-route-sync.c    |   3 +-
 northd/en-northd.c                |   5 +-
 northd/inc-proc-northd.c          |   5 +
 northd/northd.c                   | 225 +++++++++++++++---
 northd/northd.h                   |  12 +-
 ovn-nb.xml                        |  31 +++
 ovs                               |   2 +-
 tests/ovn-northd.at               | 139 +++++++++++
 tests/system-ovn.at               | 379 ++++++++++++++++++++++++++++++
 11 files changed, 946 insertions(+), 39 deletions(-)

-- 
2.43.0

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

Reply via email to