[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87ileavr4c.fsf@laptop.lockywolf.net>
Date: Wed, 05 Apr 2023 13:21:17 +0800
From: Vladimir Nikishkin <vladimir@...ishkin.pw>
To: Hangbin Liu <liuhangbin@...il.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com,
eng.alaamohamedsoliman.am@...il.com, gnault@...hat.com,
razor@...ckwall.org, idosch@...dia.com, eyal.birger@...il.com,
jtoppins@...hat.com
Subject: Re: [PATCH iproute2-next v1 1/1 v1] ip-link: add support for
nolocalbypass in vxlan
Hangbin Liu <liuhangbin@...il.com> writes:
> Hi Vladimir,
>
> For the subject prefix, [PATCH iproute2-next] is enough for the v1 patch.
>
> On Thu, Mar 23, 2023 at 02:04:51PM +0800, Vladimir Nikishkin wrote:
>> Add userspace support for the nolocalbypass vxlan netlink
>> attribute. With nolocalbypass, if an entry is pointing to the
>> local machine, but the system driver is not listening on this
>> port, the driver will not drop packets, but will forward them
>> to the userspace network stack instead.
>>
>> This commit has a corresponding patch in the net-next list.
>>
>> Signed-off-by: Vladimir Nikishkin <vladimir@...ishkin.pw>
>> ---
>> include/uapi/linux/if_link.h | 1 +
>> ip/iplink_vxlan.c | 18 ++++++++++++++++++
>> man/man8/ip-link.8.in | 8 ++++++++
>> 3 files changed, 27 insertions(+)
>>
>> diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
>> index d61bd32d..fd390b40 100644
>> --- a/include/uapi/linux/if_link.h
>> +++ b/include/uapi/linux/if_link.h
>> @@ -824,6 +824,7 @@ enum {
>> IFLA_VXLAN_TTL_INHERIT,
>> IFLA_VXLAN_DF,
>> IFLA_VXLAN_VNIFILTER, /* only applicable with COLLECT_METADATA mode */
>> + IFLA_VXLAN_LOCALBYPASS,
>> __IFLA_VXLAN_MAX
>> };
>> #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
>
> There is no need to include the uapi header. Stephen will sync it with upstream.
>
> Hi Stephen, should we add this note to the README.devel?
>
Without this change, my code does not compile. I ended up modifying the
header, but not adding it to git. Is this the correct way of doing it?
>> diff --git a/ip/iplink_vxlan.c b/ip/iplink_vxlan.c
>> index c7e0e1c4..17fa5cf7 100644
>> --- a/ip/iplink_vxlan.c
>> +++ b/ip/iplink_vxlan.c
>> @@ -276,6 +276,12 @@ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv,
>> } else if (!matches(*argv, "noudpcsum")) {
>> check_duparg(&attrs, IFLA_VXLAN_UDP_CSUM, *argv, *argv);
>> addattr8(n, 1024, IFLA_VXLAN_UDP_CSUM, 0);
>> + } else if (!matches(*argv, "localbypass")) {
>> + check_duparg(&attrs, IFLA_VXLAN_LOCALBYPASS, *argv, *argv);
>> + addattr8(n, 1024, IFLA_VXLAN_LOCALBYPASS, 1);
>> + } else if (!matches(*argv, "nolocalbypass")) {
>> + check_duparg(&attrs, IFLA_VXLAN_LOCALBYPASS, *argv, *argv);
>> + addattr8(n, 1024, IFLA_VXLAN_LOCALBYPASS, 0);
>
> matches is deparated, please use strcmp instead.
Why is strcmp recommended, not strncmp? I remember strcmp being frowned
upon for some potential memory bounds violations.
>
> Thanks
> Hangbin
--
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)
--
Fastmail.
Powered by blists - more mailing lists