libvirt's LXC driver currently can only handle this sort of VLAN configuration from LXC: lxc.network.type = phys lxc.network.link = eth0.5 while LXC can also define VLAN devices with the following configuration. In such case, LXC creates the eth0.5 interface on the host and assign it to the guest namespace. lxc.network.type = vlan lxc.network.link = eth0 lxc.network.vlan.id = 5 The difference is that LXC can handle the automatic creation of the VLAN device while libvirt's lxc driver can't. Supporting this feature would ease migration from LXC to libvirt's lxc driver.
Thank you for reporting this issue to the libvirt project. Unfortunately we have been unable to resolve this issue due to insufficient maintainer capacity and it will now be closed. This is not a reflection on the possible validity of the issue, merely the lack of resources to investigate and address it, for which we apologise. If you none the less feel the issue is still important, you may choose to report it again at the new project issue tracker https://gitlab.com/libvirt/libvirt/-/issues The project also welcomes contribution from anyone who believes they can provide a solution.