From ffc6dc28780f4d3e8c548f3709c7f3d17babda68 Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Thu, 8 Feb 2024 11:00:04 +0000 Subject: T5703: Fix reapply QoS for connection-oriented interfaces After `disconnect` and `connect` connection-oriented interfaces like PPPoE, QoS policy has to be reapplied --- src/op_mode/connect_disconnect.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/op_mode/connect_disconnect.py b/src/op_mode/connect_disconnect.py index 10034e499..bd02dc6ea 100755 --- a/src/op_mode/connect_disconnect.py +++ b/src/op_mode/connect_disconnect.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2020-2023 VyOS maintainers and contributors +# Copyright (C) 2020-2024 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -19,6 +19,7 @@ import argparse from psutil import process_iter +from vyos.configquery import ConfigTreeQuery from vyos.utils.process import call from vyos.utils.commit import commit_in_progress from vyos.utils.network import is_wwan_connected @@ -59,6 +60,17 @@ def connect(interface): else: print(f'Unknown interface {interface}, can not connect. Aborting!') + # Reaply QoS configuration + config = ConfigTreeQuery() + if config.exists(f'qos interface {interface}'): + count = 1 + while commit_in_progress(): + if ( count % 60 == 0 ): + print(f'Commit still in progress after {count}s - waiting') + count += 1 + time.sleep(1) + call('/usr/libexec/vyos/conf_mode/qos.py') + def disconnect(interface): """ Disconnect dialer interface """ -- cgit v1.2.3