Shutting down the last VM on a bridge takes the bridge down.

CRCinAU

Renowned Member
May 4, 2020
191
53
68
crc.id.au
I've just been playing with my newly installed PVE 9.0.6 install - and when implementing BGP on the host using FRR, I noticed that if I shut down all VMs on the host, then the bridges will end up in the `state DOWN` state when viewing the output of `ip addr`.

I managed to find a bit of a workaround for this - as it seems you need to have at least one interface active in the bridge for the bridge to be considered up. Of course, this is bad when using BGP because it means that the routes on that bridge are dropped.

My workaround is to add the following file into `/etc/network/interfaces.d/` called `dummy10` and `dummy11` that contain:

Code:
auto dummy10
iface dummy10 inet static
        pre-up ip link add dummy10 type dummy
        post-up brctl addif vmbr0 dummy10

Code:
auto dummy11
iface dummy11 inet static
        pre-up ip link add dummy11 type dummy
        post-up brctl addif vmbr1 dummy11

While this is a pretty ghetto fix, it keeps the bridge interfaces in the `state UP` state, therefore the routes will still propagate via BGP.

When looking at the output of `ip route`, I can see the routes in the table, but they have the keyword `linkdown` next to them. The IP address that is configured on the bridge interface is also not reachable or pingable via the host, or the network until either one of the dummy interfaces is added to the bridge, or a VM is started.

I have `bond0` connected with 2 x 10Gbit interfaces as a WAN interface, but no physical adapter connected for vmbr0 or vmbr1.

What is a better way around this?

Version / Package info:
Code:
proxmox-ve: 9.0.0 (running kernel: 6.14.11-1-pve)
pve-manager: 9.0.6 (running version: 9.0.6/49c767b70aeb6648)
proxmox-kernel-helper: 9.0.4
proxmox-kernel-6.14.11-1-pve-signed: 6.14.11-1
proxmox-kernel-6.14: 6.14.11-1
ceph-fuse: 19.2.3-pve1
corosync: 3.1.9-pve2
criu: 4.1.1-1
frr-pythontools: 10.3.1-1+pve4
ifupdown2: 3.3.0-1+pmx10
intel-microcode: 3.20250512.1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libproxmox-acme-perl: 1.7.0
libproxmox-backup-qemu0: 2.0.1
libproxmox-rs-perl: 0.4.1
libpve-access-control: 9.0.3
libpve-apiclient-perl: 3.4.0
libpve-cluster-api-perl: 9.0.6
libpve-cluster-perl: 9.0.6
libpve-common-perl: 9.0.9
libpve-guest-common-perl: 6.0.2
libpve-http-server-perl: 6.0.4
libpve-network-perl: 1.1.6
libpve-rs-perl: 0.10.10
libpve-storage-perl: 9.0.13
libspice-server1: 0.15.2-1+b1
lvm2: 2.03.31-2+pmx1
lxc-pve: 6.0.5-1
lxcfs: 6.0.4-pve1
novnc-pve: 1.6.0-3
proxmox-backup-client: 4.0.14-1
proxmox-backup-file-restore: 4.0.14-1
proxmox-backup-restore-image: 1.0.0
proxmox-firewall: 1.1.2
proxmox-kernel-helper: 9.0.4
proxmox-mail-forward: 1.0.2
proxmox-mini-journalreader: 1.6
proxmox-offline-mirror-helper: 0.7.1
proxmox-widget-toolkit: 5.0.5
pve-cluster: 9.0.6
pve-container: 6.0.10
pve-docs: 9.0.8
pve-edk2-firmware: 4.2025.02-4
pve-esxi-import-tools: 1.0.1
pve-firewall: 6.0.3
pve-firmware: 3.16-4
pve-ha-manager: 5.0.4
pve-i18n: 3.5.2
pve-qemu-kvm: 10.0.2-4
pve-xtermjs: 5.5.0-2
qemu-server: 9.0.19
smartmontools: 7.4-pve1
spiceterm: 3.4.0
swtpm: 0.8.0+pve2
vncterm: 1.9.0
zfsutils-linux: 2.3.4-pve1
 
Last edited: