On Thu, Feb 22, 2024 at 04:06:32PM +0100, Ilya Maximets wrote:
> Trace attempts to process all the recirculations.  However, if there
> is a recirculation loop, i.e. if every recirculation generates another
> recirculation, this process will never stop.  It will grind until the
> trace fills the system memory.
> 
> A simple reproducer:
> 
>   make sandbox
>   ovs-vsctl add-br br0
>   ovs-vsctl add-port br0 p1
>   ovs-ofctl add-flow br0 "table=0,in_port=p1,ip,actions=ct(table=0)"
>   ovs-appctl ofproto/trace br0 in_port=p1,ip
> 
> Limit the number of recirculations trace is processing with a fairly
> arbitrary number - 4096 (loosely based on the resubmit limit, but
> they are not actually related).
> 
> Not adding a test for this since it's only for a trace, but also
> because the test may lead to OOM event in a system if the test fails,
> which is not nice.
> 
> Fixes: e6bc8e749381 ("ofproto/trace: Add support for tracing conntrack 
> recirculation")
> Reported-by: Jaime Caamaño Ruiz <jcaam...@redhat.com>
> Signed-off-by: Ilya Maximets <i.maxim...@ovn.org>

Acked-by: Simon Horman <ho...@ovn.org>

FWIIW, 4096 strikes me as an excessively generous limit.
But I have no reason to argue for a smaller value.

...
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to