summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp_interfaces_loopback.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf_mode/vpp_interfaces_loopback.py')
-rw-r--r--src/conf_mode/vpp_interfaces_loopback.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/conf_mode/vpp_interfaces_loopback.py b/src/conf_mode/vpp_interfaces_loopback.py
index 2b37b5e1c..92ba110f1 100644
--- a/src/conf_mode/vpp_interfaces_loopback.py
+++ b/src/conf_mode/vpp_interfaces_loopback.py
@@ -62,6 +62,10 @@ def get_config(config=None) -> dict:
with_recursive_defaults=True,
)
+ if not conf.exists(['vpp']):
+ config['remove_vpp'] = True
+ return config
+
# Get effective config as we need full dicitonary per interface delete
effective_config = conf.get_config_dict(
base + [ifname],
@@ -114,6 +118,10 @@ def get_config(config=None) -> dict:
def verify(config):
+ # No need to verify anything if vpp is removed
+ if 'remove_vpp' in config:
+ return None
+
verify_vpp_remove_kernel_interface(config)
if 'remove' in config:
@@ -128,6 +136,9 @@ def generate(config):
def apply(config):
+ if 'remove_vpp' in config:
+ return None
+
ifname = config.get('ifname')
# Delete interface
if 'effective' in config: