diff options
| author | Nataliia S. <81954790+natali-rs1985@users.noreply.github.com> | 2025-12-02 15:58:20 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-02 15:58:20 +0200 |
| commit | 07dfa80bdcbf627436c20e44bbf609bd301008f5 (patch) | |
| tree | 6bd36d23d96bcf10244f4b3b312485ba028ab7a4 /src | |
| parent | 29952d9c63b269db48ac8ff8370088a15e987c58 (diff) | |
| parent | 1b725ee96a4bbbe4942dc26ed21ab184af97855b (diff) | |
| download | vyos-1x-07dfa80bdcbf627436c20e44bbf609bd301008f5.tar.gz vyos-1x-07dfa80bdcbf627436c20e44bbf609bd301008f5.zip | |
Merge pull request #4866 from natali-rs1985/T8030
T8030: VPP: Check support for changed driver too
Diffstat (limited to 'src')
| -rwxr-xr-x | src/conf_mode/vpp.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/conf_mode/vpp.py b/src/conf_mode/vpp.py index abb68847e..63000110a 100755 --- a/src/conf_mode/vpp.py +++ b/src/conf_mode/vpp.py @@ -346,6 +346,9 @@ def get_config(config=None): conf, base_settings + ['interface', iface, 'driver'] ) + if old_driver: + config['settings']['interface'][iface]['driver_changed'] = {} + # Get current kernel module, required for extra verification and # logic for VMBus interfaces config['settings']['interface'][iface]['kernel_module'] = ( @@ -542,10 +545,14 @@ def verify(config): # ensure DPDK/XDP settings are properly configured for iface, iface_config in config['settings']['interface'].items(): # check if selected driver is supported, but only for new interfaces - if iface not in config.get('effective', {}).get('settings', {}).get( - 'interface', {} + # or if driver was changed + original_driver = config['persist_config'][iface]['original_driver'] + if ( + iface + not in config.get('effective', {}).get('settings', {}).get('interface', {}) + or 'driver_changed' in iface_config ): - if not verify_dev_driver(iface, iface_config['driver']): + if not verify_dev_driver(iface_config['driver'], original_driver): raise ConfigError( f'Driver {iface_config["driver"]} is not compatible with interface {iface}!' ) |
