Re: [PATCH net 1/4] selftests/tc-testing: Fix Error: Specified qdisc kind is unknown.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2023/6/12 18:37, Vlad Buslov wrote:
On Mon 12 Jun 2023 at 18:35, shaozhengchao <shaozhengchao@xxxxxxxxxx> wrote:
On 2023/6/12 15:57, Vlad Buslov wrote:
All TEQL tests assume that sch_teql module is loaded. Load module in tdc.sh
before running qdisc tests.
Fixes following example error when running tests via tdc.sh for all TEQL
tests:
   # $ sudo ./tdc.py -d eth2 -e 84a0
   #  -- ns/SubPlugin.__init__
   # Test 84a0: Create TEQL with default setting
   # exit: 2
   # exit: 0
   # Error: Specified qdisc kind is unknown.
   #
   # -----> teardown stage *** Could not execute: "$TC qdisc del dev $DUMMY handle 1: root"
   #
   # -----> teardown stage *** Error message: "Error: Invalid handle.
   # "
   # returncode 2; expected [0]
   #
   # -----> teardown stage *** Aborting test run.
   #
   # <_io.BufferedReader name=3> *** stdout ***
   #
   # <_io.BufferedReader name=5> *** stderr ***
   # "-----> teardown stage" did not complete successfully
   # Exception <class '__main__.PluginMgrTestFail'> ('teardown', 'Error: Specified qdisc kind is unknown.\n', '"-----> teardown stage" did not complete successfully') (caught in test_runner, running test 2 84a0 Create TEQL with default setting stage teardown)
   # ---------------
   # traceback
   #   File "/images/src/linux/tools/testing/selftests/tc-testing/./tdc.py", line 495, in test_runner
   #     res = run_one_test(pm, args, index, tidx)
   #   File "/images/src/linux/tools/testing/selftests/tc-testing/./tdc.py", line 434, in run_one_test
   #     prepare_env(args, pm, 'teardown', '-----> teardown stage', tidx['teardown'], procout)
   #   File "/images/src/linux/tools/testing/selftests/tc-testing/./tdc.py", line 245, in prepare_env
   #     raise PluginMgrTestFail(
   # ---------------
   # accumulated output for this test:
   # Error: Specified qdisc kind is unknown.
   #
   # ---------------
   #
   # All test results:
   #
   # 1..1
   # ok 1 84a0 - Create TEQL with default setting # skipped - "-----> teardown stage" did not complete successfully
Fixes: cc62fbe114c9 ("selftests/tc-testing: add selftests for teql qdisc")
Signed-off-by: Vlad Buslov <vladbu@xxxxxxxxxx>
---
   tools/testing/selftests/tc-testing/tdc.sh | 1 +
   1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/tc-testing/tdc.sh
b/tools/testing/selftests/tc-testing/tdc.sh
index afb0cd86fa3d..eb357bd7923c 100755
--- a/tools/testing/selftests/tc-testing/tdc.sh
+++ b/tools/testing/selftests/tc-testing/tdc.sh
@@ -2,5 +2,6 @@
   # SPDX-License-Identifier: GPL-2.0
     modprobe netdevsim
+modprobe sch_teql
I think not only the sch_teql module needs to be imported, but all test
modules need to be imported before testing. Modifying the config file
looks more appropriate.

All other modules are automatically loaded when first
qdisc/action/classifier is instantiated via their respective APIs. The
problem with two modules that are manually inserted here is that
netdevsim-related tests expect /sys/bus/netdevsim/new_device to exist
(which only exists if netdevsim module has been manually loaded) and
specific command format "$TC qdisc add dev $DUMMY handle 1: root teql0"
failing since 'telq0', again, only exists when sch_telq is loaded.

Overall, I added modprobe here not for theoretical correctness sake but
because running tdc.sh on cold system causes error included in the
commit message for me. I don't get any other errors related to necessary
kernel modules not being loaded for any other kinds of tc tests.

Fine, it looks good to me. Thank you.

Zhengchao Shao

   ./tdc.py -c actions --nobuildebpf
   ./tdc.py -c qdisc




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux