On Thu, 2008-12-04 at 15:42 -0200, Eduardo Habkost wrote:
This implementation has an issue: it works when trying to set the
MTU
below 1500, but the kernel bridge code doesn't let us to set the bridge
MTU above 1500 if there is no interface attached to the bridge yet. To
allow setting the bridge MTU higher than 1500, we need to save the
configured value somewhere and set it only when attaching tap interface
to it.
Wait, that doesn't make much sense.
1) create bridge, can't set the MTU to greater than 1500
2) add tap device, set tap MTU to that of the bridge, i.e. 1500
3) now setting the bridge MTU to >1500 won't work because it's greater
that the MTU of one of the constituents
Sounds to me like it's just a kernel bug - br_change_mtu() should allow
an MTU of >ETH_DATA_LEN if the list is empty.
Cheers,
Mark.