| Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
Rename `id_from_persisten_conf` to `id_from_persistent_conf`.
|
|
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.
|
|
vpp: T8419: Disallow cross-membership between VPP and kernel bonding/bridge interfaces
|
|
interfaces
|
|
Fix AttributeError in `_is_device_allowed` by using
iface parameter for `persist_config` lookup.
|
|
T8410: Fix typos and mistakes for operational and configuration commands
|
|
configuration option
Prevents attachments of unsupported NICs when the allow-unsupported-nics option is removed.
|
|
Fix typos and mistakes in the commands and comments
No functional changes
|
|
vpp: T8315: Add support for configuring unsupported NICs and update compatible list
|
|
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.
|
|
|
|
vpp: T8342: Add verification of members for bond and bridge interfaces
|
|
vpp: T8276: Add verification for virtual interfaces in PPPoE server configuration
|
|
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.
|
|
section
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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`.
|
|
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`
|
|
'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.
|
|
|
|
|
|
vpp: T7811: Add rebind_gve_driver function for correct gve device handling
|
|
|
|
|
|
- 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
|
|
|
|
|
|
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
|
|
|
|
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'
```
|
|
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.
|
|
|
|
Enable/disable NAT forwarding in vpp_nat.py script to prevent it's reset
|
|
T7897: VPP: fix rx-mode interrupt for XDP driver with workers
|
|
T7890: VPP fix verify_dev_driver
|
|
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
|
|
Allow using bond interfaces in CGNAT. Improve interface cleanup to rely
on VPP API queries, as VPP config changes may modify interface indexes
|
|
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
|
|
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
|
|
|
|
|
|
|