summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2019-12-06 23:29:28 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-12-06 23:29:28 +0900
commitdc7d3c5fd4cfba5f467457c248bc722faad2789d (patch)
tree49b31c57e2945f380d5daaef6209aa6f2d58e8cc
parent051e77cac11913598f091c73bfcda45ff62e9ed4 (diff)
downloadsystemd-dc7d3c5fd4cfba5f467457c248bc722faad2789d.tar.gz
test-network: add test case for IPv4 DAD
-rw-r--r--test/test-network/conf/25-address-dad-veth-peer.network9
-rw-r--r--test/test-network/conf/25-address-dad-veth99.network8
-rwxr-xr-xtest/test-network/systemd-networkd-tests.py16
3 files changed, 33 insertions, 0 deletions
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
index 0000000000..2827a751af
--- /dev/null
+++ b/test/test-network/conf/25-address-dad-veth-peer.network
@@ -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
index 0000000000..8e323d8395
--- /dev/null
+++ b/test/test-network/conf/25-address-dad-veth99.network
@@ -0,0 +1,8 @@
+[Match]
+Name=veth99
+
+[Network]
+IPv6AcceptRA=no
+
+[Address]
+Address=192.168.100.10/24
diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py
index f47463956e..cab8fb6afc 100755
--- a/test/test-network/systemd-networkd-tests.py
+++ b/test/test-network/systemd-networkd-tests.py
@@ -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()