Hi xianghua,
for such test cases basically this patch had once been made to force batman-adv
onto certain routes but needed to be removed again as the way ebtables is
used here is not standard-conforming. However, this shouldn't bother you :).
You can then just use ebtables to prohibit certain routes:
ebtables -I INPUT -s MAC -j DROP or
ebtables -I INPUT -p 0x4305 -j DROP
(and the same for -I OUTPUT)
Antonio had been doing tests with this ebtables patch, too (see this
mailing list's archive from about the 10 May 2010).
This is a revert of the revert of commit 660d20261343e0b2ff57e51e50d7eb0e557d5e5b.
and applies on top of the current git master branch. If you need it for any
other version of batman-adv, try 'git revert
660d20261343e0b2ff57e51e50d7eb0e557d5e5b'
and if that doesn't work, just bug me again :).
Cheers, Linus