Skip to content

Commit ab9dc1d

Browse files
committed
test-network: add more tests for traffic control
1 parent 59bae42 commit ab9dc1d

File tree

4 files changed

+65
-2
lines changed

4 files changed

+65
-2
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[Match]
2+
Name=dummy98
3+
4+
[Network]
5+
IPv6AcceptRA=no
6+
Address=10.1.2.3/16
7+
8+
#[TrafficControlQueueingDiscipline]
9+
#Parent=root
10+
11+
[TrafficControlQueueingDiscipline]
12+
Parent=clsact
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[Match]
2+
Name=test1
3+
4+
[Network]
5+
IPv6AcceptRA=no
6+
Address=10.1.2.4/16
7+
8+
[TrafficControlQueueingDiscipline]
9+
Parent=root
10+
NetworkEmulatorDelaySec=50ms
11+
NetworkEmulatorDelayJitterSec=10ms
12+
NetworkEmulatorLossRate=20%
13+
NetworkEmulatorPacketLimit=100
14+
15+
[TrafficControlQueueingDiscipline]
16+
Parent=ingress
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[Match]
2+
Name=test1
3+
4+
[Network]
5+
IPv6AcceptRA=no
6+
Address=10.1.2.4/16
7+
8+
#[QDisc]
9+
#Parent=root
10+
11+
[QDisc]
12+
Parent=ingress

test/test-network/systemd-networkd-tests.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1616,7 +1616,10 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
16161616
'25-neighbor-ip-dummy.network',
16171617
'25-neighbor-ip.network',
16181618
'25-nexthop.network',
1619+
'25-qdisc-clsact-root-compat.network',
16191620
'25-qdisc-fq-codel.network',
1621+
'25-qdisc-ingress-netem-compat.network',
1622+
'25-qdisc-ingress-root.network',
16201623
'25-qdisc-netem-and-fqcodel.network',
16211624
'25-qdisc-tbf-and-sfq.network',
16221625
'25-route-ipv6-src.network',
@@ -2248,10 +2251,11 @@ def test_qdisc(self):
22482251
self.assertRegex(output, 'perturb 5sec')
22492252

22502253
def test_qdisc2(self):
2251-
copy_unit_to_networkd_unit_path('25-qdisc-fq-codel.network', '12-dummy.netdev')
2254+
copy_unit_to_networkd_unit_path('25-qdisc-fq-codel.network', '12-dummy.netdev',
2255+
'25-qdisc-ingress-root.network', '11-dummy.netdev')
22522256
start_networkd()
22532257

2254-
self.wait_online(['dummy98:routable'])
2258+
self.wait_online(['dummy98:routable', 'test1:routable'])
22552259

22562260
output = check_output('tc qdisc show dev dummy98')
22572261
print(output)
@@ -2262,6 +2266,25 @@ def test_qdisc2(self):
22622266
self.assertRegex(output, 'maxrate 1Mbit')
22632267
self.assertRegex(output, 'qdisc codel')
22642268
self.assertRegex(output, 'limit 2000p target 10.0ms ce_threshold 100.0ms interval 50.0ms ecn')
2269+
output = check_output('tc qdisc show dev test1')
2270+
print(output)
2271+
self.assertRegex(output, 'qdisc ingress')
2272+
2273+
def test_qdisc3(self):
2274+
copy_unit_to_networkd_unit_path('25-qdisc-clsact-root-compat.network', '12-dummy.netdev',
2275+
'25-qdisc-ingress-netem-compat.network', '11-dummy.netdev')
2276+
start_networkd()
2277+
2278+
self.wait_online(['dummy98:routable', 'test1:routable'])
2279+
2280+
output = check_output('tc qdisc show dev dummy98')
2281+
print(output)
2282+
self.assertRegex(output, 'qdisc clsact')
2283+
output = check_output('tc qdisc show dev test1')
2284+
print(output)
2285+
self.assertRegex(output, 'qdisc netem')
2286+
self.assertRegex(output, 'limit 100 delay 50.0ms 10.0ms loss 20%')
2287+
self.assertRegex(output, 'qdisc ingress')
22652288

22662289
class NetworkdStateFileTests(unittest.TestCase, Utilities):
22672290
links = [

0 commit comments

Comments
 (0)