A “fix” was made to the Mellanox driver some time around Linux version 6.5, which has a bug that makes it so 802.1q VLAN tagging doesn’t work unless the driver is put into promiscuous mode.
See a discussion around this in a Proxmox Forum topic: Mellanox ConnectX-4 LX and brigde-vlan-aware on Proxmox 8.0.1
To work around this problem you want to either of the following.
link set enp1s0f0np0 promisc on
This command is not persistent across reboots, so you will want to add it to a startup script. Example with ‘netplan’ style configs:
auto vmbr0
iface vmbr0 inet manual
# [...]
post-up ip link set enp1s0f0np0 promisc on
We will update this KB as we discover more.