batman-adv: mcast: fix mcast packet type counter on timeouted nodes
authorLinus Lüssing <linus.luessing@c0d3.blue>
Tue, 9 Jan 2024 21:58:59 +0000 (22:58 +0100)
committerSimon Wunderlich <sw@simonwunderlich.de>
Sat, 27 Jan 2024 08:13:39 +0000 (09:13 +0100)
When a node which does not have the new batman-adv multicast packet type
capability vanishes then the according, global counter erroneously would
not be reduced in response on other nodes. Which in turn leads to the mesh
never switching back to sending with the new multicast packet type.

Fix this by reducing the according counter when such a node times out.

Fixes: 90039133221e ("batman-adv: mcast: implement multicast packet generation")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
net/batman-adv/multicast.c

index d982daea832927d38474f8d46764a82f87a09659..b4f8b4af1722620f459491cd2bdcad9d6dfa7e11 100644 (file)
@@ -2198,6 +2198,8 @@ void batadv_mcast_purge_orig(struct batadv_orig_node *orig)
                                      BATADV_MCAST_WANT_NO_RTR4);
        batadv_mcast_want_rtr6_update(bat_priv, orig,
                                      BATADV_MCAST_WANT_NO_RTR6);
+       batadv_mcast_have_mc_ptype_update(bat_priv, orig,
+                                         BATADV_MCAST_HAVE_MC_PTYPE_CAPA);
 
        spin_unlock_bh(&orig->mcast_handler_lock);
 }