summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp.py
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2026-03-12 15:52:45 +0000
committerGitHub <noreply@github.com>2026-03-12 15:52:45 +0000
commit2e2cdfb15f91bc71fefb718a9bdb64b66a0b0dd0 (patch)
treeefdd9dfd57944a1a315e460f59acf0df13bbefe4 /src/conf_mode/vpp.py
parent2fd93b7c6d33e674512167606440bf51540160e0 (diff)
parentf05f2836f85021a4381e941fcba6536dfb768105 (diff)
downloadvyos-1x-2e2cdfb15f91bc71fefb718a9bdb64b66a0b0dd0.tar.gz
vyos-1x-2e2cdfb15f91bc71fefb718a9bdb64b66a0b0dd0.zip
Merge pull request #5021 from alexandr-san4ez/T8276-current
vpp: T8276: Add verification for virtual interfaces in PPPoE server configuration
Diffstat (limited to 'src/conf_mode/vpp.py')
-rwxr-xr-xsrc/conf_mode/vpp.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/conf_mode/vpp.py b/src/conf_mode/vpp.py
index d39eadac1..e6b739179 100755
--- a/src/conf_mode/vpp.py
+++ b/src/conf_mode/vpp.py
@@ -29,8 +29,11 @@ from vyos import ConfigError
from vyos import airbag
from vyos.base import Warning
from vyos.config import Config, config_dict_merge
-from vyos.configdep import set_dependents, call_dependents
+from vyos.configdep import set_dependents
+from vyos.configdep import call_dependents
from vyos.configdict import node_changed
+from vyos.configverify import verify_interface_exists
+from vyos.configverify import verify_virtual_interface_exists
from vyos.ifconfig import Section
from vyos.logger import getLogger
from vyos.template import render
@@ -480,6 +483,7 @@ def get_config(config=None):
changed_pppoe_ifaces.extend(added_pppoe_ifaces)
if changed_pppoe_ifaces:
set_dependents('pppoe_server', conf)
+ config['changed_pppoe_ifaces'] = changed_pppoe_ifaces
return config
@@ -610,6 +614,11 @@ def verify(config):
verify_routes_count(config['settings'])
+ for pppoe_iface in config.get('changed_pppoe_ifaces', []):
+ if '.' in pppoe_iface:
+ verify_virtual_interface_exists(config, pppoe_iface)
+ else:
+ verify_interface_exists(config, pppoe_iface)
def generate(config):
if not config or 'remove' in config: