From 891ff9633f53d7c0feb1c607350d317058f76f07 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 3 Jun 2020 15:18:55 +0900 Subject: [PATCH] test-network: add tests for QFQ --- test/test-network/conf/25-qdisc-qfq.network | 22 +++++++++++++++++++++ test/test-network/systemd-networkd-tests.py | 14 +++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 test/test-network/conf/25-qdisc-qfq.network diff --git a/test/test-network/conf/25-qdisc-qfq.network b/test/test-network/conf/25-qdisc-qfq.network new file mode 100644 index 0000000000..c94fc9e4cb --- /dev/null +++ b/test/test-network/conf/25-qdisc-qfq.network @@ -0,0 +1,22 @@ +[Match] +Name=test1 + +[Network] +IPv6AcceptRA=no +Address=10.1.2.4/16 + +[QuickFairQueueing] +Parent=root +Handle=0002 + +[QuickFairQueueingClass] +Parent=root +ClassId=0002:0030 +Weight=2 +MaxPacketSize=16000 + +[QuickFairQueueingClass] +Parent=root +ClassId=0002:0031 +Weight=10 +MaxPacketSize=8000 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 78309d2651..da4063d51c 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -1676,6 +1676,7 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): '25-qdisc-hhf.network', '25-qdisc-ingress-netem-compat.network', '25-qdisc-pie.network', + '25-qdisc-qfq.network', '25-route-ipv6-src.network', '25-route-static.network', '25-route-vrf.network', @@ -2423,10 +2424,11 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): self.assertRegex(output, 'prio 1 rate 1Mbit ceil 500Kbit') def test_qdisc2(self): - copy_unit_to_networkd_unit_path('25-qdisc-drr.network', '12-dummy.netdev') + copy_unit_to_networkd_unit_path('25-qdisc-drr.network', '12-dummy.netdev', + '25-qdisc-qfq.network', '11-dummy.netdev') start_networkd() - self.wait_online(['dummy98:routable']) + self.wait_online(['dummy98:routable', 'test1:routable']) output = check_output('tc qdisc show dev dummy98') print(output) @@ -2435,6 +2437,14 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): print(output) self.assertRegex(output, 'class drr 2:30 root quantum 2000b') + output = check_output('tc qdisc show dev test1') + print(output) + self.assertRegex(output, 'qdisc qfq 2: root') + output = check_output('tc class show dev test1') + print(output) + self.assertRegex(output, 'class qfq 2:30 root weight 2 maxpkt 16000') + self.assertRegex(output, 'class qfq 2:31 root weight 10 maxpkt 8000') + @expectedFailureIfCAKEIsNotAvailable() def test_qdisc_cake(self): copy_unit_to_networkd_unit_path('25-qdisc-cake.network', '12-dummy.netdev')