I encountered the same issue, major difference on my side I was using:
devices:
eth0:
host_name: development
ipv4.address: 192.168.25.2
network: incusbr0
type: nic
I’m on Incus client/server version 6.5
compiled for OpenSuse Leap 15.6 (kernel version 6.4.0-150600.23.17-default
).
Since I have a defined hostname I encountered the same error:
Error: Failed to start device "eth0": Failed to create the veth interfaces "development" and "vethfb5e2fdd": Failed adding link: Failed to run: ip link add name development mtu 1500 txqueuelen 1000 up type veth peer name vethfb5e2fdd mtu 1500 address 00:16:3e:18:06:e7 txqueuelen 1000: exit status 2 (RTNETLINK answers: File exists)
As a workaround I manually removed the interface, before starting my container:
sudo ip link delete 'development' type veth
Basically, judging by the issue @lcosmin linked, it sounds it’s the same bug and per Stéphane Graber’s comment, removing dangling interfaces is just a workaround.