l0 l1 A ---- B ---------- C Example: \ / I want to restrict the link l1 to communication D -- E -- F between A and C. (Nice frying-pan, isn’t it? ;-)
I think that Andrew has answered your question. BATMAN is a pure mesh protocol; it doesn't support filtering, aggregation, or overlapping prefixes, and only limited support for multiple interfaces per node. Pure mesh is an excellent choice for layer 2 routing, where there are no overlapping prefixes, and little opportunity for aggregation or filtering.
(In a pure mesh protocol, routers with multiple interfaces should probably appear as multiple nodes; that is not done in BATMAN, seemingly for efficiency reasons, a choice I am not quite comfortable with.)
Your solution [...] only pushes the problem outside of batman.
Yes, and that's a feature. Layer 3 problems are outside the scope of a layer 2 protocol.
-- Juliusz