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