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}) | 
