Hi Simon,
thanks for your advice.
On 07/26/2013 02:16 PM, Simon Wunderlich wrote:
- send unicast to each neighbor instead of sending broadcast (find
out who is a neighbor by reading originator tables) --> using unicast might be faster than using broadcast too, which is usually fixed to a lower mcast rate.
I had not considered the mcast rate issue. Given the typical low degree topology that is probably the most efficient way to go. Even more so given that bcast-packets are send several times. (I just discovered this in the batman srcs.)
alfred, which servers a similar purpose (at least i think so) does the same.
We had a look at alfred, but unfortunately it is no replacement for us. But hopefully I can copy your neighbourhood discovery code :-)
Nitpicking part:
- using NFQUEUE on all enslaved interfaces to mangle packets
before they are seen by batman; requires out-of-kernel parsing of batman-adv packets and watching enslaved interfaces
out-of-kernel parsing of batman-adv packets will kill you performance completely.
By filtering with U32 and friends only packets that are scheduled for local delievery anyway would be processed in userspace. That _should_ have only a minor performance impact. (And only be ugly^10.)
With best regards, Jan