]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: add test case for IPv4 DAD 14102/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 6 Dec 2019 14:29:28 +0000 (23:29 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 6 Dec 2019 14:29:28 +0000 (23:29 +0900)
test/test-network/conf/25-address-dad-veth-peer.network [new file with mode: 0644]
test/test-network/conf/25-address-dad-veth99.network [new file with mode: 0644]
test/test-network/systemd-networkd-tests.py

diff --git a/test/test-network/conf/25-address-dad-veth-peer.network b/test/test-network/conf/25-address-dad-veth-peer.network
new file mode 100644 (file)
index 0000000..2827a75
--- /dev/null
@@ -0,0 +1,9 @@
+[Match]
+Name=veth-peer
+
+[Network]
+IPv6AcceptRA=no
+
+[Address]
+Address=192.168.100.10/24
+DuplicateAddressDetection=ipv4
diff --git a/test/test-network/conf/25-address-dad-veth99.network b/test/test-network/conf/25-address-dad-veth99.network
new file mode 100644 (file)
index 0000000..8e323d8
--- /dev/null
@@ -0,0 +1,8 @@
+[Match]
+Name=veth99
+
+[Network]
+IPv6AcceptRA=no
+
+[Address]
+Address=192.168.100.10/24
index f47463956e75455e4179b6d87bc0106dd8922c12..cab8fb6afc2c54377f34684f4e5f79b3f04cce85 100755 (executable)
@@ -1479,6 +1479,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         '23-active-slave.network',
         '24-keep-configuration-static.network',
         '24-search-domain.network',
+        '25-address-dad-veth-peer.network',
+        '25-address-dad-veth99.network',
         '25-address-link-section.network',
         '25-address-preferred-lifetime-zero.network',
         '25-address-static.network',
@@ -1581,6 +1583,20 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         print(output)
         self.assertRegex(output, 'default via 20.20.20.1 proto static')
 
+    def test_address_dad(self):
+        copy_unit_to_networkd_unit_path('25-address-dad-veth99.network', '25-address-dad-veth-peer.network',
+                                        '25-veth.netdev')
+        start_networkd()
+        self.wait_online(['veth99:routable', 'veth-peer:degraded'])
+
+        output = check_output('ip -4 address show dev veth99')
+        print(output)
+        self.assertRegex(output, '192.168.100.10/24')
+
+        output = check_output('ip -4 address show dev veth-peer')
+        print(output)
+        self.assertNotRegex(output, '192.168.100.10/24')
+
     def test_configure_without_carrier(self):
         copy_unit_to_networkd_unit_path('configure-without-carrier.network', '11-dummy.netdev')
         start_networkd()