From 7b82e4005724683c6311fab22358746f2cca4c1b Mon Sep 17 00:00:00 2001
From: Nataliia Solomko <natalirs1985@gmail.com>
Date: Tue, 23 Jul 2024 12:46:41 +0300
Subject: system_option: T5552: Apply IPv4 and IPv6 options after reapplying
 sysctls by TuneD

---
 src/conf_mode/system_option.py | 9 +++++++++
 1 file changed, 9 insertions(+)

(limited to 'src')

diff --git a/src/conf_mode/system_option.py b/src/conf_mode/system_option.py
index 571ce55ec..180686924 100755
--- a/src/conf_mode/system_option.py
+++ b/src/conf_mode/system_option.py
@@ -31,6 +31,7 @@ from vyos.utils.process import cmd
 from vyos.utils.process import is_systemd_service_running
 from vyos.utils.network import is_addr_assigned
 from vyos.utils.network import is_intf_addr_assigned
+from vyos.configdep import set_dependents, call_dependents
 from vyos import ConfigError
 from vyos import airbag
 airbag.enable()
@@ -55,6 +56,12 @@ def get_config(config=None):
                                    get_first_key=True,
                                    with_recursive_defaults=True)
 
+    if 'performance' in options:
+        # Update IPv4 and IPv6 options after TuneD reapplies
+        # sysctl from config files
+        for protocol in ['ip', 'ipv6']:
+            set_dependents(protocol, conf)
+
     return options
 
 def verify(options):
@@ -145,6 +152,8 @@ def apply(options):
     else:
         cmd('systemctl stop tuned.service')
 
+    call_dependents()
+
     # Keyboard layout - there will be always the default key inside the dict
     # but we check for key existence anyway
     if 'keyboard_layout' in options:
-- 
cgit v1.2.3