* [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' @ 2022-11-11 3:26 Rong Tao 2022-11-11 17:25 ` sdf 0 siblings, 1 reply; 8+ messages in thread From: Rong Tao @ 2022-11-11 3:26 UTC (permalink / raw) To: ast Cc: Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Lorenzo Bianconi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list From: Rong Tao <rongtao@cestc.cn> commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum nf_nat_manip_type to test_bpf_nf.c fix this error. How to reproduce the error: $ make -C tools/testing/selftests/bpf/ ... CLNG-BPF [test_maps] test_bpf_nf.bpf.o error: use of undeclared identifier 'NF_NAT_MANIP_SRC' bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); ^ error: use of undeclared identifier 'NF_NAT_MANIP_DST' bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); ^ 2 errors generated. Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Rong Tao <rongtao@cestc.cn> --- tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c b/tools/testing/selftests/bpf/progs/test_bpf_nf.c index 227e85e85dda..307ca166ff34 100644 --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c @@ -3,6 +3,11 @@ #include <bpf/bpf_helpers.h> #include <bpf/bpf_endian.h> +enum nf_nat_manip_type { + NF_NAT_MANIP_SRC, + NF_NAT_MANIP_DST +}; + #define EAFNOSUPPORT 97 #define EPROTO 71 #define ENONET 64 -- 2.31.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 3:26 [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' Rong Tao @ 2022-11-11 17:25 ` sdf 2022-11-11 17:54 ` Lorenzo Bianconi 0 siblings, 1 reply; 8+ messages in thread From: sdf @ 2022-11-11 17:25 UTC (permalink / raw) To: Rong Tao Cc: ast, Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Lorenzo Bianconi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list On 11/11, Rong Tao wrote: > From: Rong Tao <rongtao@cestc.cn> > commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") > introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, > and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info > kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum > nf_nat_manip_type to test_bpf_nf.c fix this error. > How to reproduce the error: > $ make -C tools/testing/selftests/bpf/ > ... > CLNG-BPF [test_maps] test_bpf_nf.bpf.o > error: use of undeclared identifier 'NF_NAT_MANIP_SRC' > bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); > ^ > error: use of undeclared identifier 'NF_NAT_MANIP_DST' > bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); > ^ > 2 errors generated. $ grep NF_NAT_MANIP_SRC ./tools/testing/selftests/bpf/tools/include/vmlinux.h NF_NAT_MANIP_SRC = 0, Doesn't look like your kernel config compiles netfilter nat modules? > Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Rong Tao <rongtao@cestc.cn> > --- > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ > 1 file changed, 5 insertions(+) > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > index 227e85e85dda..307ca166ff34 100644 > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > @@ -3,6 +3,11 @@ > #include <bpf/bpf_helpers.h> > #include <bpf/bpf_endian.h> > +enum nf_nat_manip_type { > + NF_NAT_MANIP_SRC, > + NF_NAT_MANIP_DST > +}; > + > #define EAFNOSUPPORT 97 > #define EPROTO 71 > #define ENONET 64 > -- > 2.31.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 17:25 ` sdf @ 2022-11-11 17:54 ` Lorenzo Bianconi 2022-11-11 18:08 ` Stanislav Fomichev 0 siblings, 1 reply; 8+ messages in thread From: Lorenzo Bianconi @ 2022-11-11 17:54 UTC (permalink / raw) To: sdf Cc: Rong Tao, ast, Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list [-- Attachment #1: Type: text/plain, Size: 2284 bytes --] > On 11/11, Rong Tao wrote: > > From: Rong Tao <rongtao@cestc.cn> > > > commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") > > introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, > > and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info > > kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum > > nf_nat_manip_type to test_bpf_nf.c fix this error. > > > How to reproduce the error: > > > $ make -C tools/testing/selftests/bpf/ > > ... > > CLNG-BPF [test_maps] test_bpf_nf.bpf.o > > error: use of undeclared identifier 'NF_NAT_MANIP_SRC' > > bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); > > ^ > > error: use of undeclared identifier 'NF_NAT_MANIP_DST' > > bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); > > ^ > > 2 errors generated. > > $ grep NF_NAT_MANIP_SRC > ./tools/testing/selftests/bpf/tools/include/vmlinux.h > NF_NAT_MANIP_SRC = 0, > > Doesn't look like your kernel config compiles netfilter nat modules? yes, in bpf kself-test config (tools/testing/selftests/bpf/config) nf_nat is compiled as built-in. This issue occurs just if it is compiled as module. Regards, Lorenzo > > > Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ > > Reported-by: kernel test robot <lkp@intel.com> > > Signed-off-by: Rong Tao <rongtao@cestc.cn> > > --- > > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > index 227e85e85dda..307ca166ff34 100644 > > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > @@ -3,6 +3,11 @@ > > #include <bpf/bpf_helpers.h> > > #include <bpf/bpf_endian.h> > > > +enum nf_nat_manip_type { > > + NF_NAT_MANIP_SRC, > > + NF_NAT_MANIP_DST > > +}; > > + > > #define EAFNOSUPPORT 97 > > #define EPROTO 71 > > #define ENONET 64 > > -- > > 2.31.1 > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 17:54 ` Lorenzo Bianconi @ 2022-11-11 18:08 ` Stanislav Fomichev 2022-11-11 18:12 ` Lorenzo Bianconi 0 siblings, 1 reply; 8+ messages in thread From: Stanislav Fomichev @ 2022-11-11 18:08 UTC (permalink / raw) To: Lorenzo Bianconi Cc: Rong Tao, ast, Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list On Fri, Nov 11, 2022 at 9:54 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: > > > On 11/11, Rong Tao wrote: > > > From: Rong Tao <rongtao@cestc.cn> > > > > > commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") > > > introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, > > > and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info > > > kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum > > > nf_nat_manip_type to test_bpf_nf.c fix this error. > > > > > How to reproduce the error: > > > > > $ make -C tools/testing/selftests/bpf/ > > > ... > > > CLNG-BPF [test_maps] test_bpf_nf.bpf.o > > > error: use of undeclared identifier 'NF_NAT_MANIP_SRC' > > > bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); > > > ^ > > > error: use of undeclared identifier 'NF_NAT_MANIP_DST' > > > bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); > > > ^ > > > 2 errors generated. > > > > $ grep NF_NAT_MANIP_SRC > > ./tools/testing/selftests/bpf/tools/include/vmlinux.h > > NF_NAT_MANIP_SRC = 0, > > > > Doesn't look like your kernel config compiles netfilter nat modules? > > yes, in bpf kself-test config (tools/testing/selftests/bpf/config) nf_nat > is compiled as built-in. This issue occurs just if it is compiled as module. Right, but if we unconditionally define this enum, I think you'll break the case where it's compiled as a built-in? Since at least in my vmlinux.h I have all the defines and this test includes vmlinux.h... > Regards, > Lorenzo > > > > > > Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ > > > Reported-by: kernel test robot <lkp@intel.com> > > > Signed-off-by: Rong Tao <rongtao@cestc.cn> > > > --- > > > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > index 227e85e85dda..307ca166ff34 100644 > > > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > @@ -3,6 +3,11 @@ > > > #include <bpf/bpf_helpers.h> > > > #include <bpf/bpf_endian.h> > > > > > +enum nf_nat_manip_type { > > > + NF_NAT_MANIP_SRC, > > > + NF_NAT_MANIP_DST > > > +}; > > > + > > > #define EAFNOSUPPORT 97 > > > #define EPROTO 71 > > > #define ENONET 64 > > > -- > > > 2.31.1 > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 18:08 ` Stanislav Fomichev @ 2022-11-11 18:12 ` Lorenzo Bianconi 2022-11-11 18:55 ` Stanislav Fomichev 0 siblings, 1 reply; 8+ messages in thread From: Lorenzo Bianconi @ 2022-11-11 18:12 UTC (permalink / raw) To: Stanislav Fomichev Cc: Rong Tao, ast, Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list [-- Attachment #1: Type: text/plain, Size: 2855 bytes --] > On Fri, Nov 11, 2022 at 9:54 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: > > > > > On 11/11, Rong Tao wrote: > > > > From: Rong Tao <rongtao@cestc.cn> > > > > > > > commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") > > > > introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, > > > > and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info > > > > kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum > > > > nf_nat_manip_type to test_bpf_nf.c fix this error. > > > > > > > How to reproduce the error: > > > > > > > $ make -C tools/testing/selftests/bpf/ > > > > ... > > > > CLNG-BPF [test_maps] test_bpf_nf.bpf.o > > > > error: use of undeclared identifier 'NF_NAT_MANIP_SRC' > > > > bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); > > > > ^ > > > > error: use of undeclared identifier 'NF_NAT_MANIP_DST' > > > > bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); > > > > ^ > > > > 2 errors generated. > > > > > > $ grep NF_NAT_MANIP_SRC > > > ./tools/testing/selftests/bpf/tools/include/vmlinux.h > > > NF_NAT_MANIP_SRC = 0, > > > > > > Doesn't look like your kernel config compiles netfilter nat modules? > > > > yes, in bpf kself-test config (tools/testing/selftests/bpf/config) nf_nat > > is compiled as built-in. This issue occurs just if it is compiled as module. > > Right, but if we unconditionally define this enum, I think you'll > break the case where it's compiled as a built-in? > Since at least in my vmlinux.h I have all the defines and this test > includes vmlinux.h... yes, it is correct. > > > Regards, > > Lorenzo > > > > > > > > > Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ > > > > Reported-by: kernel test robot <lkp@intel.com> > > > > Signed-off-by: Rong Tao <rongtao@cestc.cn> > > > > --- > > > > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ > > > > 1 file changed, 5 insertions(+) > > > > > > > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > index 227e85e85dda..307ca166ff34 100644 > > > > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > @@ -3,6 +3,11 @@ > > > > #include <bpf/bpf_helpers.h> > > > > #include <bpf/bpf_endian.h> > > > > > > > +enum nf_nat_manip_type { > > > > + NF_NAT_MANIP_SRC, > > > > + NF_NAT_MANIP_DST > > > > +}; > > > > + > > > > #define EAFNOSUPPORT 97 > > > > #define EPROTO 71 > > > > #define ENONET 64 > > > > -- > > > > 2.31.1 > > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 18:12 ` Lorenzo Bianconi @ 2022-11-11 18:55 ` Stanislav Fomichev 2022-11-11 20:44 ` Andrii Nakryiko 0 siblings, 1 reply; 8+ messages in thread From: Stanislav Fomichev @ 2022-11-11 18:55 UTC (permalink / raw) To: Lorenzo Bianconi Cc: Rong Tao, ast, Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list On Fri, Nov 11, 2022 at 10:12 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: > > > On Fri, Nov 11, 2022 at 9:54 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: > > > > > > > On 11/11, Rong Tao wrote: > > > > > From: Rong Tao <rongtao@cestc.cn> > > > > > > > > > commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") > > > > > introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, > > > > > and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info > > > > > kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum > > > > > nf_nat_manip_type to test_bpf_nf.c fix this error. > > > > > > > > > How to reproduce the error: > > > > > > > > > $ make -C tools/testing/selftests/bpf/ > > > > > ... > > > > > CLNG-BPF [test_maps] test_bpf_nf.bpf.o > > > > > error: use of undeclared identifier 'NF_NAT_MANIP_SRC' > > > > > bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); > > > > > ^ > > > > > error: use of undeclared identifier 'NF_NAT_MANIP_DST' > > > > > bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); > > > > > ^ > > > > > 2 errors generated. > > > > > > > > $ grep NF_NAT_MANIP_SRC > > > > ./tools/testing/selftests/bpf/tools/include/vmlinux.h > > > > NF_NAT_MANIP_SRC = 0, > > > > > > > > Doesn't look like your kernel config compiles netfilter nat modules? > > > > > > yes, in bpf kself-test config (tools/testing/selftests/bpf/config) nf_nat > > > is compiled as built-in. This issue occurs just if it is compiled as module. > > > > Right, but if we unconditionally define this enum, I think you'll > > break the case where it's compiled as a built-in? > > Since at least in my vmlinux.h I have all the defines and this test > > includes vmlinux.h... > > yes, it is correct. And it will break the CI: $ grep NETFILTER tools/testing/selftests/bpf/config CONFIG_NETFILTER=y So yeah, not sure what to do here. The selftests expect "sane" configs (see that bpf/config above) which is not what the bot seems to be doing... > > > Regards, > > > Lorenzo > > > > > > > > > > > > Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ > > > > > Reported-by: kernel test robot <lkp@intel.com> > > > > > Signed-off-by: Rong Tao <rongtao@cestc.cn> > > > > > --- > > > > > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ > > > > > 1 file changed, 5 insertions(+) > > > > > > > > > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > index 227e85e85dda..307ca166ff34 100644 > > > > > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > @@ -3,6 +3,11 @@ > > > > > #include <bpf/bpf_helpers.h> > > > > > #include <bpf/bpf_endian.h> > > > > > > > > > +enum nf_nat_manip_type { > > > > > + NF_NAT_MANIP_SRC, > > > > > + NF_NAT_MANIP_DST > > > > > +}; > > > > > + > > > > > #define EAFNOSUPPORT 97 > > > > > #define EPROTO 71 > > > > > #define ENONET 64 > > > > > -- > > > > > 2.31.1 > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 18:55 ` Stanislav Fomichev @ 2022-11-11 20:44 ` Andrii Nakryiko 2022-11-17 14:15 ` Rong Tao 0 siblings, 1 reply; 8+ messages in thread From: Andrii Nakryiko @ 2022-11-11 20:44 UTC (permalink / raw) To: Stanislav Fomichev Cc: Lorenzo Bianconi, Rong Tao, ast, Rong Tao, kernel test robot, Daniel Borkmann, Andrii Nakryiko, Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend, KP Singh, Hao Luo, Jiri Olsa, Mykola Lysenko, Shuah Khan, Kumar Kartikeya Dwivedi, Daniel Xu, open list:BPF [GENERAL] (Safe Dynamic Programs and Tools), open list:KERNEL SELFTEST FRAMEWORK, open list On Fri, Nov 11, 2022 at 10:55 AM Stanislav Fomichev <sdf@google.com> wrote: > > On Fri, Nov 11, 2022 at 10:12 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: > > > > > On Fri, Nov 11, 2022 at 9:54 AM Lorenzo Bianconi <lorenzo@kernel.org> wrote: > > > > > > > > > On 11/11, Rong Tao wrote: > > > > > > From: Rong Tao <rongtao@cestc.cn> > > > > > > > > > > > commit 472caa69183f("netfilter: nat: un-export nf_nat_used_tuple") > > > > > > introduce NF_NAT_MANIP_SRC/DST enum in include/net/netfilter/nf_nat.h, > > > > > > and commit b06b45e82b59("selftests/bpf: add tests for bpf_ct_set_nat_info > > > > > > kfunc") use NF_NAT_MANIP_SRC/DST in test_bpf_nf.c. We copy enum > > > > > > nf_nat_manip_type to test_bpf_nf.c fix this error. > > > > > > > > > > > How to reproduce the error: > > > > > > > > > > > $ make -C tools/testing/selftests/bpf/ > > > > > > ... > > > > > > CLNG-BPF [test_maps] test_bpf_nf.bpf.o > > > > > > error: use of undeclared identifier 'NF_NAT_MANIP_SRC' > > > > > > bpf_ct_set_nat_info(ct, &saddr, sport, NF_NAT_MANIP_SRC); > > > > > > ^ > > > > > > error: use of undeclared identifier 'NF_NAT_MANIP_DST' > > > > > > bpf_ct_set_nat_info(ct, &daddr, dport, NF_NAT_MANIP_DST); > > > > > > ^ > > > > > > 2 errors generated. > > > > > > > > > > $ grep NF_NAT_MANIP_SRC > > > > > ./tools/testing/selftests/bpf/tools/include/vmlinux.h > > > > > NF_NAT_MANIP_SRC = 0, > > > > > > > > > > Doesn't look like your kernel config compiles netfilter nat modules? > > > > > > > > yes, in bpf kself-test config (tools/testing/selftests/bpf/config) nf_nat > > > > is compiled as built-in. This issue occurs just if it is compiled as module. > > > > > > Right, but if we unconditionally define this enum, I think you'll > > > break the case where it's compiled as a built-in? > > > Since at least in my vmlinux.h I have all the defines and this test > > > includes vmlinux.h... > > > > yes, it is correct. > > And it will break the CI: > It does break CI ([0]). We could use BPF CO-RE and ___suffix rule to avoid this. But we can also say that selftests/bpf/config{,<arch>} has to be used by bots that want to build BPF selftests. [0] https://github.com/kernel-patches/bpf/actions/runs/3446651033/jobs/5752592868 > $ grep NETFILTER tools/testing/selftests/bpf/config > CONFIG_NETFILTER=y > > So yeah, not sure what to do here. The selftests expect "sane" configs > (see that bpf/config above) which is not what the bot seems to be > doing... > > > > > Regards, > > > > Lorenzo > > > > > > > > > > > > > > > Link: https://lore.kernel.org/lkml/202210280447.STsT1gvq-lkp@intel.com/ > > > > > > Reported-by: kernel test robot <lkp@intel.com> > > > > > > Signed-off-by: Rong Tao <rongtao@cestc.cn> > > > > > > --- > > > > > > tools/testing/selftests/bpf/progs/test_bpf_nf.c | 5 +++++ > > > > > > 1 file changed, 5 insertions(+) > > > > > > > > > > > diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > > b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > > index 227e85e85dda..307ca166ff34 100644 > > > > > > --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > > +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c > > > > > > @@ -3,6 +3,11 @@ > > > > > > #include <bpf/bpf_helpers.h> > > > > > > #include <bpf/bpf_endian.h> > > > > > > > > > > > +enum nf_nat_manip_type { > > > > > > + NF_NAT_MANIP_SRC, > > > > > > + NF_NAT_MANIP_DST > > > > > > +}; > > > > > > + > > > > > > #define EAFNOSUPPORT 97 > > > > > > #define EPROTO 71 > > > > > > #define ENONET 64 > > > > > > -- > > > > > > 2.31.1 > > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Re: [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' 2022-11-11 20:44 ` Andrii Nakryiko @ 2022-11-17 14:15 ` Rong Tao 0 siblings, 0 replies; 8+ messages in thread From: Rong Tao @ 2022-11-17 14:15 UTC (permalink / raw) To: andrii.nakryiko Cc: andrii, ast, bpf, daniel, dxu, haoluo, john.fastabend, jolsa, kpsingh, linux-kernel, linux-kselftest, lkp, lorenzo, martin.lau, memxor, mykolal, rongtao, rtoax, sdf, shuah, song, yhs First of all, thank you all for your suggestions on this compilation issue. > It does break CI ([0]). We could use BPF CO-RE and ___suffix rule to > avoid this. But we can also say that selftests/bpf/config{,<arch>} has > to be used by bots that want to build BPF selftests. > > [0] https://github.com/kernel-patches/bpf/actions/runs/3446651033/jobs/5752592868 I try to use bpf_core_enum_value_exists() and bpf_core_enum_value(), However, as far as my knowledge is concerned, I have to redefine a NF_NAT_MANIP_SRC enumeration, but this would conflict with the situation where there is no secondary compilation problem. How do I fix this with CO-RE, it seems that there is no similar CO-RE+ __suffix solution for enumerations in selftests. Can you give me some tips or help me? ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-11-17 14:16 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-11-11 3:26 [PATCH bpf-next] selftests/bpf: Fix error undeclared identifier 'NF_NAT_MANIP_SRC' Rong Tao 2022-11-11 17:25 ` sdf 2022-11-11 17:54 ` Lorenzo Bianconi 2022-11-11 18:08 ` Stanislav Fomichev 2022-11-11 18:12 ` Lorenzo Bianconi 2022-11-11 18:55 ` Stanislav Fomichev 2022-11-11 20:44 ` Andrii Nakryiko 2022-11-17 14:15 ` Rong Tao
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.