Hi Tao Chen,
Thank you for having shared this patch.
On 30/10/2024 11:01, Tao Chen wrote:
Fix compile error when MPTCP feature not support, though eBPF core check
already done which seems invalid in this situation, the error info like:
progs/mptcp_sock.c:49:40: error: no member named 'is_mptcp' in 'struct
tcp_sock'
49 | is_mptcp = bpf_core_field_exists(tsk->is_mptcp) ?
The filed created in new definitions with eBPF core feature to solve
this build problem, and test case result still ok in MPTCP kernel.
176/1 mptcp/base:OK
176/2 mptcp/mptcpify:OK
176 mptcp:OK
Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED
Fixes: 8039d353217c ("selftests/bpf: Add MPTCP test base")
The commit you mentioned here is more than 2 years old, and as far as I
can see, nobody else reported this compilation issue. I guess that's
because people used tools/testing/selftests/bpf/config file as expected
to populate the kernel config, and I suppose you didn't, right?
I don't think other BPF selftests check for missing kernel config if
they are specified in the 'config' file, but even if it is the case, I
think it would be better to skip all the MPTCP tests, and not try to
have them checking something that doesn't exist: no need to validate
these tests if the expected kernel config has not been enabled.
But again, please correct me if I'm wrong, but I don't think there is
anything to change here to fix your compilation issue: simply make sure
to use this tools/testing/selftests/bpf/config file to generate your
kernel config, no?
Cheers,
Matt