diff options
author | Daniil Baturin <daniil@vyos.io> | 2022-03-30 09:16:20 -0400 |
---|---|---|
committer | Daniil Baturin <daniil@vyos.io> | 2022-03-30 09:16:20 -0400 |
commit | c82db71fa2ce0aa0b1768c51b78e790ee291836f (patch) | |
tree | 36e2b1e867526035acf870850881a7bd3a3742e8 | |
parent | 60f093464692f08c1c32c9e31513a6ae98636617 (diff) | |
download | vyos-1x-c82db71fa2ce0aa0b1768c51b78e790ee291836f.tar.gz vyos-1x-c82db71fa2ce0aa0b1768c51b78e790ee291836f.zip |
T4319: do not try to add ::1/128 to lo if IPv6 is disabled
-rw-r--r-- | python/vyos/ifconfig/loopback.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/python/vyos/ifconfig/loopback.py b/python/vyos/ifconfig/loopback.py index 192c12f5c..de554ef44 100644 --- a/python/vyos/ifconfig/loopback.py +++ b/python/vyos/ifconfig/loopback.py @@ -1,4 +1,4 @@ -# Copyright 2019-2021 VyOS maintainers and contributors <maintainers@vyos.io> +# Copyright 2019-2022 VyOS maintainers and contributors <maintainers@vyos.io> # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -13,6 +13,8 @@ # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see <http://www.gnu.org/licenses/>. +import vyos.util + from vyos.ifconfig.interface import Interface @Interface.register @@ -23,7 +25,6 @@ class LoopbackIf(Interface): """ _persistent_addresses = ['127.0.0.1/8', '::1/128'] iftype = 'loopback' - definition = { **Interface.definition, **{ @@ -32,6 +33,9 @@ class LoopbackIf(Interface): 'bridgeable': True, } } + + name = 'loopback' + def remove(self): """ Loopback interface can not be deleted from operating system. We can @@ -59,7 +63,10 @@ class LoopbackIf(Interface): addr = config.get('address', []) # We must ensure that the loopback addresses are never deleted from the system - addr += self._persistent_addresses + addr += ['127.0.0.1/8'] + + if (vyos.util.sysctl_read('net.ipv6.conf.all.disable_ipv6') == '0'): + addr += ['::1/128'] # Update IP address entry in our dictionary config.update({'address' : addr}) |