[ovs-dev] [PATCH] bond/mirror: fix duplicate output when mix bond and mirror

Ben Pfaff blp at ovn.org
Mon Apr 8 20:17:38 UTC 2019


On Fri, Apr 05, 2019 at 01:26:29PM +0000, ? ? wrote:
> When we configured bond that use recirc and configure mirror, we
> observed that mirror destination is duplicated output.  This is
> because bond's frozen_state is not updated to reflect the mirror
> already composed the output, and when the companion recirc flow
> need to decide its action, the mirror again take effects, causing
> duplicate output.
> 
> Signed-off-by: Shuang Huang <kevinhuangs at hotmail.com>

Thanks for identifying that there is a problem.

I don't think that bonds that use recirculation involve frozen states.
In OVS, recirculation for bonds was added a long time before frozen
state, and I'm not sure that they're really related.  Output to a bond,
even when recirculation is involved, should not cause state to be
frozen.

Assuming I'm missing something, though, I do not think that this is a
good solution.  A frozen_state is not supposed to be modifiable.
Nothing else in the code base modifies one after creating it.  I do not
think that we should do it this way.

It seems to me that a better solution would be to disable mirroring for
flow translation of the flows that implement the bond recirculation.


More information about the dev mailing list