Re: [PATCH net 1/2] vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply

Antoine Tenart
2022-01-31T14:42:12Z

Hi Stefano,

Quoting Stefano Brivio (2022-01-31 15:04:18)
> On Mon, 31 Jan 2022 14:26:47 +0100
> Antoine Tenart <atenart@kernel.org> wrote:
> > Quoting Vlad Buslov (2022-01-31 12:26:47)
> > > On Fri 28 Jan 2022 at 19:01, Antoine Tenart <atenart@kernel.org> wrote:
> > > >
> > > > I finally had some time to look at this. Does the diff below fix your
> > > > issue?
> > >
> > > Yes, with the patch applied I'm no longer able to reproduce memory leak.
> > > Thanks for fixing this!
> >
> > Thanks for testing. I'll send a formal patch, can I add your Tested-by?
> >
> > Also, do you know how to trigger the following code path in OVS
> > https://elixir.bootlin.com/linux/latest/source/net/openvswitch/actions.c#L944
>
> I guess the selftests pmtu_ipv{4,6}_ovs_vxlan{4,6}_exception and
> pmtu_ipv{4,6}_ovs_geneve{4,6}_exception from net/pmtu.sh:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/net/pmtu.sh?id=ece1278a9b81bdfc088f087f8372a072b7010956#n81
>
> should trigger that path once or twice per test, but I haven't tried
> recently.

Thanks for the suggestion! I did run all 8 ptmu_*_ovs_* tests, they all
passed but didn't trigger a call to dev_fill_metadata_dst in
net/openvswitch/actions.c.

To be sure there wasn't a misunderstanding: I did test the PTMU code
path in Geneve/VXLAN (while one of the endpoint is an OVS port); but the
net/openvswitch/actions.c code path is something different, used to
retrieve tunnel egress info. I don't know when/how this is used by OVS.

Thanks,
Antoine