]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
batman-adv: iv: recover OGM scheduling after forward packet error
authorSven Eckelmann <sven@narfation.org>
Fri, 15 May 2026 20:00:40 +0000 (22:00 +0200)
committerSven Eckelmann <sven@narfation.org>
Tue, 19 May 2026 07:09:29 +0000 (09:09 +0200)
commitaa3153bd139a6c48667dcd02608d3b2c80bff02c
treeb955123205b37b2c716477f9dcecfbd524ec1b59
parent20c2d6a20ca936f5aaa6dd40f73f262ac45c87cc
batman-adv: iv: recover OGM scheduling after forward packet error

When batadv_iv_ogm_schedule_buff() fails to allocate and queue a forward
packet for OGM transmission, the work item that drives periodic OGM
scheduling is never re-armed. This silently halts transmission of the
node's own OGMs on the affected interface — only OGMs from other peers
continue to be aggregated and forwarded.

Fix this by tracking whether batadv_iv_ogm_queue_add() (and transitively
batadv_iv_ogm_aggregate_new()) successfully scheduled a forward packet.
When scheduling fails, batadv_iv_ogm_schedule_buff() falls back to queuing
a dedicated recovery work item (reschedule_work) that fires after one
originator interval and calls batadv_iv_ogm_schedule() again.

Cc: stable@kernel.org
Fixes: c6c8fea29769 ("net: Add batman-adv meshing protocol")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/bat_iv_ogm.c
net/batman-adv/types.h