On 5/20/26 12:25 PM, Dumitru Ceara via dev wrote:
> physical_handle_flows_for_lport() handles the forward
> dependency (PATCH/EXTERNAL/L3GATEWAY -> localnet) but
> not the reverse: when a localnet port is added or
> updated, chassisredirect ports on peer router datapaths
> whose bridged redirect flows depend on that localnet
> port (via put_remote_port_redirect_bridged() ->
> get_localnet_port()) are not re-evaluated.
> 
> This causes the CR bridged redirect flow in
> OFTABLE_LOCAL_OUTPUT to be permanently missing when the
> localnet port binding is processed incrementally without
> a full recompute.
> 
> Fix this by iterating peer router datapaths when a
> localnet port is processed and re-evaluating any CR port
> bindings found there.
> 
> Add a test that deterministically exposes the bug by
> pre-creating the OVS patch port so that non_vif_data
> does not change when the localnet port binding arrives,
> forcing pflow_output to use the incremental path.
> 
> Fixes: 3ae8470edc64 ("I-P: Handle runtime data changes for pflow_output 
> engine.")
> Assisted-by: Claude Opus 4.6, Claude Code
> Signed-off-by: Dumitru Ceara <[email protected]>
> ---
> NOTE:
> - on 25.03 this patch would need some minor changes:
>   https://github.com/dceara/ovn/commit/54089ca
> - that would allow us to also backport b408eedf6d9d
>   ("ovn-controller: Skip type-update check for new port bindings.")
>   to 25.03
> - more context here:
>   https://mail.openvswitch.org/pipermail/ovs-dev/2026-May/432414.html
> ---

Known CI failure, we need an OVS submodule bump to pick up the OVS fixes
for this.

--- /dev/null   2026-05-20 10:47:47.504261528 +0000
+++ /workspace/ovn-tmp/tests/testsuite.dir/at-groups/154/stdout
2026-05-20 10:57:31.808115116 +0000
@@ -0,0 +1,2 @@
+2026-05-20T10:57:31.587Z|00483|ofproto_dpif_rid|ERR|recirc_id 2 left
allocated when ofproto (br-int) is destructed
+2026-05-20T10:57:31.587Z|00484|ofproto_dpif_rid|ERR|recirc_id 4 left
allocated when ofproto (br-int) is destructed
related-ports-diff:
154. ovn.at:10203: 154. ARP/ND from localnet -- proxy reply on resident
chassis only -- parallelization=yes -- ovn_monitor_all=yes
(ovn.at:10203): FAILED (ovn.at:10203)

Recheck-request: github-robot-_Build_and_Test

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

Reply via email to