[ovs-dev] [PATCH ovn v8 0/6] ARP and Floating IP Fixes

Mark Michelson mmichels at redhat.com
Thu Jun 3 18:49:25 UTC 2021

This patch series aims to fix issues seen in OpenStack deployments when
floating IPs were assigned to routers, and those floating IPs were not
part of any subnet configured on that router.

Originally, this was a two patch series but it has bloomed into a 5
patch series. After v7, a new approach was suggested and it's now 6

Patch 1 fixes the scenario where a VM attempts to reach a floating IP on
the directly connected router. This has been part of this patch series
since v1.

Patch 2 is an incidental fix that removes a redundant paragraph from

Patch 3 is a small cleanup in ovn-northd.c to factor out peer retrieval
into its own function.

Patch 4 alters northd to install logical flows to make it so that
routers can reach NAT and load balancer addresses on their neighbors
without the need to configure static routes or MAC bindings.

Patch 5 recognizes that patch 4 may not always be desired, so it makes
the behavior opt-in.

Finally, patch 6  addresses the situation for when the pre-allocated
logical flows cannot be used. For this situation, we will flood the ARP
request if the TPA is for a configured IP address that is outside the
connected routers' subnets.
v7 -> v8: First 2 patches are the same as they have been in previous
versions. Patch 6 is nearly identical to patch 5 from previous versions.
Patches 3, 4, and 5 represent a completely new approach to solving the
issue from before. And that's also why previous version are not
documented here.
Mark Michelson (6):
  northd: Swap src and dst eth addresses in router egress loop.
  ovn-sb: Remove redundant "nat-addresses" information from
  northd: Factor peer retrieval into its own function.
  northd: Add IP routing and ARP resolution flows for NAT/LB addresses.
  northd: Add options to automatically add routes for NATs and LBs.
  northd: Flood ARPs to routers for "unreachable" addresses.

 northd/ovn-northd.8.xml |   8 +
 northd/ovn-northd.c     | 380 +++++++++++++++++++++++++++++-----------
 northd/ovn_northd.dl    | 180 ++++++++++++++++---
 ovn-nb.xml              |  29 ++-
 ovn-sb.xml              |  10 --
 tests/ovn-nbctl.at      |   3 +
 tests/ovn-northd.at     | 345 ++++++++++++++++++++++++++++++++++++
 tests/system-ovn.at     | 215 ++++++++++++++++++++++-
 utilities/ovn-nbctl.c   |  25 ++-
 9 files changed, 1043 insertions(+), 152 deletions(-)


More information about the dev mailing list