Hmm, so turns out this is a kernel limit. A bridge with nothing connected to it yet can only have a MTU of 1500 or lower.
To get a higher MTU, you need to have something bridged into it which itself should have the expected MTU and at which point you can increase your bridge’s MTU.
However bridging ANY device in which has a MTU lower than the bridge’s current MTU will have the bridge adopt that lower MTU.
So the short version is, there’s nothing we can do in the
lxc-net script because the kernel just doesn’t let you create a bridge with a MTU that’s higher than 1500. The only way you can do it is by increasing the bridge’s MTU to 9000 after the first container has started. Note that the bridge MTU will go back down to 1500 as soon as the last container is stopped…