Hi Team, Could someone please review this patch series.
Thanks, Naveen > On 18 Jun 2026, at 1:51 PM, Naveen Yerramneni <[email protected]> > wrote: > > This series fixes a MAC flap / L2 loop scenario triggered by inline > Network Functions (NFs) when the destination MAC of a redirected IP > packet is not yet known to the FDB. > > Problem > ======= > An inline NF redirects matched traffic through a service VM. When > the NF returns an unknown-unicast IP packet, the switch re-floods it > (the destination MAC is still unknown), producing a copy on the port > the packet originally arrived on: > > - VLAN switch: the copy egresses the shared localnet port again, > so the TOR sees the source MAC move between chassis -> MAC flap. > With multiple NF-protected unknown-addr VMs the copy keeps > bouncing between chassis via the TOR -> underlay L2 loop. > > - Overlay switch: the copy is reflected back to the source port, > i.e. the source VM receives the packet it just sent. > > Fix > === > Remember the original input port keyed by (datapath, src_ip, dst_ip) > before sending the packet to the NF. On overlay switches the redirect > can run on a different node than the source port, so also do this > learn at ingress on every MC_UNKNOWN-member port; that places the > learn on the source-port node. > > On the post-NF return path, look up the same key on both NF ports; > if the recorded input port equals the current outport, drop the copy > in ls_out_check_port_sec. > > Naveen Yerramneni (2): > actions: Add nf_learn/nf_lookup_orig_src_port actions. > northd: Drop post-NF flood copies causing MAC flaps. > > V2: > == > - Add fixes tag > - Minor code cleanups > > NEWS | 3 + > controller/lflow.h | 1 + > include/ovn/actions.h | 15 ++ > include/ovn/logical-fields.h | 16 ++ > lib/actions.c | 190 +++++++++++++++++ > lib/logical-fields.c | 5 + > lib/ovn-util.c | 2 +- > northd/northd.c | 257 ++++++++++++++++++----- > northd/northd.h | 19 ++ > ovn-sb.xml | 65 ++++++ > tests/ovn-macros.at | 1 + > tests/ovn-northd.at | 393 +++++++++++++++++++++++++++++------ > tests/ovn.at | 133 +++++++++++- > utilities/ovn-trace.c | 15 ++ > 14 files changed, 996 insertions(+), 119 deletions(-) > > -- > 2.43.5 > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
