Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for user-defined network interface order to domainmgr/kvm
Currently, when application has both virtual network interfaces configured and some network devices directly assigned, EVE will first attach virtual interfaces in the order that follows ACL IDs (a historical workaround for missing interface order field), followed by directly assigned network adapters, in the order of the AppInstanceConfig.adapters list. To allow the user to specify the order between all application network interfaces (across both virtual and passthrough devices), we introduced a new boolean flag EnforceNetworkInterfaceOrder inside the application instance config and allow the controller to pass the order requirements for all the application network adapters. For the KVM hypervisor, and depending on the application’s operating system, we can influence the interface order through the PCI topology. A network device that should appear earlier in the interface list is assigned a lower PCI address. This ensures the desired network interface order, at least for Linux-based operating systems with systemd (see [1]). However, there are limitations when assigning multifunction PCI devices to applications. Specifically, the functions of a multifunction device cannot be interleaved with other virtual or passthrough devices. If the user configures a network interface order that violates this constraint, EVE will report an error for the application, and it will not be started. [1] https://www.freedesktop.org/software/systemd/man/latest/systemd.net-naming-scheme.html Signed-off-by: Milan Lenco <milan@zededa.com>
- Loading branch information