aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2018-11-28 19:00:58 -0800
committerWilliam A. Kennington III <william@wkennington.com>2018-12-09 16:56:37 -0800
commite4a71bf36f422c3728b902aaa5846add7bbc0eb9 (patch)
tree77b9e8834eed5833a749c3d76c617586e5557348 /test
parentnetworkd: Use only a generic CONFIGURING state (diff)
downloadsystemd-e4a71bf36f422c3728b902aaa5846add7bbc0eb9.tar.gz
systemd-e4a71bf36f422c3728b902aaa5846add7bbc0eb9.tar.bz2
systemd-e4a71bf36f422c3728b902aaa5846add7bbc0eb9.zip
networkd: Static neighbor support
When using networkd we currently have no way of ensuring that static neighbor entries are set when our link comes up. This change adds a new section to the network definition that allows multiple static neighbors to be set on a link.
Diffstat (limited to 'test')
-rw-r--r--test/fuzz/fuzz-network-parser/25-neighbor-section.network6
-rw-r--r--test/fuzz/fuzz-network-parser/directives.network3
-rw-r--r--test/test-network/conf/25-neighbor-section.network10
-rwxr-xr-xtest/test-network/systemd-networkd-tests.py12
4 files changed, 31 insertions, 0 deletions
diff --git a/test/fuzz/fuzz-network-parser/25-neighbor-section.network b/test/fuzz/fuzz-network-parser/25-neighbor-section.network
new file mode 100644
index 000000000..dd750dd56
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-neighbor-section.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Neighbor]
+Address=2004:da8:1:0::
+MACAddress=00:00:5e:00:02:00
diff --git a/test/fuzz/fuzz-network-parser/directives.network b/test/fuzz/fuzz-network-parser/directives.network
index 6afdd05e8..cab87bf98 100644
--- a/test/fuzz/fuzz-network-parser/directives.network
+++ b/test/fuzz/fuzz-network-parser/directives.network
@@ -165,6 +165,9 @@ EmitDNS=
EmitDomains=
Managed=
OtherInformation=
+[Neighbor]
+Address=
+MacAddress=
[IPv6AddressLabel]
Label=
Prefix=
diff --git a/test/test-network/conf/25-neighbor-section.network b/test/test-network/conf/25-neighbor-section.network
new file mode 100644
index 000000000..d90802f44
--- /dev/null
+++ b/test/test-network/conf/25-neighbor-section.network
@@ -0,0 +1,10 @@
+[Match]
+Name=dummy98
+
+[Neighbor]
+Address=192.168.10.1
+MACAddress=00:00:5e:00:02:65
+
+[Neighbor]
+Address=2004:da8:1:0::1
+MACAddress=00:00:5e:00:02:66
diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py
index 8fb1c7f38..65cc43e8b 100755
--- a/test/test-network/systemd-networkd-tests.py
+++ b/test/test-network/systemd-networkd-tests.py
@@ -525,6 +525,7 @@ class NetworkdNetWorkTests(unittest.TestCase, Utilities):
'25-fibrule-invert.network',
'25-fibrule-port-range.network',
'25-ipv6-address-label-section.network',
+ '25-neighbor-section.network',
'25-link-section-unmanaged.network',
'25-route-gateway.network',
'25-route-gateway-on-link.network',
@@ -775,6 +776,17 @@ class NetworkdNetWorkTests(unittest.TestCase, Utilities):
print(output)
self.assertRegex(output, '2004:da8:1::/64')
+ def test_ipv6_neighbor(self):
+ self.copy_unit_to_networkd_unit_path('25-neighbor-section.network', '12-dummy.netdev')
+ self.start_networkd()
+
+ self.assertTrue(self.link_exits('dummy98'))
+
+ output = subprocess.check_output(['ip', 'neigh', 'list']).rstrip().decode('utf-8')
+ print(output)
+ self.assertRegex(output, '192.168.10.1.*00:00:5e:00:02:65.*PERMANENT')
+ self.assertRegex(output, '2004:da8:1:0::1.*00:00:5e:00:02:66.*PERMANENT')
+
def test_sysctl(self):
self.copy_unit_to_networkd_unit_path('25-sysctl.network', '12-dummy.netdev')
self.start_networkd()