On Monday, September 14, 2020 9:53:46 PM CEST Linus Lüssing wrote: > Scenario: > * Multicast frame send from mesh to a BLA backbone (multiple nodes > with their bat0 bridged together, with BLA enabled) > > Issue: > * BLA backbone nodes receive the frame multiple times on bat0, > once from mesh->bat0 and once from each backbone_gw from LAN > > For unicast, a node will send only to the best backbone gateway > according to the TQ. However for multicast we currently cannot determine > if multiple destination nodes share the same backbone if they don't share > the same backbone with us. So we need to keep sending the unicasts to > all backbone gateways and let the backbone gateways decide which one > will forward the frame. We can use the CLAIM mechanism to make this > decision. > > One catch: The batman-adv gateway feature for DHCP packets potentially > sends multicast packets in the same batman-adv unicast header as the > multicast optimizations code. And we are not allowed to drop those even > if we did not claim the source address of the sender, as for such > packets there is only this one multicast-in-unicast packet. > > How can we distinguish the two cases? > > The gateway feature uses a batman-adv unicast 4 address header. While > the multicast-to-unicasts feature uses a simple, 3 address batman-adv > unicast header. So let's use this to distinguish. > > Fixes: e32470167379 ("batman-adv: check incoming packet type for bla") > Signed-off-by: Linus Lüssing <linus.luess...@c0d3.blue>
Acked-by: Simon Wunderlich <s...@simonwunderlich.de>
signature.asc
Description: This is a digitally signed message part.