linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh
@ 2023-01-25 21:13 Andrei Gherzan
  2023-01-25 21:13 ` [PATCH v2 2/2] selftests: net: .gitignore the scratch directory of bpf Andrei Gherzan
  2023-01-26  7:08 ` [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Jakub Kicinski
  0 siblings, 2 replies; 6+ messages in thread
From: Andrei Gherzan @ 2023-01-25 21:13 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Shuah Khan
  Cc: Andrei Gherzan, netdev, linux-kselftest, linux-kernel, bpf

The udpgro_frglist.sh uses nat6to4.o which is tested for existence in
bpf/nat6to4.o (relative to the script). This is where the object is
compiled. Even so, the script attempts to use it as part of tc with a
different path (../bpf/nat6to4.o). As a consequence, this fails the script:

Error opening object ../bpf/nat6to4.o: No such file or directory
Cannot initialize ELF context!
Unable to load program

This change refactors these references to use a variable for consistency
and also reformats two long lines.

Signed-off-by: Andrei Gherzan <andrei.gherzan@canonical.com>
---
 tools/testing/selftests/net/udpgro_frglist.sh | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/udpgro_frglist.sh b/tools/testing/selftests/net/udpgro_frglist.sh
index c9c4b9d65839..1fdf2d53944d 100755
--- a/tools/testing/selftests/net/udpgro_frglist.sh
+++ b/tools/testing/selftests/net/udpgro_frglist.sh
@@ -6,6 +6,7 @@
 readonly PEER_NS="ns-peer-$(mktemp -u XXXXXX)"
 
 BPF_FILE="../bpf/xdp_dummy.bpf.o"
+BPF_NAT6TO4_FILE="./bpf/nat6to4.o"
 
 cleanup() {
 	local -r jobs="$(jobs -p)"
@@ -40,8 +41,12 @@ run_one() {
 
 	ip -n "${PEER_NS}" link set veth1 xdp object ${BPF_FILE} section xdp
 	tc -n "${PEER_NS}" qdisc add dev veth1 clsact
-	tc -n "${PEER_NS}" filter add dev veth1 ingress prio 4 protocol ipv6 bpf object-file ../bpf/nat6to4.o section schedcls/ingress6/nat_6  direct-action
-	tc -n "${PEER_NS}" filter add dev veth1 egress prio 4 protocol ip bpf object-file ../bpf/nat6to4.o section schedcls/egress4/snat4 direct-action
+	tc -n "${PEER_NS}" filter add dev veth1 ingress prio 4 protocol \
+		ipv6 bpf object-file "$BPF_NAT6TO4_FILE" section \
+		schedcls/ingress6/nat_6 direct-action
+	tc -n "${PEER_NS}" filter add dev veth1 egress prio 4 protocol \
+		ip bpf object-file "$BPF_NAT6TO4_FILE" section \
+		schedcls/egress4/snat4 direct-action
         echo ${rx_args}
 	ip netns exec "${PEER_NS}" ./udpgso_bench_rx ${rx_args} -r &
 
@@ -88,7 +93,7 @@ if [ ! -f ${BPF_FILE} ]; then
 	exit -1
 fi
 
-if [ ! -f bpf/nat6to4.o ]; then
+if [ ! -f "$BPF_NAT6TO4_FILE" ]; then
 	echo "Missing nat6to4 helper. Build bpfnat6to4.o selftest first"
 	exit -1
 fi
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] selftests: net: .gitignore the scratch directory of bpf
  2023-01-25 21:13 [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Andrei Gherzan
@ 2023-01-25 21:13 ` Andrei Gherzan
  2023-01-26  7:08 ` [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Jakub Kicinski
  1 sibling, 0 replies; 6+ messages in thread
From: Andrei Gherzan @ 2023-01-25 21:13 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Shuah Khan
  Cc: Andrei Gherzan, netdev, linux-kselftest, linux-kernel, bpf

The net/bpf Makefile uses a similar build infrastructure to BPF[1] while
building libbpf as a dependency of nat6to4. This change adds a .gitignore
entry for SCRATCH_DIR where libbpf and its headers end up built/installed.

[1] Introduced in commit 837a3d66d698 ("selftests: net: Add
cross-compilation support for BPF programs")

Signed-off-by: Andrei Gherzan <andrei.gherzan@canonical.com>
---
 tools/testing/selftests/net/.gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/net/.gitignore b/tools/testing/selftests/net/.gitignore
index a6911cae368c..0d07dd13c973 100644
--- a/tools/testing/selftests/net/.gitignore
+++ b/tools/testing/selftests/net/.gitignore
@@ -40,6 +40,7 @@ test_unix_oob
 timestamping
 tls
 toeplitz
+/tools
 tun
 txring_overwrite
 txtimestamp
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh
  2023-01-25 21:13 [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Andrei Gherzan
  2023-01-25 21:13 ` [PATCH v2 2/2] selftests: net: .gitignore the scratch directory of bpf Andrei Gherzan
@ 2023-01-26  7:08 ` Jakub Kicinski
  2023-01-26 10:01   ` Andrei Gherzan
  1 sibling, 1 reply; 6+ messages in thread
From: Jakub Kicinski @ 2023-01-26  7:08 UTC (permalink / raw)
  To: Andrei Gherzan
  Cc: David S. Miller, Eric Dumazet, Paolo Abeni, Shuah Khan, netdev,
	linux-kselftest, linux-kernel, bpf

On Wed, 25 Jan 2023 21:13:49 +0000 Andrei Gherzan wrote:
> The udpgro_frglist.sh uses nat6to4.o which is tested for existence in
> bpf/nat6to4.o (relative to the script). This is where the object is
> compiled. Even so, the script attempts to use it as part of tc with a
> different path (../bpf/nat6to4.o). As a consequence, this fails the script:

Is this a recent regression? Can you add a Fixes tag?

What tree did you base this patch on? Doesn't seem to apply

> Error opening object ../bpf/nat6to4.o: No such file or directory
> Cannot initialize ELF context!
> Unable to load program
> 
> This change refactors these references to use a variable for consistency
> and also reformats two long lines.
> 
> Signed-off-by: Andrei Gherzan <andrei.gherzan@canonical.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh
  2023-01-26  7:08 ` [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Jakub Kicinski
@ 2023-01-26 10:01   ` Andrei Gherzan
  2023-01-26 23:36     ` Jakub Kicinski
  0 siblings, 1 reply; 6+ messages in thread
From: Andrei Gherzan @ 2023-01-26 10:01 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: David S. Miller, Eric Dumazet, Paolo Abeni, Shuah Khan, netdev,
	linux-kselftest, linux-kernel, bpf

Hi Jakub,

Thanks for taking a look at this.

On 23/01/25 11:08PM, Jakub Kicinski wrote:
> On Wed, 25 Jan 2023 21:13:49 +0000 Andrei Gherzan wrote:
> > The udpgro_frglist.sh uses nat6to4.o which is tested for existence in
> > bpf/nat6to4.o (relative to the script). This is where the object is
> > compiled. Even so, the script attempts to use it as part of tc with a
> > different path (../bpf/nat6to4.o). As a consequence, this fails the script:
> 
> Is this a recent regression? Can you add a Fixes tag?

This issue seems to be included from the beginning (edae34a3ed92). I can't say
why this was not seen before upstream but on our side, this test was disabled
internally due to lack of CC support in BPF programs. This was fixed in the
meanwhile in 837a3d66d698 (selftests: net: Add cross-compilation support for
BPF programs) and we found this issue while trying to reenable the test.

So if you think that is reasonable, I could add a Fixes tag for the initial 
script commit edae34a3ed92 (selftests net: add UDP GRO fraglist + bpf
self-tests) and push a v3.

> What tree did you base this patch on? Doesn't seem to apply

The patches were done on top of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git, the master
branch - 948ef7bb70c4 (Merge tag 'modules-6.2-rc6' of
git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux). There is another
merge that happened in the meanwhile but the rebase works without issues. I can
send a rebased v3 if needed.

> 
> > Error opening object ../bpf/nat6to4.o: No such file or directory
> > Cannot initialize ELF context!
> > Unable to load program
> > 
> > This change refactors these references to use a variable for consistency
> > and also reformats two long lines.
> > 
> > Signed-off-by: Andrei Gherzan <andrei.gherzan@canonical.com>

-- 
Andrei Gherzan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh
  2023-01-26 10:01   ` Andrei Gherzan
@ 2023-01-26 23:36     ` Jakub Kicinski
  2023-01-27 14:10       ` Andrei Gherzan
  0 siblings, 1 reply; 6+ messages in thread
From: Jakub Kicinski @ 2023-01-26 23:36 UTC (permalink / raw)
  To: Andrei Gherzan
  Cc: David S. Miller, Eric Dumazet, Paolo Abeni, Shuah Khan, netdev,
	linux-kselftest, linux-kernel, bpf, Hangbin Liu

On Thu, 26 Jan 2023 10:01:44 +0000 Andrei Gherzan wrote:
> On 23/01/25 11:08PM, Jakub Kicinski wrote:
> > On Wed, 25 Jan 2023 21:13:49 +0000 Andrei Gherzan wrote:  
> > > The udpgro_frglist.sh uses nat6to4.o which is tested for existence in
> > > bpf/nat6to4.o (relative to the script). This is where the object is
> > > compiled. Even so, the script attempts to use it as part of tc with a
> > > different path (../bpf/nat6to4.o). As a consequence, this fails the script:  
> > 
> > Is this a recent regression? Can you add a Fixes tag?  
> 
> This issue seems to be included from the beginning (edae34a3ed92). I can't say
> why this was not seen before upstream but on our side, this test was disabled
> internally due to lack of CC support in BPF programs. This was fixed in the
> meanwhile in 837a3d66d698 (selftests: net: Add cross-compilation support for
> BPF programs) and we found this issue while trying to reenable the test.
> 
> So if you think that is reasonable, I could add a Fixes tag for the initial 
> script commit edae34a3ed92 (selftests net: add UDP GRO fraglist + bpf
> self-tests) and push a v3.

We have queued commit 3c107f36db06 ("selftests/net: mv bpf/nat6to4.c 
to net folder") in net-next, I think that should fix it, too?

> > What tree did you base this patch on? Doesn't seem to apply  
> 
> The patches were done on top of
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git, the master
> branch - 948ef7bb70c4 (Merge tag 'modules-6.2-rc6' of
> git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux). There is another
> merge that happened in the meanwhile but the rebase works without issues. I can
> send a rebased v3 if needed.

Could you try linux-next or net-next ?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh
  2023-01-26 23:36     ` Jakub Kicinski
@ 2023-01-27 14:10       ` Andrei Gherzan
  0 siblings, 0 replies; 6+ messages in thread
From: Andrei Gherzan @ 2023-01-27 14:10 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: David S. Miller, Eric Dumazet, Paolo Abeni, Shuah Khan, netdev,
	linux-kselftest, linux-kernel, bpf, Hangbin Liu

On 23/01/26 03:36PM, Jakub Kicinski wrote:
> On Thu, 26 Jan 2023 10:01:44 +0000 Andrei Gherzan wrote:
> > On 23/01/25 11:08PM, Jakub Kicinski wrote:
> > > On Wed, 25 Jan 2023 21:13:49 +0000 Andrei Gherzan wrote:  
> > > > The udpgro_frglist.sh uses nat6to4.o which is tested for existence in
> > > > bpf/nat6to4.o (relative to the script). This is where the object is
> > > > compiled. Even so, the script attempts to use it as part of tc with a
> > > > different path (../bpf/nat6to4.o). As a consequence, this fails the script:  
> > > 
> > > Is this a recent regression? Can you add a Fixes tag?  
> > 
> > This issue seems to be included from the beginning (edae34a3ed92). I can't say
> > why this was not seen before upstream but on our side, this test was disabled
> > internally due to lack of CC support in BPF programs. This was fixed in the
> > meanwhile in 837a3d66d698 (selftests: net: Add cross-compilation support for
> > BPF programs) and we found this issue while trying to reenable the test.
> > 
> > So if you think that is reasonable, I could add a Fixes tag for the initial 
> > script commit edae34a3ed92 (selftests net: add UDP GRO fraglist + bpf
> > self-tests) and push a v3.
> 
> We have queued commit 3c107f36db06 ("selftests/net: mv bpf/nat6to4.c 
> to net folder") in net-next, I think that should fix it, too?

That would fix it indeed. Thanks for the pointer.

> 
> > > What tree did you base this patch on? Doesn't seem to apply  
> > 
> > The patches were done on top of
> > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git, the master
> > branch - 948ef7bb70c4 (Merge tag 'modules-6.2-rc6' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux). There is another
> > merge that happened in the meanwhile but the rebase works without issues. I can
> > send a rebased v3 if needed.
> 
> Could you try linux-next or net-next ?

I have sent a v3 rebased on linux-next, split out the remaining changes
and added a commit to fix some shellcheck warnings/errors.

-- 
Andrei Gherzan

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-01-27 14:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-25 21:13 [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Andrei Gherzan
2023-01-25 21:13 ` [PATCH v2 2/2] selftests: net: .gitignore the scratch directory of bpf Andrei Gherzan
2023-01-26  7:08 ` [PATCH v2 1/2] selftests: net: Fix missing nat6to4.o when running udpgro_frglist.sh Jakub Kicinski
2023-01-26 10:01   ` Andrei Gherzan
2023-01-26 23:36     ` Jakub Kicinski
2023-01-27 14:10       ` Andrei Gherzan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).