diff options
| author | Daniil Baturin <daniil@vyos.io> | 2026-03-12 15:52:45 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-12 15:52:45 +0000 |
| commit | 2e2cdfb15f91bc71fefb718a9bdb64b66a0b0dd0 (patch) | |
| tree | efdd9dfd57944a1a315e460f59acf0df13bbefe4 /src/conf_mode/vpp.py | |
| parent | 2fd93b7c6d33e674512167606440bf51540160e0 (diff) | |
| parent | f05f2836f85021a4381e941fcba6536dfb768105 (diff) | |
| download | vyos-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-x | src/conf_mode/vpp.py | 11 |
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: |
