Thank you for posting at Wired Communities. We are investigating on this, can you share also what is the network adapter model?
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T2
Flags: bus master, fast devsel, latency 0, IRQ 33, NUMA node 0
Memory at ddc00000 (64-bit, prefetchable) [size=2M]
Memory at dde04000 (64-bit, prefetchable) [size=16K]
Expansion ROM at df180000 [disabled] [size=512K]
Capabilities:  Power Management version 3
Capabilities:  MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities:  MSI-X: Enable+ Count=64 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities:  Advanced Error Reporting
Capabilities:  Device Serial Number a0-36-9f-ff-ff-26-b4-ac
Capabilities:  Alternative Routing-ID Interpretation (ARI)
Capabilities:  Single Root I/O Virtualization (SR-IOV)
Capabilities: [1d0] Access Control Services
Kernel driver in use: ixgbe
I did not use Double VLAN (and any implementation of Q-in-Q) on my configuration.
Very simple test, in order to reproduce it - linux bond in VM with type balance-alb and two ixgbevf interfaces.
You may refer to our README file regarding the known issue "MAC address of Virtual Function changes unexpectedly" at https://downloadmirror.intel.com/18700/eng/readme.txt
Please try using command - ip link set <interface> vf <x> mac (xx:xx:xx:xx:xx:xx) to set the mac address.