Hi together,
I recently upgraded my Proxmox cluster from pve8 to pve9.1.9.
Then I noticed that some of my VLANs were not working anymore as intended. I could not find a solution since everything looked fine and I didn't change any configuration. Then I asked Claude for help and what should I say; it helped. This is a short summary of the problem and its solution. I was wondering, that this was not covered anywhere till now.
Maybe this helps other people with similar problems.
I recently upgraded my Proxmox cluster from pve8 to pve9.1.9.
Then I noticed that some of my VLANs were not working anymore as intended. I could not find a solution since everything looked fine and I didn't change any configuration. Then I asked Claude for help and what should I say; it helped. This is a short summary of the problem and its solution. I was wondering, that this was not covered anywhere till now.
**Bug: VLAN-aware bridge does not apply VLANs to bridge device itself after upgrade to PVE 9**
**Environment:**
- Proxmox VE 9 (upgraded from PVE 8)
- ifupdown2 3.3.0-1+pmx12
**Problem:**
After upgrading to Proxmox VE 9, VLAN-aware bridges no longer pass tagged traffic, even when `bridge-vids` is correctly configured in `/etc/network/interfaces`. The VLANs are applied to the physical port (e.g. `eno2`) but not to the bridge device itself (e.g. `vmbr1`).
This can be verified with `bridge vlan show`:
```
eno2 1 PVID Egress Untagged
180
184
vmbr1 1 PVID Egress Untagged ← VLANs 180 and 184 missing here
```
**Root Cause:**
ifupdown2 3.3.x changed the behavior of `bridge-vids`: it no longer implicitly sets the `self` flag on the bridge device. Previously, `bridge-vids 180 184` would apply the VLANs to both the bridge ports and the bridge device itself. Now it only applies them to the ports.
Existing configurations generated by PVE 8 / older ifupdown2 are not migrated automatically during the upgrade, and the PVE 9 GUI does not generate the required `post-up` lines when creating new VLAN-aware bridges.
**Workaround:**
Manually add the following lines to each affected bridge in `/etc/network/interfaces`:
```
post-up bridge vlan add vid 180 dev vmbr1 self
post-up bridge vlan add vid 184 dev vmbr1 self
```
**Expected Behavior:**
Either ifupdown2 should handle the `self` flag automatically as before, or the PVE GUI / network configuration generator should add the required `post-up` lines automatically when creating or editing VLAN-aware bridges. Additionally, a migration script should be provided for users upgrading from PVE 8 to PVE 9.
Maybe this helps other people with similar problems.
Last edited: