diff options
author | William A. Kennington III <william@wkennington.com> | 2018-11-28 19:00:58 -0800 |
---|---|---|
committer | William A. Kennington III <william@wkennington.com> | 2018-12-09 16:56:37 -0800 |
commit | e4a71bf36f422c3728b902aaa5846add7bbc0eb9 (patch) | |
tree | 77b9e8834eed5833a749c3d76c617586e5557348 /test | |
parent | networkd: Use only a generic CONFIGURING state (diff) | |
download | systemd-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')
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() |