FreeBSD VM networking in Incus

I set up a FreeBSD VM in Incus by attaching the ISO and installing it on the attached root device. It seems to work pretty well, except when it comes to networking: vtnet0 shows up as expected but I can’t get DHCP to work on the “regular” incusbr0 even though the device seems up, but it works fine if I instead attach the VM to a macvlan network, the VM then gets an IP from the parent (hardware) router of the Incus host.

Any thoughts on what might be causing this, and if there is a way to get it to work against the Incus bridge network?

I have other VMs (not BSD) running in the same network that do get IPs over DHCP, so it’s not that the network is broken at least.

Most likely some firewalling going on.

Maybe, but there’s no nft rules on the host set by me, just incus stuff:

# nft list ruleset | grep chain
        chain pstrt.incusbr0 {
        chain fwd.incusbr0 {
        chain in.incusbr0 {
        chain out.incusbr0 {
        chain fwdprert.incusbr0 {
        chain fwdout.incusbr0 {
        chain fwdpstrt.incusbr0 {
        chain pstrt.incusbr1 {
        chain fwd.incusbr1 {
        chain in.incusbr1 {
        chain out.incusbr1 {

# incus network acl list
+------+-------------+---------+
| NAME | DESCRIPTION | USED BY |
+------+-------------+---------+

# incus network show incusbr0
(...)
config:
  ipv4.address: 10.122.20.1/24
  ipv4.nat: "true"
  ipv6.address: none
description: ""
name: incusbr0
type: bridge
(...)

And as I mentioned, there’s another VIRTUAL-MACHINE attached to the same network that gets a 10-ip just fine, only difference is that it runs Alpine, so I think it’s something BSD specific that happens here.

FreeBSD has no firewall running, as I believe is the default

# grep -i firewall /etc/rc.conf
# pfctl -s info
pfctl: /dev/pf: No such file or directory

Could be the UDP checksum issue raising its head again. See this recent thread: No IPV4 address for freebsd vm - #6 by candlerb