summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-12-04 16:17:47 +0000
committerGitHub <noreply@github.com>2025-12-04 16:17:47 +0000
commit3c521b49572da6f5e955efb00a6bd45cc8ced546 (patch)
tree9122fbe642cf8983bec1437036ee0fffc3136c13
parent02034e4fd77e8af64a7f6a66e5da7fefcd4a9e90 (diff)
parente1fd60f8e46965830cecd1932ac3d2039300b6a7 (diff)
downloadvyos-1x-3c521b49572da6f5e955efb00a6bd45cc8ced546.tar.gz
vyos-1x-3c521b49572da6f5e955efb00a6bd45cc8ced546.zip
Merge pull request #4878 from alexandr-san4ez/T8001-current
ipsec: T8001: Commit fails removing VTI interface in IPsec config
-rw-r--r--python/vyos/utils/vti_updown_db.py4
-rwxr-xr-xsrc/etc/ipsec.d/vti-up-down6
2 files changed, 5 insertions, 5 deletions
diff --git a/python/vyos/utils/vti_updown_db.py b/python/vyos/utils/vti_updown_db.py
index f4dd24007..0587b48e8 100644
--- a/python/vyos/utils/vti_updown_db.py
+++ b/python/vyos/utils/vti_updown_db.py
@@ -173,7 +173,7 @@ class VTIUpDownDB:
self._fileHandle.truncate()
for interface in self._ifsDown:
- vti_link = get_interface_config(interface)
+ vti_link = get_interface_config(interface) or {}
vti_link_up = (vti_link['operstate'] != 'DOWN' if 'operstate' in vti_link else False)
if vti_link_up:
call(f'sudo ip link set {interface} down')
@@ -182,7 +182,7 @@ class VTIUpDownDB:
self._ifsDown.clear()
for interface in self._ifsUp:
- vti_link = get_interface_config(interface)
+ vti_link = get_interface_config(interface) or {}
vti_link_up = (vti_link['operstate'] != 'DOWN' if 'operstate' in vti_link else False)
if not vti_link_up:
vti = interface_dict_supplier(interface)
diff --git a/src/etc/ipsec.d/vti-up-down b/src/etc/ipsec.d/vti-up-down
index 49acd27d2..58089bbae 100755
--- a/src/etc/ipsec.d/vti-up-down
+++ b/src/etc/ipsec.d/vti-up-down
@@ -29,7 +29,7 @@ from vyos.configquery import ConfigTreeQuery
from vyos.configdict import get_interface_dict
from vyos.utils.commit import wait_for_commit_lock
from vyos.utils.process import call
-from vyos.utils.vti_updown_db import open_vti_updown_db_for_update
+from vyos.utils.vti_updown_db import open_vti_updown_db_for_create_or_update
def supply_interface_dict(interface):
# Lazy-load the running config on first invocation
@@ -58,10 +58,10 @@ if __name__ == '__main__':
wait_for_commit_lock()
if verb in ['up-client', 'up-client-v6', 'up-host', 'up-host-v6']:
- with open_vti_updown_db_for_update() as db:
+ with open_vti_updown_db_for_create_or_update() as db:
db.add(interface, connection, protocol)
db.commit(supply_interface_dict)
elif verb in ['down-client', 'down-client-v6', 'down-host', 'down-host-v6']:
- with open_vti_updown_db_for_update() as db:
+ with open_vti_updown_db_for_create_or_update() as db:
db.remove(interface, connection, protocol)
db.commit(supply_interface_dict)