summaryrefslogtreecommitdiff
path: root/src/conf_mode/vpp.py
AgeCommit message (Collapse)Author
2026-06-04vpp: T8930: Block vif driver to prevent unhandled traceback on XCP-NGNataliia Solomko
The `vif` driver is fundamentally incompatible with VPP — no DPDK poll-mode driver exists for Xen paravirtual interfaces and no PCI address is exposed, so `allow-unsupported-nics` cannot rescue it either.
2026-04-21vpp: T8460: Use isolated cpus for VPP cpu-coresNataliia Solomko
VPP CPU core assignment now uses kernel-isolated CPUs (from /sys/devices/system/cpu/isolated) with explicit corelist-workers instead of computing offsets from available cores with skip-cores/workers. Added validation that enough CPUs are actually isolated before VPP starts, and that isolate-cpus config only references existing CPU IDs. Moved smoketest for kernel option 'isolate-cpus' to test_vpp.py
2026-04-06vpp: T8452: fix typo in variable nameMiha
Rename `id_from_persisten_conf` to `id_from_persistent_conf`.
2026-04-02vpp: T8438: Add bidirectional interface-in-use validationNataliia Solomko
Add bidirectional VPP interface reference validation: prevent assigning an interface used by a VPP feature (NAT/ACL/IPFIX/sFlow, etc.) as a VPP member (bond/bridge/xconnect) and prevent using a VPP member interface in VPP features. Block interface deletion when it is still referenced by any VPP feature/member. Fix VLAN subinterface removal checks broken by the recent VPP config tree restructuring.
2026-03-30Merge pull request #5086 from natali-rs1985/T8419Christian Breunig
vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge interfaces
2026-03-27vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge ↵Nataliia Solomko
interfaces
2026-03-26vpp: T8432: Fix AttributeError for enabling vpp interfaceOleksandr Kuchmystyi
Fix AttributeError in `_is_device_allowed` by using iface parameter for `persist_config` lookup.
2026-03-25Merge pull request #5082 from sever-sever/T8410Christian Breunig
T8410: Fix typos and mistakes for operational and configuration commands
2026-03-25vpp: T8422: Resolve inconsistent behavior with `allow-unsupported-nics` ↵Oleksandr Kuchmystyi
configuration option Prevents attachments of unsupported NICs when the allow-unsupported-nics option is removed.
2026-03-24T8410: Fix typos and mistakes for operational and configuration commandsViacheslav Hletenko
Fix typos and mistakes in the commands and comments No functional changes
2026-03-18Merge pull request #5041 from alexandr-san4ez/T8315-currentDaniil Baturin
vpp: T8315: Add support for configuring unsupported NICs and update compatible list
2026-03-18vpp: T8315: Add support for configuring unsupported NICs and update ↵Oleksandr Kuchmystyi
compatible list Introduce `set vpp settings unsupported nics <pci-id>` and `set vpp settings unsupported drivers <driver>` to permit VPP activation on hardware not present in the validated NIC list. Update current compatible list.
2026-03-17vpp: T8230: Add support for PPPoE on bonding interfacesNataliia Solomko
2026-03-12Merge pull request #5028 from natali-rs1985/T8342Daniil Baturin
vpp: T8342: Add verification of members for bond and bridge interfaces
2026-03-12Merge pull request #5021 from alexandr-san4ez/T8276-currentDaniil Baturin
vpp: T8276: Add verification for virtual interfaces in PPPoE server configuration
2026-03-12vpp: T8276: Add verification for virtual interfaces in PPPoE server ↵Oleksandr Kuchmystyi
configuration - Implemented `verify_virtual_interface_exists` function to check for existing interfaces. - Enhanced error handling for non-existent virtual interfaces in VPP mapping. - Modified test cases to validate changes regarding PPPoE with subinterfaces.
2026-03-06vpp: T8354: Move 'ignore-kernel-routes' option out of resource-allocation ↵Nataliia Solomko
section
2026-03-05vpp: T8342: Add verification of members for bond and bridge interfacesNataliia Solomko
2026-03-04vpp: T8339: Cleanup vpp interfaces and kernel-interfaces after migrationNataliia Solomko
2026-03-03vpp: T8327: Migrate bridge interface to 'interfaces vpp bridge'Nataliia Solomko
2026-03-02vpp: T8325: Migrate gre interface to 'interfaces vpp gre'Nataliia Solomko
2026-02-25vpp: T8283: Move bonding interface from vpp secction to 'interfaces vpp bonding'Nataliia Solomko
2026-02-25vpp: T8297: Fixed double enabling of VPPOleksandr Kuchmystyi
When trying to configure the VPP interface using `set vpp settings interface eth0` and `commit`, user first see a success. Upon repeating the configuration after deleting and re-adding it, the commit fails with an error: - `FileExistsError: Cannot open locked storage: /run/vpp/vpp_conf.json` This indicates that another process is using the file or a previous operation did not release the lock, preventing new changes from being written. The commit adds context manager support and safe close to `JSONStorage` and refactor VPP config handling.
2026-02-19vpp: T8261: Refactor resource settings into 'resource-allocation' sectionNataliia Solomko
2026-02-18vpp: T8274: Remove dpdk-options section for num-* parametersOleksandr Kuchmystyi
Remove `dpdk-options` under `set vpp settings interface <ethN>` and move its child options to the interface level: - `num-rx-desc` - `num-rx-queues` - `num-tx-desc` - `num-tx-queues` Also remove `set vpp settings interface <ethN> dpdk-options promisc`.
2026-02-18vpp: T8266: Add global `interfaces-rx-mode` setting and remove per-interface ↵Oleksandr Kuchmystyi
commands Add `set vpp settings interfaces-rx-mode <polling|interrupt|adaptive>` to configure RX mode for all interfaces. Raise error if any interface does not support the selected mode. Also remove per-interface rx-mode commands: - `set vpp settings interface <name> rx-mode` - `set vpp kernel-interfaces <name> rx-mode`
2026-02-17vpp: T8268: Unify CPU settings into a single 'cpu-cores' node under ↵Nataliia Solomko
'resource-allocation' Replace legacy VPP CPU settings (main-core, skip-cores, workers, corelist-workers) with a single resource-allocation cpu-cores option. CPU assignment is now handled automatically: two cores are reserved for the system, the VPP main thread is placed on the first available core, and the remaining allocated cores are used as workers. This simplifies configuration and ensures consistent CPU allocation.
2026-02-13vpp: T8262: Refactor IPsec settings to use only 'ipsec-acceleration' flagNataliia Solomko
2026-02-13vpp: T8254: Move 'nat44' and 'settings nat44' sections to 'nat nat44'Nataliia Solomko
2026-02-11Merge pull request #4979 from natali-rs1985/T7811Christian Breunig
vpp: T7811: Add rebind_gve_driver function for correct gve device handling
2026-02-10vpp: T8182: Disallow configuration of IPoE server on VPP interfaceNataliia Solomko
2026-02-10vpp: T7811: Add rebind_gve_driver function for correct gve device handlingNataliia Solomko
2026-01-28vpp: T8202: Remove XDP driver and options from CLI and configNataliia Solomko
- Migration script removes 'driver' and 'xdp-options' nodes. - XDP logic is commented out in config verification and CLI tests, preserving code for future use. - The rest of XDP-related code remains untouched
2026-01-19pppoe-server: T8143: Set 'vpp-cp' option automatically if interface is in VPPNataliia Solomko
2025-12-23vpp: T8080: Fix handling of configuration system lock after vpp commit failureNataliia Solomko
2025-12-10T7819: VPP do not override driver if it is already doneViacheslav Hletenko
The upstream VPP code already writes the ena device ID to new_id So we can remove `ena` from `override_driver()` The kernel does not provide a reliable way to check whether an ID has already been registered, so we simply attempt the write and ignore the FileExistsError. Any other failure is treated as a warning. Fixes this case: Traceback (most recent call last): File "/usr/libexec/vyos/services/vyos-configd", line 156, in run_script script.apply(c) File "/usr/libexec/vyos/conf_mode/vpp.py", line 613, in apply control_host.override_driver( File "/usr/lib/python3/dist-packages/vyos/vpp/control_host.py", line 138, in override_driver Path('/sys/module/vfio_pci/drivers/pci:vfio-pci/new_id').write_text( File "/usr/lib/python3.11/pathlib.py", line 1079, in write_text with self.open(mode='w', encoding=encoding, errors=errors, newline=newline) as f: FileExistsError: [Errno 17] File exists
2025-12-01T8030: VPP: Check support for changed driver tooNataliia Solomko
2025-11-14T7556: VPP add IPFIX collector configurationViacheslav Hletenko
Add VPP IPFIX configuration commands: ``` set vpp ipfix active-timeout '8' set vpp ipfix collector 192.0.2.2 port '2055' set vpp ipfix collector 192.0.2.2 source-address '192.0.2.1' set vpp ipfix flowprobe-record 'l2' set vpp ipfix flowprobe-record 'l3' set vpp ipfix flowprobe-record 'l4' set vpp ipfix inactive-timeout '32' set vpp ipfix interface eth0 set vpp ipfix interface eth1 direction 'both' set vpp ipfix interface eth1 flow-variant 'ipv4' ```
2025-10-31T7789: T7661: VPP prevent failing to set XDP driver on cloudsNataliia Solomko
Some cloud NICs (ena, gve) fail to load XDP if all RX queues are configured. To avoid this, we limit the number of queues to half of the maximum supported by the driver.
2025-10-27T7797: VPP: switching from XDP to DPDK driver fails in cloud vm (hv_netvsc)Nataliia Solomko
2025-10-20T7930: VPP: Changing NAT44 settings resets `forwarding_enabled` to FalseNataliia Solomko
Enable/disable NAT forwarding in vpp_nat.py script to prevent it's reset
2025-10-16Merge pull request #4781 from natali-rs1985/T7897Viacheslav Hletenko
T7897: VPP: fix rx-mode interrupt for XDP driver with workers
2025-10-16Merge pull request #4789 from sever-sever/T7890Viacheslav Hletenko
T7890: VPP fix verify_dev_driver
2025-10-16T7890: VPP fix verify_dev_driverViacheslav
The verify_dev_driver must return bool value, but it a device does not have PCI address (for example veth interface) it returns Traceback Fix this
2025-10-14T7750: VPP: CGNAT commit failure with vpptunX interfaceNataliia Solomko
Allow using bond interfaces in CGNAT. Improve interface cleanup to rely on VPP API queries, as VPP config changes may modify interface indexes
2025-10-14T7897: VPP: fix rx-mode interrupt for XDP driver with workersNataliia Solomko
Remove no-syscall-lock from CLI and enable this option if interrupt/adaptive mode is enabled and workers are configured. Also forbid interrupt mode for ixgbevf driver
2025-10-02T7884: VPP: dependency issue when set interface address and NAT44 address ↵Nataliia Solomko
translation interface in one commit Moved dependencies for NAT to be executed after interfaces_ethernet, and all settings for the interface (including interface address) have already been applied
2025-09-25T7862: VPP: Enable support of ixgbevf driver for DPDKNataliia Solomko
2025-09-17T7796: PPPoE-server add mapping in vpp if vpp-cp is enabledNataliia Solomko
2025-09-16T7806: VPP do not allow skip-cores to be configured without main-coreNataliia Solomko