I'm trying to set MTU on eth0 device to more than 1500, I'd really like to go to 1532 in order to stop batman-adv complaining about fragmentation.
However, there seems to be a hard limit of 1516:
ifconfig eth0 mtu 1516
ifconfig: SIOCSIFMTU: Resource busy
ifconfig eth0 mtu 1517
ifconfig: SIOCSIFMTU: Invalid argument
Is this a hardware limit?
Unless you're using jumbo frames, the limit should be 1500, not 1516.
Are you sure you need this on eth0?
Here you can see how it works on wi-fi interface (with BATMAN): How to Set MTU on "Bare" Wireless Interface Using config/UCI?
Not to mention “can use” - not all devices support jumbo frames, especially consumer-grade gear.
I'm using batman-adv between two routers with multi-link, the first is a wireless mesh, on which I could increase the MTU. The second is a gigabit ethernet connection, which I added to increase bandwidth between them. This way, batman-adv is able to recover from connectivity loss and choose the best path.