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

Reply via email to