diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 51a92cb965..3825490d5f 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -2466,22 +2466,12 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): self.wait_online('ifb99:degraded') - def test_rps_cpu_0(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-0.link') - start_networkd() - - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(int(output.replace(',', ''), base=16), 1) - @unittest.skipUnless(os.cpu_count() >= 2, reason="CPU count should be >= 2 to pass this test") def test_rps_cpu_1(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-1.link') + copy_network_unit('12-dummy.netdev', '12-dummy.network', '25-rps-cpu-1.link') start_networkd() - self.wait_links('dummy98') + self.wait_online('dummy98:carrier') output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') print(output) @@ -2489,10 +2479,10 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): @unittest.skipUnless(os.cpu_count() >= 2, reason="CPU count should be >= 2 to pass this test") def test_rps_cpu_0_1(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-0-1.link') + copy_network_unit('12-dummy.netdev', '12-dummy.network', '25-rps-cpu-0-1.link') start_networkd() - self.wait_links('dummy98') + self.wait_online('dummy98:carrier') output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') print(output) @@ -2500,96 +2490,86 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): @unittest.skipUnless(os.cpu_count() >= 4, reason="CPU count should be >= 4 to pass this test") def test_rps_cpu_multi(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-multi.link') + copy_network_unit('12-dummy.netdev', '12-dummy.network', '25-rps-cpu-multi.link') start_networkd() - self.wait_links('dummy98') + self.wait_online('dummy98:carrier') output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') print(output) self.assertEqual(int(output.replace(',', ''), base=16), 15) - def test_rps_cpu_all(self): + def test_rps_cpu(self): cpu_count = os.cpu_count() - copy_network_unit('12-dummy.netdev', '25-rps-cpu-all.link') + copy_network_unit('12-dummy.netdev', '12-dummy.network') start_networkd() - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}') - - def test_rps_cpu_disable(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-all.link', '24-rps-cpu-disable.link') - start_networkd() - - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(int(output.replace(',', ''), base=16), 0) - - def test_rps_cpu_empty(self): - copy_network_unit('12-dummy.netdev', '24-rps-cpu-empty.link') - start_networkd() - - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(int(output.replace(',', ''), base=16), 0) - - def test_rps_cpu_0_empty(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-0-empty.link') - start_networkd() - - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(int(output.replace(',', ''), base=16), 0) - - def test_rps_cpu_0_and_empty(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-0.link', '24-rps-cpu-empty.link') - start_networkd() - - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(int(output.replace(',', ''), base=16), 0) - - def test_rps_cpu_invalid(self): - copy_network_unit('12-dummy.netdev', '24-rps-cpu-invalid.link') - start_networkd() - - self.wait_links('dummy98') - - output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') - print(output) - self.assertEqual(int(output.replace(',', ''), base=16), 0) - - def test_rps_cpu_0_invalid(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-0-invalid.link') - start_networkd() - - self.wait_links('dummy98') + self.wait_online('dummy98:carrier') + # 0 + copy_network_unit('25-rps-cpu-0.link') + udevadm_trigger('/sys/class/net/dummy98') output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') print(output) self.assertEqual(int(output.replace(',', ''), base=16), 1) + remove_network_unit('25-rps-cpu-0.link') - def test_rps_cpu_0_and_invalid(self): - copy_network_unit('12-dummy.netdev', '25-rps-cpu-0.link', '24-rps-cpu-invalid.link') - start_networkd() - - self.wait_links('dummy98') + # all + copy_network_unit('25-rps-cpu-all.link') + udevadm_trigger('/sys/class/net/dummy98') + output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') + print(output) + self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}') + remove_network_unit('25-rps-cpu-all.link') + # disable + copy_network_unit('24-rps-cpu-disable.link') + udevadm_trigger('/sys/class/net/dummy98') output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') print(output) self.assertEqual(int(output.replace(',', ''), base=16), 0) + remove_network_unit('24-rps-cpu-disable.link') + + # set all again + copy_network_unit('25-rps-cpu-all.link') + udevadm_trigger('/sys/class/net/dummy98') + output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') + print(output) + self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}') + remove_network_unit('25-rps-cpu-all.link') + + # empty -> unchanged + copy_network_unit('24-rps-cpu-empty.link') + udevadm_trigger('/sys/class/net/dummy98') + output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') + print(output) + self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}') + remove_network_unit('24-rps-cpu-empty.link') + + # 0, then empty -> unchanged + copy_network_unit('25-rps-cpu-0-empty.link') + udevadm_trigger('/sys/class/net/dummy98') + output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') + print(output) + self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}') + remove_network_unit('25-rps-cpu-0-empty.link') + + # 0, then invalid -> 0 + copy_network_unit('25-rps-cpu-0-invalid.link') + udevadm_trigger('/sys/class/net/dummy98') + output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') + print(output) + self.assertEqual(int(output.replace(',', ''), base=16), 1) + remove_network_unit('25-rps-cpu-0-invalid.link') + + # invalid -> unchanged + copy_network_unit('24-rps-cpu-invalid.link') + udevadm_trigger('/sys/class/net/dummy98') + output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus') + print(output) + self.assertEqual(int(output.replace(',', ''), base=16), 1) + remove_network_unit('24-rps-cpu-invalid.link') class NetworkdL2TPTests(unittest.TestCase, Utilities):