batman-adv: Create roughly equal sized fragments
authorSven Eckelmann <sven@narfation.org>
Tue, 25 Jan 2011 21:59:26 +0000 (21:59 +0000)
committerSven Eckelmann <sven@narfation.org>
Mon, 31 Jan 2011 13:57:08 +0000 (14:57 +0100)
commit5c77d8bb8aeb4ec6804b6c32061109ba2ea6988d
tree7ffb0ce70d1185502eb9ed41351eff8083baa0fc
parent1bae4ce27c9c90344f23c65ea6966c50ffeae2f5
batman-adv: Create roughly equal sized fragments

The routing algorithm must know how large two fragments are to be able to
decide that it is safe to merge them or if it should resubmit without waiting
for the second part. When these two fragments have a too different size, it is
not possible to guess right in every situation.

The user could easily configure the MTU of the attached cards so that one
fragment is forwarded and the other one is added to the fragments table to wait
for the missing part.

For even sized packets, it is possible to split it so that the resulting
packages are equal sized by ignoring the old non-fragment header at the
beginning of the original packet.

This still creates different sized fragments for uneven sized packets.

Reported-by: Russell Senior <russell@personaltelco.net>
Reported-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/unicast.c