On Fri, Feb 07, 2025 at 03:56:01AM +0530, Vipul Ashri via dev wrote: > RCA: This issue was reported in multi-bridge OVS environment, having > dynamic bridges. Each VM is tied with one bridge via vhu and a VM > add/del causes bridge add/del. We found individual bridge deletion, > while deleting VM was impacting overall OVS traffic, causing temp > traffic outage even for other unrelated VMs. The packets are dropped > with datapath_drop_lock_error coverage counter. We found that when > deleting a bridge, we disable upcall for some time and flush entire > dpctl flows. As we donot have per bridge dpctl flow, so any packets > coming during this period of time will miss dpctl flow and go for > upcall, which being disabled now will be dropped. > > Fix is to bypass "ofproto_class->flush(ofproto)", once this callback > holds the lock and dp flows flushed, leads to complete traffic outage. > > As per our analysis for userspace datapath, no call to udpif_flush() > is needed to flush all datapath flows. Instead needed flows will be > auto-deleted for required bridge with port deletion or port destroy > APIs which already called further in codeflow during bridge add/del > sequence. > > Signed-off-by: Vipul Ashri <[email protected]>
Hi Vipul, Thanks for your patch. It seems to me that there are some outstanding concerns raised by Aaron in his review of v2 of this patch [1]. And accordingly I think that a different approach will be needed to address your concern. Unfortunately I am unsure what that approach should be. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
