With the typo corrected,

Acked-by: Mark Michelson <[email protected]>

On 2/7/25 02:11, Ales Musil wrote:
On Fri, Feb 7, 2025 at 8:09 AM Ales Musil <[email protected]> wrote:

The negotiation for Geneve metadata TLV and the register allocation
might take a while after controller start, if we attempt to create
flood flows in that period we might end up crashing as the metadata
match helper asserts if the register is valid:

lib/tun-metadata.c:286: assertion idx < TUN_METADATA_NUM_OPTS failed in
metadata_loc_from_match()

Fixes: 7c3f7f415f1d ("northd, controller: Flood ARP and NA packet on
transit router.")
Signed-off-by: Ales Musil <[email protected]>
---
  controller/physical.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/controller/physical.c b/controller/physical.c
index 5d088302a..0d4f99ff8 100644
--- a/controller/physical.c
+++ b/controller/physical.c
@@ -2475,6 +2475,11 @@ physical_eval_remote_chassis_flows(const struct
physical_ctx *ctx,
              continue;
          }

+        /* Do not create flows for Geneve if the TLV negotiation
finished. */


I left a typo there, it should be: "Do not create flows for Geneve if the
TLV negotiation is not finished".


+        if (tun->type == GENEVE && !ctx->mff_ovn_geneve) {
+            continue;
+        }
+
          if (!(prev && prev->type == tun->type)) {
              put_remote_chassis_flood_encap(egress_ofpacts, tun->type,
                                             ctx->mff_ovn_geneve);
--
2.48.1


_______________________________________________
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