summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2026-06-24 14:48:01 +0300
committerGitHub <noreply@github.com>2026-06-24 14:48:01 +0300
commitd3826867554eb9dbd30d5c8c781516a8afcfd96b (patch)
tree5dfe88e7ff6454e6d0ff59653ee857bf8aa9c9ee /src/conf_mode
parente0114625c08a2a9826822958f53724995580716d (diff)
parent66d984ae1b25928335650d04a28a497702ba8280 (diff)
downloadvyos-1x-d3826867554eb9dbd30d5c8c781516a8afcfd96b.tar.gz
vyos-1x-d3826867554eb9dbd30d5c8c781516a8afcfd96b.zip
Merge pull request #5264 from rnavarro/fix/vti-updown-db-flock-race
ipsec: T8975: lock vti-up-down state DB to prevent lost updates under concurrent rekey
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/vpn_ipsec.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/conf_mode/vpn_ipsec.py b/src/conf_mode/vpn_ipsec.py
index 78d5cbe83..be8eeca13 100755
--- a/src/conf_mode/vpn_ipsec.py
+++ b/src/conf_mode/vpn_ipsec.py
@@ -50,7 +50,6 @@ from vyos.utils.network import interface_exists
from vyos.utils.dict import dict_search
from vyos.utils.dict import dict_search_args
from vyos.utils.process import call
-from vyos.utils.vti_updown_db import vti_updown_db_exists
from vyos.utils.vti_updown_db import open_vti_updown_db_for_create_or_update
from vyos.utils.vti_updown_db import remove_vti_updown_db
from vyos import ConfigError
@@ -900,8 +899,7 @@ def apply(ipsec):
systemd_service = 'strongswan.service'
if not ipsec or 'deleted' in ipsec:
call(f'systemctl stop {systemd_service}')
- if vti_updown_db_exists():
- remove_vti_updown_db()
+ remove_vti_updown_db()
else:
call(f'systemctl reload-or-restart {systemd_service}')
if ipsec['enabled_vti_interfaces']:
@@ -909,7 +907,7 @@ def apply(ipsec):
db.removeAllOtherInterfaces(ipsec['enabled_vti_interfaces'])
db.setPersistentInterfaces(ipsec['persistent_vti_interfaces'])
db.commit(lambda interface: ipsec['vti_interface_dicts'][interface])
- elif vti_updown_db_exists():
+ else:
remove_vti_updown_db()
if ipsec:
if ipsec.get('nhrp_exists', False):