diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-12-10 11:34:09 +0000 |
---|---|---|
committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2023-12-10 11:59:02 +0000 |
commit | 51a2196e3d08c11ba3390fc53f19eb1df6ec2b0a (patch) | |
tree | 23a04798829f71337bec75f2f5bf98cbe4315c4d | |
parent | 6c6dae5179b17f9253c38d973dfa7e5cdaa0491e (diff) | |
download | vyos-1x-51a2196e3d08c11ba3390fc53f19eb1df6ec2b0a.tar.gz vyos-1x-51a2196e3d08c11ba3390fc53f19eb1df6ec2b0a.zip |
T5791: DNS dynamic exclude check for dynamic interfaces PPPoE
Dynamic interfaces such as PPPoE/sstpc can not exist during
verification dns dynamic. As they added and removed dynamically.
Add interface_filter to exclude them from checks
(cherry picked from commit 0a1c9bc38440c86cbbc016fb6d8f7d6f36993652)
-rwxr-xr-x | src/conf_mode/dns_dynamic.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/conf_mode/dns_dynamic.py b/src/conf_mode/dns_dynamic.py index 3ddc8e7fd..c4dcb76ed 100755 --- a/src/conf_mode/dns_dynamic.py +++ b/src/conf_mode/dns_dynamic.py @@ -18,6 +18,7 @@ import os from sys import exit +from vyos.base import Warning from vyos.config import Config from vyos.configverify import verify_interface_exists from vyos.template import render @@ -88,7 +89,12 @@ def verify(dyndns): # If dyndns address is an interface, ensure that it exists # and that web-options are not set if config['address'] != 'web': - verify_interface_exists(config['address']) + # exclude check interface for dynamic interfaces + interface_filter = ('pppoe', 'sstpc') + if config['address'].startswith(interface_filter): + Warning(f'interface {config["address"]} does not exist!') + else: + verify_interface_exists(config['address']) if 'web_options' in config: raise ConfigError(f'"web-options" is applicable only when using HTTP(S) web request to obtain the IP address') |