summaryrefslogtreecommitdiff
path: root/src/conf_mode/system_option.py
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-06-25 15:56:52 +0200
committerGitHub <noreply@github.com>2024-06-25 15:56:52 +0200
commit621dd08a7c3bb0972ec176be1bb8397d06717e52 (patch)
treed534ed7892f95397a56cfaf38a5198ec4a0b6435 /src/conf_mode/system_option.py
parent0c0480323c2c1cfda0478dec5d28a2275c63a8a4 (diff)
parent5b0faeedb870d3f9cac7acbcdfc23e5559689123 (diff)
downloadvyos-1x-621dd08a7c3bb0972ec176be1bb8397d06717e52.tar.gz
vyos-1x-621dd08a7c3bb0972ec176be1bb8397d06717e52.zip
Merge pull request #3706 from vyos/mergify/bp/sagitta/pr-3679
T3202: Enable wireguard debug messages (backport #3679)
Diffstat (limited to 'src/conf_mode/system_option.py')
-rwxr-xr-xsrc/conf_mode/system_option.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/conf_mode/system_option.py b/src/conf_mode/system_option.py
index 2c31703e9..571ce55ec 100755
--- a/src/conf_mode/system_option.py
+++ b/src/conf_mode/system_option.py
@@ -24,6 +24,9 @@ from vyos.configverify import verify_source_interface
from vyos.configverify import verify_interface_exists
from vyos.system import grub_util
from vyos.template import render
+from vyos.utils.dict import dict_search
+from vyos.utils.file import write_file
+from vyos.utils.kernel import check_kmod
from vyos.utils.process import cmd
from vyos.utils.process import is_systemd_service_running
from vyos.utils.network import is_addr_assigned
@@ -36,6 +39,7 @@ curlrc_config = r'/etc/curlrc'
ssh_config = r'/etc/ssh/ssh_config.d/91-vyos-ssh-client-options.conf'
systemd_action_file = '/lib/systemd/system/ctrl-alt-del.target'
usb_autosuspend = r'/etc/udev/rules.d/40-usb-autosuspend.rules'
+kernel_dynamic_debug = r'/sys/kernel/debug/dynamic_debug/control'
time_format_to_locale = {
'12-hour': 'en_US.UTF-8',
'24-hour': 'en_GB.UTF-8'
@@ -157,8 +161,18 @@ def apply(options):
time_format = time_format_to_locale.get(options['time_format'])
cmd(f'localectl set-locale LC_TIME={time_format}')
+ # Reload UDEV, required for USB auto suspend
cmd('udevadm control --reload-rules')
+ # Enable/disable dynamic debugging for kernel modules
+ modules = ['wireguard']
+ modules_enabled = dict_search('kernel.debug', options) or []
+ for module in modules:
+ if module in modules_enabled:
+ check_kmod(module)
+ write_file(kernel_dynamic_debug, f'module {module} +p')
+ else:
+ write_file(kernel_dynamic_debug, f'module {module} -p')
if __name__ == '__main__':
try: