On 16 Jun 2026, at 4:52, Chanyeol Yoon wrote:

> Native OVN BGP-EVPN only advertises addresses of ports that are directly
> attached to an EVPN-enabled Logical Switch (VIFs and router ports).  A
> distributed dnat_and_snat NAT entry -- i.e. an OpenStack-style floating
> IP -- exists only as a NAT rule on the Logical Router and has no port on
> the provider Logical Switch, so its external_ip/external_mac never reach
> Advertised_MAC_Binding and the FIP stays unreachable from the EVPN
> fabric.  This was raised on ovs-dev as an RFC and acknowledged as a
> missing case rather than an intentional restriction.
>
> This series closes that gap:
>
>   1. northd populates Advertised_MAC_Binding on the provider Logical
>      Switch that carries the NAT's distributed gateway port, using the
>      NAT's external_ip/external_mac.
>   2. ovn-controller injects those MACs into the EVPN advertise FDB so
>      FRR can emit the Type-2 MAC+IP route.
>
> It is gated by a new 'nat' token of the Logical Switch
> dynamic-routing-redistribute option, independent of 'ip': 'ip' keeps
> advertising VIF/router-port addresses, 'nat' opts in to floating IPs.
> This mirrors the 'nat' token of the Logical_Router
> dynamic-routing-redistribute option (same NAT entries, advertised as
> EVPN Type-5 routes), and honors the per-NAT dynamic-routing-advertise
> opt-out.
>
> Testing:
>  - tests/ovn-northd.at: new test for the 'nat' gating, independence from
>    'ip', NAT add/remove, and the localnet requirement (a distributed FIP
>    is only "distributed" when the provider LS has a localnet port).
>    Inc-proc graph dump updated.
>  - Validated on a Kube-OVN / OVN 26.03.90 lab: with
>    dynamic-routing-redistribute=fdb,ip,nat an OpenStack FIP appears in
>    Advertised_MAC_Binding on the provider LS router port and is reachable
>    from the EVPN gateway (ping, 0% loss), alongside a direct-attach VM.
>
> Notes for review:
>  - en_advertised_mac_binding_sync now uses a recompute handler for the
>    northd input instead of a noop, because the node reads per-datapath
>    EVPN settings (VNI, redistribute tokens).  A targeted incremental
>    handler could replace the full recompute later.
>  - Distributed FIPs are advertised on the provider-LS router port binding
>    (dgp->peer); locality vs. the workload chassis is a possible follow-up.
>
> Changes since v3:
>  - Resend with the correct "ovn" subject prefix.  v1-v3 were sent with
>    the default "[PATCH ...]" prefix, so the 0-day robot tried to apply
>    them to the OVS tree and failed ("could not build fake ancestor").
>  - Restore the architecture.rst doc hunk that was unnecessarily dropped
>    in v3 (the drop was based on a wrong diagnosis of that failure).
>
> Changes since v1:
>  - Recorded a base-commit.
>
> Chanyeol Yoon (2):
>   northd: Advertise distributed NAT IPs over EVPN.
>   controller: Add Advertised_MAC_Binding to FDB.


Hi Chanyeol,

You need to repost this to OVN (see [0]), i.e., by adding the "[PATCH ovn]" 
prefix to your email subject. Otherwise, it will end up in the OVS tree.

//Eelco

[0]
https://github.com/ovn-org/ovn/blob/main/Documentation/internals/contributing/submitting-patches.rst#email-subject

>  .../topics/dynamic-routing/architecture.rst   |  12 +++
>  NEWS                                          |   6 ++
>  controller/neighbor.c                         |  38 +++++++
>  lib/ovn-util.c                                |   3 +
>  lib/ovn-util.h                                |   3 +-
>  northd/en-advertised-route-sync.c             | 101 ++++++++++++++++--
>  northd/inc-proc-northd.c                      |  14 ++-
>  ovn-nb.xml                                    |  14 +++
>  tests/ovn-inc-proc-graph-dump.at              |   3 +-
>  tests/ovn-northd.at                           |  93 ++++++++++++++++
>  10 files changed, 271 insertions(+), 16 deletions(-)
>
>
> base-commit: 655f7bfd84aec6afad7447693022a1180789b930
> --
> 2.54.0 (Apple Git-156)
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

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

Reply via email to