[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z51Y/KlsCyYi5VvB@pop-os.localdomain>
Date: Fri, 31 Jan 2025 15:13:00 -0800
From: Cong Wang <xiyou.wangcong@...il.com>
To: Pedro Tammela <pctammela@...atatu.com>
Cc: netdev@...r.kernel.org, jhs@...atatu.com, jiri@...nulli.us,
quanglex97@...il.com, mincho@...ori.io,
Cong Wang <cong.wang@...edance.com>
Subject: Re: [Patch net v2 2/4] selftests/tc-testing: Add a test case for
pfifo_head_drop qdisc when limit==0
On Tue, Jan 28, 2025 at 08:19:54PM -0300, Pedro Tammela wrote:
> On 26/01/2025 01:12, Cong Wang wrote:
> > From: Quang Le <quanglex97@...il.com>
> >
> > When limit == 0, pfifo_tail_enqueue() must drop new packet and
> > increase dropped packets count of the qdisc.
> >
> > All test results:
> >
> > 1..16
> > ok 1 a519 - Add bfifo qdisc with system default parameters on egress
> > ok 2 585c - Add pfifo qdisc with system default parameters on egress
> > ok 3 a86e - Add bfifo qdisc with system default parameters on egress with handle of maximum value
> > ok 4 9ac8 - Add bfifo qdisc on egress with queue size of 3000 bytes
> > ok 5 f4e6 - Add pfifo qdisc on egress with queue size of 3000 packets
> > ok 6 b1b1 - Add bfifo qdisc with system default parameters on egress with invalid handle exceeding maximum value
> > ok 7 8d5e - Add bfifo qdisc on egress with unsupported argument
> > ok 8 7787 - Add pfifo qdisc on egress with unsupported argument
> > ok 9 c4b6 - Replace bfifo qdisc on egress with new queue size
> > ok 10 3df6 - Replace pfifo qdisc on egress with new queue size
> > ok 11 7a67 - Add bfifo qdisc on egress with queue size in invalid format
> > ok 12 1298 - Add duplicate bfifo qdisc on egress
> > ok 13 45a0 - Delete nonexistent bfifo qdisc
> > ok 14 972b - Add prio qdisc on egress with invalid format for handles
> > ok 15 4d39 - Delete bfifo qdisc twice
> > ok 16 d774 - Check pfifo_head_drop qdisc enqueue behaviour when limit == 0
> >
> > Signed-off-by: Quang Le <quanglex97@...il.com>
> > Signed-off-by: Cong Wang <cong.wang@...edance.com>
> > ---
> > .../tc-testing/tc-tests/qdiscs/fifo.json | 25 +++++++++++++++++++
> > 1 file changed, 25 insertions(+)
> >
> > diff --git a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fifo.json b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fifo.json
> > index ae3d286a32b2..94f6456ab460 100644
> > --- a/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fifo.json
> > +++ b/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fifo.json
> > @@ -313,6 +313,31 @@
> > "matchPattern": "qdisc bfifo 1: root",
> > "matchCount": "0",
> > "teardown": [
> > + ]
> > + },
> > + {
> > + "id": "d774",
> > + "name": "Check pfifo_head_drop qdisc enqueue behaviour when limit == 0",
> > + "category": [
> > + "qdisc",
> > + "pfifo_head_drop"
> > + ],
> > + "plugins": {
> > + "requires": "nsPlugin"
> > + },
> > + "setup": [
> > + "$IP link add dev $DUMMY mtu 1279 type dummy || true",
>
> You don't need to manually add or remove a dummy device for tdc anymore.
> The nsPlugin is responsible for it.
Thanks for the hint!
>
> I ran the suite with both of the tests without the link add/del and it's
> working!
>
> Can you try it?
I tried it, but I saw the following error. I am not sure whether this
error is related to these patches.
multiprocessing.pool.RemoteTraceback:
# """
# Traceback (most recent call last):
# File "/usr/lib64/python3.12/multiprocessing/pool.py", line 125, in worker
# result = (True, func(*args, **kwds))
# ^^^^^^^^^^^^^^^^^^^
# File "/usr/lib64/python3.12/multiprocessing/pool.py", line 48, in mapstar
# return list(map(*args))
# ^^^^^^^^^^^^^^^^
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 601, in __mp_runner
# (_, tsr) = test_runner(mp_pm, mp_args, tests)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 535, in test_runner
# res = run_one_test(pm, args, index, tidx)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 418, in run_one_test
# pm.call_pre_case(tidx)
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 142, in call_pre_case
# pgn_inst.pre_case(caseinfo, test_skip)
# File "/host/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py", line 63, in pre_case
# self.prepare_test(test)
# File "/host/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py", line 36, in prepare_test
# self._nl_ns_create()
# File "/host/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py", line 130, in _nl_ns_create
# ip.link('add', ifname=dev1, kind='veth', peer={'ifname': dev0, 'net_ns_fd':'/proc/1/ns/net'})
# File "/usr/local/lib/python3.12/site-packages/pyroute2/iproute/linux.py", line 1730, in link
# ret = self.nlm_request(msg, msg_type=msg_type, msg_flags=msg_flags)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.12/site-packages/pyroute2/netlink/nlsocket.py", line 875, in nlm_request
# return tuple(self._genlm_request(*argv, **kwarg))
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.12/site-packages/pyroute2/netlink/nlsocket.py", line 1248, in nlm_request
# for msg in self.get(
# ^^^^^^^^^
# File "/usr/local/lib/python3.12/site-packages/pyroute2/netlink/nlsocket.py", line 878, in get
# return tuple(self._genlm_get(*argv, **kwarg))
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.12/site-packages/pyroute2/netlink/nlsocket.py", line 555, in get
# raise msg['header']['error']
# pyroute2.netlink.exceptions.NetlinkError: (17, 'File exists')
# """
#
# The above exception was the direct cause of the following exception:
#
# Traceback (most recent call last):
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 1027, in <module>
# main()
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 1021, in main
# set_operation_mode(pm, parser, args, remaining)
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 963, in set_operation_mode
# catresults = test_runner_mp(pm, args, alltests)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/host/tools/testing/selftests/tc-testing/./tdc.py", line 623, in test_runner_mp
# pres = p.map(__mp_runner, batches)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/lib64/python3.12/multiprocessing/pool.py", line 367, in map
# return self._map_async(func, iterable, mapstar, chunksize).get()
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/lib64/python3.12/multiprocessing/pool.py", line 774, in get
# raise self._value
# pyroute2.netlink.exceptions.NetlinkError: (17, 'File exists')
Powered by blists - more mailing lists