summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces-loopback.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-07-20 21:45:24 +0200
committerChristian Poessinger <christian@poessinger.com>2020-07-25 15:36:07 +0200
commitc9ba8952ad7c373d633516933ddb97e178e339c8 (patch)
tree457c22cda4cb48673393ec9457cdb49a6b0093ea /src/conf_mode/interfaces-loopback.py
parentc8cd7951e38ae2819d4c9f87089fcf59b7e6b70d (diff)
downloadvyos-1x-c9ba8952ad7c373d633516933ddb97e178e339c8.tar.gz
vyos-1x-c9ba8952ad7c373d633516933ddb97e178e339c8.zip
interfaces: ifconfig: T2653: migrate to get_interface_dict() API
After switching from raw parsing of the interface options to get_config_dict() this utilizes another utility function which wraps get_config_dict() and adds other common and reused parameters (like deleted or bridge member). Overall this drops redundant code (again) and makes the rest more maintainable as we only utilize a single function.
Diffstat (limited to 'src/conf_mode/interfaces-loopback.py')
-rwxr-xr-xsrc/conf_mode/interfaces-loopback.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/conf_mode/interfaces-loopback.py b/src/conf_mode/interfaces-loopback.py
index 2368f88a9..68a1392ff 100755
--- a/src/conf_mode/interfaces-loopback.py
+++ b/src/conf_mode/interfaces-loopback.py
@@ -18,31 +18,27 @@ import os
from sys import exit
-from vyos.ifconfig import LoopbackIf
from vyos.config import Config
-from vyos import ConfigError, airbag
+from vyos.configdict import get_interface_dict
+from vyos.ifconfig import LoopbackIf
+from vyos import ConfigError
+from vyos import airbag
airbag.enable()
def get_config():
- """ Retrive CLI config as dictionary. Dictionary can never be empty,
- as at least the interface name will be added or a deleted flag """
+ """
+ Retrive CLI config as dictionary. Dictionary can never be empty, as at least the
+ interface name will be added or a deleted flag
+ """
conf = Config()
+ base = ['interfaces', 'loopback']
# determine tagNode instance
if 'VYOS_TAGNODE_VALUE' not in os.environ:
raise ConfigError('Interface (VYOS_TAGNODE_VALUE) not specified')
ifname = os.environ['VYOS_TAGNODE_VALUE']
- base = ['interfaces', 'loopback', ifname]
-
- loopback = conf.get_config_dict(base, key_mangling=('-', '_'), get_first_key=True)
- # Check if interface has been removed
- if loopback == {}:
- loopback.update({'deleted' : ''})
-
- # store interface instance name in dictionary
- loopback.update({'ifname': ifname})
-
+ loopback = get_interface_dict(conf, base, ifname)
return loopback
def verify(loopback):