'bridge_vlan_aware' requires reboot to take effect

May 20, 2017
174
18
58
Netherlands
cyberfusion.io
Hello,

I enabled "VLAN aware" ('bridge_vlan_aware') on a bridge within Proxmox. I then clicked "Apply Configuration" for the configuration to be applied with `ifupdown2`.

I would expect `bridge_vlan_aware` to be enabled, but `bridge_vlan_aware` is not enabled until after rebooting the Proxmox host... When disabling "VLAN aware" and enabling "VLAN aware" again, "VLAN aware" is in a broken state until rebooting.

I compared output of `ip a` before and after reboot, and it does not differ.

Why does 'bridge_vlan_aware' require a reboot to take effect? This does not seem like expected behaviour as it is not documented anywhere.

I would like to be able to enable "VLAN aware" on bridges without rebooting.
 
Hi,
Why does 'bridge_vlan_aware' require a reboot to take effect?

There is two of the reasons, why we recommend rebooting after making changes to the network configuration are:
1- if you restart a bridge-interface all it's child interfaces are not associated with it anymore - in another meaning. all of your VMs tap-devices are not in the bridge anymore - your VMs lose connectivity (you could re-add them with brctl addif, but I'd consider this error-prone)
2- By rebooting once you gain confidence that the next reboot will also work (and you don't need to remember what you changed 2 weeks ago, if it doesn't work as expected.

Hope that helps!
 
Hi,


There is two of the reasons, why we recommend rebooting after making changes to the network configuration are:
1- if you restart a bridge-interface all it's child interfaces are not associated with it anymore - in another meaning. all of your VMs tap-devices are not in the bridge anymore - your VMs lose connectivity (you could re-add them with brctl addif, but I'd consider this error-prone)
2- By rebooting once you gain confidence that the next reboot will also work (and you don't need to remember what you changed 2 weeks ago, if it doesn't work as expected.

Hope that helps!
Hi,

Yes, I understand rebooting is recommended, but from what I've gathered from docs, it should not be required. Hence my question: Why does 'bridge_vlan_aware' require a reboot to take effect? This does not seem like expected behaviour as it is not documented anywhere.
 
enable/disable bridge vlan aware it's working on reload (you can verfify with
cat /sys/class/net/vmbrX/bridge/vlan_filtering

But if you have already vm running on classic bridge without vlan aware, proxmox create bridge vmbrXvY , and it's not in /etc/network/interfaces.
So, ifreload can't see them and it's not able to move current vm interfaces to vlan aware bridge.
 
Hi,

For those who really don't want to reboot there is a way to make it works with manually deleting bridges interfaces.

First you have to understand that it is only needed for vlans you have already added on a virtual guest interface tag=xx. In traditional vlan mode without the vlan awareness option when you do so proxmox create a bridged vlan interface. This bridge will not be deleted until the next reboot.

With you add tag=11 on vmbr0 on a guest virtual interface two things are created:
  • eth0.11
  • vmbr0v11
you can see it with a
Code:
brctl show vmbr0v11
and the corresponding VM tap device hanging on it. Note that the same workflow can be accomplish on the web interface (Linux Vlan and Bridge interface on it) for a persistant tagged vmbr that you can affect on your VMs directly without adding "tag=" on each.

So after enabling the vlan awareness option do the following:
  1. get all VMs hanging on the old vmbrxxvxx (brctl show)
  2. on the web interface remove the tag=xx and set it again, that will cause the tap interface to release the vmbrxxvxx and hang up to the vmbrxx. . you should consider doing this on the guest configured VLAN you expect to be vlan awareness too set a random tag and remove it will refresh the tap interface and that's why a reboot is a better choice. you could reboot the VM if it does not work too.
  3. once you make that your vmbrxxvxx should not hang any tap interface anymore
  4. delete the vlan interface
    Code:
    ip link del eth0.11
  5. disable the bridge interface
    Code:
    ifconfig vmbr0v11 down
  6. delete it
    Code:
    brctl delbr vmbr0v11
Now you are in awareness vlan mode but keep in mind that the VMs you didn't set and unset the tag or reboot are not.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!