Subject: Re: [PATCH net-next v5] vxlan: try to send a packet normally if local bypass fails

From: Vladimir Nikishkin <[email-masked]>
Date: Wed, 05 Apr 2023 13:05:02 +0800

Simon Horman <[email-masked]> writes:

> I'm a bit unsure about the logic around dst_release().
> But assuming it is correct, perhaps this is a slightly

Let me try to defend this logic.

In the previous version, if the destination is local (the first "if"),
then there is no need to keep the address in memory any more, hence the
address was free()'d at the beginning of the "if" (and was not freed
after the "if", because the address was still needed at the userspace
part.)

With this patch, the "localbypass" creates one more branch inside that
"if", which is handing over the processing logic to the userspace (which
has no free()). The older two branches _inside_ the "if" (vxlan
found/vxlan not found) are still terminating, and therefore have one
call to free() each.

Ido Schimmel <[email-masked]> writes:

> Also, please add a selftest under tools/testing/selftests/net/. We
> already have a bunch of VXLAN tests that you can use as a reference.

I have added a file
tools/testing/selftests/net/test_vxlan_nolocalbypass.sh
, which is written on the basis of test_vxlan_mdb.sh

Some tests do have a "testing framework" for enumerating and running
tests (for example, those in ./forwarding/lib.sh), and some do not. I
have used the simplest one.

-- 
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)
--
Fastmail.