On Friday, September 4, 2020 8:28:00 PM CEST Linus Lüssing wrote: > The unicast packet rerouting code makes several assumptions. For > instance it assumes that there is always exactly one destination in the > TT. This breaks for multicast frames in a unicast packets in several ways: > > For one thing if there is actually no TT entry and the destination node > was selected due to the multicast tvlv flags it announced. Then an > intermediate node will wrongly drop the packet. > > For another thing if there is a TT entry but the TTVN of this entry is > newer than the originally addressed destination node: Then the > intermediate node will wrongly redirect the packet, leading to > duplicated multicast packets at a multicast listener and missing > packets at other multicast listeners or multicast routers. > > Fixing this by not applying the unicast packet rerouting to batman-adv > unicast packets with a multicast payload. We are not able to detect a > roaming multicast listener at the moment and will just continue to send > the multicast frame to both the new and old destination for a while in > case of such a roaming multicast listener. > > Fixes: cea194d90b11 ("batman-adv: improved client announcement mechanism") > Signed-off-by: Linus Lüssing Acked-by: Simon Wunderlich