Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices
@ 2026-05-21 15:08 Victor Nogueira
  2026-05-21 15:08 ` [PATCH net-next 2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes Victor Nogueira
  2026-05-22 17:20 ` [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices patchwork-bot+netdevbpf
  0 siblings, 2 replies; 4+ messages in thread
From: Victor Nogueira @ 2026-05-21 15:08 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, jhs, jiri; +Cc: netdev, pctammela

Add support for ifb devices in tdc so that tests with the nsPlugin are
able to use it when necessary.

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Victor Nogueira <victor@mojatatu.com>
---
 tools/testing/selftests/tc-testing/config                 | 1 +
 tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py | 7 +++++++
 tools/testing/selftests/tc-testing/tdc.py                 | 3 +++
 tools/testing/selftests/tc-testing/tdc_config.py          | 1 +
 4 files changed, 12 insertions(+)

diff --git a/tools/testing/selftests/tc-testing/config b/tools/testing/selftests/tc-testing/config
index c20aa16b1d63..0e5618be0335 100644
--- a/tools/testing/selftests/tc-testing/config
+++ b/tools/testing/selftests/tc-testing/config
@@ -4,6 +4,7 @@
 
 CONFIG_DUMMY=y
 CONFIG_VETH=y
+CONFIG_IFB=y
 
 #
 # Core Netfilter Configuration
diff --git a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
index bb19b8b76d3b..0bece7c74f07 100644
--- a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
+++ b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
@@ -120,6 +120,7 @@ class SubPlugin(TdcPlugin):
         dev0 = self.args.NAMES["DEV0"];
         dev1 = self.args.NAMES["DEV1"];
         dummy = self.args.NAMES["DUMMY"];
+        ifb = self.args.NAMES['IFB']
 
         if self.args.verbose:
             print('{}._nl_ns_create'.format(self.sub_class))
@@ -129,6 +130,7 @@ class SubPlugin(TdcPlugin):
         with IPRoute() as ip:
             ip.link('add', ifname=dev1, kind='veth', peer={'ifname': dev0, 'net_ns_fd':'/proc/1/ns/net'})
             ip.link('add', ifname=dummy, kind='dummy')
+            ip.link('add', ifname=ifb, kind='ifb')
             ticks = 20
             while True:
                 if ticks == 0:
@@ -136,8 +138,10 @@ class SubPlugin(TdcPlugin):
                 try:
                     dev1_idx = ip.link_lookup(ifname=dev1)[0]
                     dummy_idx = ip.link_lookup(ifname=dummy)[0]
+                    ifb_idx = ip.link_lookup(ifname=ifb)[0]
                     ip.link('set', index=dev1_idx, state='up')
                     ip.link('set', index=dummy_idx, state='up')
+                    ip.link('set', index=ifb_idx, state='up')
                     break
                 except:
                     time.sleep(0.1)
@@ -169,8 +173,11 @@ class SubPlugin(TdcPlugin):
         cmds.append(self._replace_keywords('link set $DEV1 netns {}'.format(ns)))
         cmds.append(self._replace_keywords('link add $DUMMY type dummy'.format(ns)))
         cmds.append(self._replace_keywords('link set $DUMMY netns {}'.format(ns)))
+        cmds.append(self._replace_keywords('link add $IFB type ifb'))
+        cmds.append(self._replace_keywords('link set $IFB netns {}'.format(ns)))
         cmds.append(self._replace_keywords('netns exec {} $IP link set $DEV1 up'.format(ns)))
         cmds.append(self._replace_keywords('netns exec {} $IP link set $DUMMY up'.format(ns)))
+        cmds.append(self._replace_keywords('netns exec {} $IP link set $IFB up'.format(ns)))
         cmds.append(self._replace_keywords('link set $DEV0 up'.format(ns)))
 
         if self.args.device:
diff --git a/tools/testing/selftests/tc-testing/tdc.py b/tools/testing/selftests/tc-testing/tdc.py
index 81b4ac3f050c..511d66c36a2a 100755
--- a/tools/testing/selftests/tc-testing/tdc.py
+++ b/tools/testing/selftests/tc-testing/tdc.py
@@ -378,6 +378,7 @@ def run_one_test(pm, args, index, tidx):
     dev0 = NAMES['DEV0']
     dev1 = NAMES['DEV1']
     dummy = NAMES['DUMMY']
+    ifb = NAMES['IFB']
     result = True
     tresult = ""
     tap = ""
@@ -414,6 +415,7 @@ def run_one_test(pm, args, index, tidx):
     NAMES['DEV0'] = '{}id{}'.format(NAMES['DEV0'], tidx['id'])
     NAMES['DEV1'] = '{}id{}'.format(NAMES['DEV1'], tidx['id'])
     NAMES['DUMMY'] = '{}id{}'.format(NAMES['DUMMY'], tidx['id'])
+    NAMES['IFB'] = '{}id{}'.format(NAMES['IFB'], tidx['id'])
 
     pm.call_pre_case(tidx)
     prepare_env(tidx, args, pm, 'setup', "-----> prepare stage", tidx["setup"])
@@ -474,6 +476,7 @@ def run_one_test(pm, args, index, tidx):
     NAMES['DEV0'] = dev0
     NAMES['DEV1'] = dev1
     NAMES['DUMMY'] = dummy
+    NAMES['IFB'] = ifb
 
     return res
 
diff --git a/tools/testing/selftests/tc-testing/tdc_config.py b/tools/testing/selftests/tc-testing/tdc_config.py
index 9488b03cbc2c..cd0bd42f05a5 100644
--- a/tools/testing/selftests/tc-testing/tdc_config.py
+++ b/tools/testing/selftests/tc-testing/tdc_config.py
@@ -17,6 +17,7 @@ NAMES = {
           'DEV1': 'v0p1',
           'DEV2': '',
           'DUMMY': 'dummy1',
+          'IFB': 'ifbtdc0',
           'ETHTOOL': '/usr/sbin/ethtool',
 	  'ETH': 'eth0',
           'BATCH_FILE': './batch.txt',
-- 
2.54.0


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

* [PATCH net-next 2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes
  2026-05-21 15:08 [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices Victor Nogueira
@ 2026-05-21 15:08 ` Victor Nogueira
  2026-05-22  8:08   ` Eric Dumazet
  2026-05-22 17:20 ` [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices patchwork-bot+netdevbpf
  1 sibling, 1 reply; 4+ messages in thread
From: Victor Nogueira @ 2026-05-21 15:08 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, jhs, jiri; +Cc: netdev, pctammela

Commit 150061a20651 ("net/sched: fq_codel: local packets no longer count against memory limit")
made fq_codel not account for local packets in the
memory limit. Since tests a4bb, a4be, a4bf, a4c0, a4c1 were relying on
these packets being accounted so that parent's qlen notify callback was
executed, they broke.

Fix the tests by adding the qdiscs to ifb instead and making it see
mirred packets that came from scapy. That way the packets are accounted
in the memory limit and the parent's qlen notify callback is still
executed.

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Victor Nogueira <victor@mojatatu.com>
---
 .../tc-testing/tc-tests/infra/qdiscs.json     | 160 +++++++++++-------
 1 file changed, 95 insertions(+), 65 deletions(-)

diff --git a/tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json b/tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json
index 848696c373fc..3da9936e115d 100644
--- a/tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json
+++ b/tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json
@@ -392,26 +392,32 @@
             "htb"
         ],
         "plugins": {
-            "requires": "nsPlugin"
+            "requires": [
+                "nsPlugin",
+                "scapyPlugin"
+            ]
         },
         "setup": [
-            "$IP link set dev $DUMMY up || true",
-            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
-            "$TC qdisc add dev $DUMMY handle 1: root htb default 10",
-            "$TC class add dev $DUMMY parent 1: classid 1:10 htb rate 1kbit",
-            "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
-            "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
-            "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
-            "sleep 0.1"
+            "$TC qdisc add dev $IFB handle 1: root htb default 10",
+            "$TC class add dev $IFB parent 1: classid 1:10 htb rate 1kbit",
+            "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+            "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+            "$TC qdisc add dev $DEV1 ingress",
+            "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
         ],
-        "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+        "scapy": {
+            "iface": "$DEV0",
+            "count": 5,
+            "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+        },
+        "cmdUnderTest": "$TC -s qdisc show dev $IFB",
         "expExitCode": "0",
-        "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+        "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
         "matchPattern": "dropped [1-9][0-9]*",
         "matchCount": "1",
         "teardown": [
-            "$TC qdisc del dev $DUMMY handle 1: root",
-            "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+            "$TC qdisc del dev $IFB root",
+            "$TC qdisc del dev $DEV1 ingress"
         ]
     },
     {
@@ -423,26 +429,32 @@
             "qfq"
         ],
         "plugins": {
-            "requires": "nsPlugin"
+            "requires": [
+                "nsPlugin",
+                "scapyPlugin"
+            ]
         },
         "setup": [
-            "$IP link set dev $DUMMY up || true",
-            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
-            "$TC qdisc add dev $DUMMY handle 1: root qfq",
-            "$TC class add dev $DUMMY parent 1: classid 1:10 qfq weight 1 maxpkt 1000",
-            "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
-            "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
-            "ping -c 10 -s 1000 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
-            "sleep 0.1"
+            "$TC qdisc add dev $IFB handle 1: root qfq",
+            "$TC class add dev $IFB parent 1: classid 1:10 qfq weight 1 maxpkt 1000",
+            "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+            "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+            "$TC qdisc add dev $DEV1 ingress",
+            "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
         ],
-        "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+        "scapy": {
+            "iface": "$DEV0",
+            "count": 10,
+            "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+        },
+        "cmdUnderTest": "$TC -s qdisc show dev $IFB",
         "expExitCode": "0",
-        "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+        "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
         "matchPattern": "dropped [1-9][0-9]*",
         "matchCount": "1",
         "teardown": [
-            "$TC qdisc del dev $DUMMY handle 1: root",
-            "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+            "$TC qdisc del dev $IFB root",
+            "$TC qdisc del dev $DEV1 ingress"
         ]
     },
     {
@@ -454,26 +466,32 @@
             "hfsc"
         ],
         "plugins": {
-            "requires": "nsPlugin"
+            "requires": [
+                "nsPlugin",
+                "scapyPlugin"
+            ]
         },
         "setup": [
-            "$IP link set dev $DUMMY up || true",
-            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
-            "$TC qdisc add dev $DUMMY handle 1: root hfsc default 10",
-            "$TC class add dev $DUMMY parent 1: classid 1:10 hfsc sc rate 1kbit ul rate 1kbit",
-            "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
-            "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
-            "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
-            "sleep 0.1"
+            "$TC qdisc add dev $IFB handle 1: root hfsc default 10",
+            "$TC class add dev $IFB parent 1: classid 1:10 hfsc sc rate 1kbit ul rate 1kbit",
+            "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+            "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+            "$TC qdisc add dev $DEV1 ingress",
+            "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
         ],
-        "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+        "scapy": {
+            "iface": "$DEV0",
+            "count": 5,
+            "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+        },
+        "cmdUnderTest": "$TC -s qdisc show dev $IFB",
         "expExitCode": "0",
-        "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+        "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
         "matchPattern": "dropped [1-9][0-9]*",
         "matchCount": "1",
         "teardown": [
-            "$TC qdisc del dev $DUMMY handle 1: root",
-            "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+            "$TC qdisc del dev $IFB root",
+            "$TC qdisc del dev $DEV1 ingress"
         ]
     },
     {
@@ -485,26 +503,32 @@
             "drr"
         ],
         "plugins": {
-            "requires": "nsPlugin"
+            "requires": [
+                "nsPlugin",
+                "scapyPlugin"
+            ]
         },
         "setup": [
-            "$IP link set dev $DUMMY up || true",
-            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
-            "$TC qdisc add dev $DUMMY handle 1: root drr",
-            "$TC class add dev $DUMMY parent 1: classid 1:10 drr quantum 1500",
-            "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
-            "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
-            "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
-            "sleep 0.1"
+            "$TC qdisc add dev $IFB handle 1: root drr",
+            "$TC class add dev $IFB parent 1: classid 1:10 drr quantum 1500",
+            "$TC qdisc add dev $IFB parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+            "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10",
+            "$TC qdisc add dev $DEV1 ingress",
+            "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
         ],
-        "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+        "scapy": {
+            "iface": "$DEV0",
+            "count": 5,
+            "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+        },
+        "cmdUnderTest": "$TC -s qdisc show dev $IFB",
         "expExitCode": "0",
-        "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+        "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
         "matchPattern": "dropped [1-9][0-9]*",
         "matchCount": "1",
         "teardown": [
-            "$TC qdisc del dev $DUMMY handle 1: root",
-            "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+            "$TC qdisc del dev $IFB root",
+            "$TC qdisc del dev $DEV1 ingress"
         ]
     },
     {
@@ -516,26 +540,32 @@
             "ets"
         ],
         "plugins": {
-            "requires": "nsPlugin"
+            "requires": [
+                "nsPlugin",
+                "scapyPlugin"
+            ]
         },
         "setup": [
-            "$IP link set dev $DUMMY up || true",
-            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
-            "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 strict 1",
-            "$TC class change dev $DUMMY parent 1: classid 1:1 ets",
-            "$TC qdisc add dev $DUMMY parent 1:1 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
-            "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1",
-            "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true",
-            "sleep 0.1"
+            "$TC qdisc add dev $IFB handle 1: root ets bands 2 strict 1",
+            "$TC class change dev $IFB parent 1: classid 1:1 ets",
+            "$TC qdisc add dev $IFB parent 1:1 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms",
+            "$TC filter add dev $IFB parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1",
+            "$TC qdisc add dev $DEV1 ingress",
+            "$TC filter add dev $DEV1 ingress protocol ip prio 1 u32 match ip protocol 1 0xff action mirred egress mirror dev $IFB"
         ],
-        "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
+        "scapy": {
+            "iface": "$DEV0",
+            "count": 5,
+            "packet": "Ether()/IP(dst='10.10.10.1', src='10.10.10.10')/ICMP()"
+        },
+        "cmdUnderTest": "$TC -s qdisc show dev $IFB",
         "expExitCode": "0",
-        "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'",
+        "verifyCmd": "$TC -s qdisc show dev $IFB | grep -A 5 'qdisc fq_codel'",
         "matchPattern": "dropped [1-9][0-9]*",
         "matchCount": "1",
         "teardown": [
-            "$TC qdisc del dev $DUMMY handle 1: root",
-            "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
+            "$TC qdisc del dev $IFB root",
+            "$TC qdisc del dev $DEV1 ingress"
         ]
     },
     {
-- 
2.54.0


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

* Re: [PATCH net-next 2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes
  2026-05-21 15:08 ` [PATCH net-next 2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes Victor Nogueira
@ 2026-05-22  8:08   ` Eric Dumazet
  0 siblings, 0 replies; 4+ messages in thread
From: Eric Dumazet @ 2026-05-22  8:08 UTC (permalink / raw)
  To: Victor Nogueira; +Cc: davem, kuba, pabeni, jhs, jiri, netdev, pctammela

On Thu, May 21, 2026 at 8:08 AM Victor Nogueira <victor@mojatatu.com> wrote:
>
> Commit 150061a20651 ("net/sched: fq_codel: local packets no longer count against memory limit")
> made fq_codel not account for local packets in the
> memory limit. Since tests a4bb, a4be, a4bf, a4c0, a4c1 were relying on
> these packets being accounted so that parent's qlen notify callback was
> executed, they broke.
>
> Fix the tests by adding the qdiscs to ifb instead and making it see
> mirred packets that came from scapy. That way the packets are accounted
> in the memory limit and the parent's qlen notify callback is still
> executed.
>
> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
> Signed-off-by: Victor Nogueira <victor@mojatatu.com>

Thanks a lot Victor and Jamal for taking care of this.

Acked-by: Eric Dumazet <edumazet@google.com>

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

* Re: [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices
  2026-05-21 15:08 [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices Victor Nogueira
  2026-05-21 15:08 ` [PATCH net-next 2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes Victor Nogueira
@ 2026-05-22 17:20 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-05-22 17:20 UTC (permalink / raw)
  To: Victor Nogueira
  Cc: davem, edumazet, kuba, pabeni, jhs, jiri, netdev, pctammela

Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 21 May 2026 12:08:10 -0300 you wrote:
> Add support for ifb devices in tdc so that tests with the nsPlugin are
> able to use it when necessary.
> 
> Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
> Signed-off-by: Victor Nogueira <victor@mojatatu.com>
> ---
>  tools/testing/selftests/tc-testing/config                 | 1 +
>  tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py | 7 +++++++
>  tools/testing/selftests/tc-testing/tdc.py                 | 3 +++
>  tools/testing/selftests/tc-testing/tdc_config.py          | 1 +
>  4 files changed, 12 insertions(+)

Here is the summary with links:
  - [net-next,1/2] selftests/tc-testing: Add support for ifb devices
    https://git.kernel.org/netdev/net-next/c/4177fd446982
  - [net-next,2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes
    https://git.kernel.org/netdev/net-next/c/bde2a04d9b6f

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2026-05-22 17:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-21 15:08 [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices Victor Nogueira
2026-05-21 15:08 ` [PATCH net-next 2/2] selftests/tc-testing: Adapt idempotent qdisc notify callback tests to recent fq_codel changes Victor Nogueira
2026-05-22  8:08   ` Eric Dumazet
2026-05-22 17:20 ` [PATCH net-next 1/2] selftests/tc-testing: Add support for ifb devices patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox