diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-12-10 11:34:09 +0000 |
---|---|---|
committer | Viacheslav Hletenko <v.gletenko@vyos.io> | 2023-12-10 11:57:35 +0000 |
commit | 0a1c9bc38440c86cbbc016fb6d8f7d6f36993652 (patch) | |
tree | fd53f8b6b33ac86861540e1ea93cdcd9f3956ac3 /src/conf_mode | |
parent | 8258fedac0c38101051e660a37cb62fbdf6b4bce (diff) | |
download | vyos-1x-0a1c9bc38440c86cbbc016fb6d8f7d6f36993652.tar.gz vyos-1x-0a1c9bc38440c86cbbc016fb6d8f7d6f36993652.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
Diffstat (limited to 'src/conf_mode')
-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') |