RE: selftests: net: l2tp.sh regression starting with 6.1-rc1

From: Drewek, Wojciech
Date: Wed Mar 29 2023 - 10:26:12 EST


Hi,

Modifying UAPI was not a good idea although the patch should not break userspace (related discussion [1]).
We could revert this patch with one additional change (include l2tp.h in net/sched/cls_flower.c) but then again,
modifying UAPI. This patch was mostly cosmetic anyway.
Second option is to try to fix the automatic load. I'm not an expert but I think
MODULE_ALIAS_NET_PF_PROTO macro is somehow responsible for that. I noticed some comments saying that
"__stringify doesn't like enums" (this macro is using _stringify) and my patch defined IPPROTO_L2TP in enum.
We can just replace IPPROTO_L2TP with 115 (where this macro is used) in order to fix this.
I'm going to give it a try and will let you know.

Regards,
Wojtek

[1] https://lore.kernel.org/netdev/Ywis3PYhKiATnzXB@nanopsycho/

> -----Original Message-----
> From: Andrea Righi <andrea.righi@xxxxxxxxxxxxx>
> Sent: środa, 29 marca 2023 14:24
> To: Drewek, Wojciech <wojciech.drewek@xxxxxxxxx>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni
> <pabeni@xxxxxxxxxx>; Shuah Khan <shuah@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-kselftest@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: selftests: net: l2tp.sh regression starting with 6.1-rc1
>
> I noticed that l2tp.sh net selftest is failing in recent kernels with
> the following error:
>
> RTNETLINK answers: Protocol not supported
>
> See also: https://bugs.launchpad.net/bugs/2013014
>
> Apprently the module lt2p_ipv6 is not automatically loaded when the test
> is trying to create an l2tp ipv6 tunnel.
>
> I did a bisect and found that the offending commit is this one:
>
> 65b32f801bfb ("uapi: move IPPROTO_L2TP to in.h")
>
> I've temporarily reverted this commit for now, any suggestion on how to
> fix this properly?
>
> Thanks,
> -Andrea