From 51a2196e3d08c11ba3390fc53f19eb1df6ec2b0a Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Sun, 10 Dec 2023 11:34:09 +0000 Subject: 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) --- src/conf_mode/dns_dynamic.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/conf_mode/dns_dynamic.py') 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') -- cgit v1.2.3