diff options
author | Christian Poessinger <christian@poessinger.com> | 2022-03-31 21:21:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-31 21:21:39 +0200 |
commit | 86168af4b95c64452e3f049e4f4c15cbaf55caff (patch) | |
tree | 5309ccac8b067407b49e89499a3768580bb936b0 /src | |
parent | 77f9fc8e9358d5e1d3bbf700b31865e4dc266491 (diff) | |
parent | a33b737b753843501c86eee744aef75137d2b64e (diff) | |
download | vyos-1x-86168af4b95c64452e3f049e4f4c15cbaf55caff.tar.gz vyos-1x-86168af4b95c64452e3f049e4f4c15cbaf55caff.zip |
Merge pull request #1258 from c-po/t4319-disable-ipv6
T4319: bugfixes for disabled IPv6 (current)
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/vrf.py | 8 | ||||
-rw-r--r-- | src/tests/test_util.py | 15 |
2 files changed, 19 insertions, 4 deletions
diff --git a/src/conf_mode/vrf.py b/src/conf_mode/vrf.py index 6a521a0dd..c3e2d8efd 100755 --- a/src/conf_mode/vrf.py +++ b/src/conf_mode/vrf.py @@ -30,6 +30,7 @@ from vyos.util import get_interface_config from vyos.util import popen from vyos.util import run from vyos.util import sysctl_write +from vyos.util import is_ipv6_enabled from vyos import ConfigError from vyos import frr from vyos import airbag @@ -215,10 +216,11 @@ def apply(vrf): # set VRF description for e.g. SNMP monitoring vrf_if = Interface(name) - # We also should add proper loopback IP addresses to the newly - # created VRFs for services bound to the loopback address (SNMP, NTP) + # We also should add proper loopback IP addresses to the newly added + # VRF for services bound to the loopback address (SNMP, NTP) vrf_if.add_addr('127.0.0.1/8') - vrf_if.add_addr('::1/128') + if is_ipv6_enabled(): + vrf_if.add_addr('::1/128') # add VRF description if available vrf_if.set_alias(config.get('description', '')) diff --git a/src/tests/test_util.py b/src/tests/test_util.py index 9bd27adc0..91890262c 100644 --- a/src/tests/test_util.py +++ b/src/tests/test_util.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2020-2021 VyOS maintainers and contributors +# Copyright (C) 2020-2022 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -23,3 +23,16 @@ class TestVyOSUtil(TestCase): expected_data = {"foo_bar": {"baz_quux": None}} new_data = mangle_dict_keys(data, '-', '_') self.assertEqual(new_data, expected_data) + + def test_sysctl_read(self): + self.assertEqual(sysctl_read('net.ipv4.conf.lo.forwarding'), '1') + + def test_ipv6_enabled(self): + tmp = sysctl_read('net.ipv6.conf.all.disable_ipv6') + # We need to test for both variants as this depends on how the + # Docker container is started (with or without IPv6 support) - so we + # will simply check both cases to not make the users life miserable. + if tmp == '0': + self.assertTrue(is_ipv6_enabled()) + else: + self.assertFalse(is_ipv6_enabled()) |