Subject: Is test_offload.py supposed to work?

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Fri, 20 Nov 2020 16:46:51 +0100

Hi Jakub and Jiri

I am investigating an error with XDP offload mode, and figured I'd run
'test_offload.py' from selftests. However, I'm unable to get it to run
successfully; am I missing some config options, or has it simply
bit-rotted to the point where it no longer works?

[root@(none) bpf]# ./test_offload.py 
Test destruction of generic XDP...
Test TC non-offloaded...
Test TC non-offloaded isn't getting bound...
Test TC offloads are off by default...
FAIL: Missing or incorrect netlink extack message
  File "./test_offload.py", line 836, in <module>
    check_extack(err, "TC offload is disabled on net device.", args)
  File "./test_offload.py", line 657, in check_extack
    fail(not comp, "Missing or incorrect netlink extack message")
  File "./test_offload.py", line 86, in fail
    tb = "".join(traceback.extract_stack().format())

Commenting out that line gets me a bit further:

[root@(none) bpf]# ./test_offload.py 
Test destruction of generic XDP...
Test TC non-offloaded...
Test TC non-offloaded isn't getting bound...
Test TC offloads are off by default...
Test TC offload by default...
Test TC cBPF bytcode tries offload by default...
Test TC cBPF unbound bytecode doesn't offload...
Test non-0 chain offload...
FAIL: Missing or incorrect netlink extack message
  File "./test_offload.py", line 876, in <module>
    check_extack(err, "Driver supports only offload of chain 0.", args)
  File "./test_offload.py", line 657, in check_extack
    fail(not comp, "Missing or incorrect netlink extack message")
  File "./test_offload.py", line 86, in fail
    tb = "".join(traceback.extract_stack().format())

And again, after which I gave up:

[root@(none) bpf]# ./test_offload.py 
Test destruction of generic XDP...
Test TC non-offloaded...
Test TC non-offloaded isn't getting bound...
Test TC offloads are off by default...
Test TC offload by default...
Test TC cBPF bytcode tries offload by default...
Test TC cBPF unbound bytecode doesn't offload...
Test non-0 chain offload...
Test TC replace...
Test TC replace bad flags...
Test spurious extack from the driver...
Test TC offloads work...
FAIL: Missing or incorrect message from netdevsim in verifier log
  File "./test_offload.py", line 920, in <module>
    check_verifier_log(err, "[netdevsim] Hello from netdevsim!")
  File "./test_offload.py", line 671, in check_verifier_log
    fail(True, "Missing or incorrect message from netdevsim in verifier log")
  File "./test_offload.py", line 86, in fail
    tb = "".join(traceback.extract_stack().format())

-Toke