]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
batman-adv: tt: don't merge change entries with different VIDs
authorSven Eckelmann <sven@narfation.org>
Sat, 13 Jun 2026 20:56:41 +0000 (22:56 +0200)
committerSven Eckelmann <sven@narfation.org>
Sun, 14 Jun 2026 07:21:17 +0000 (09:21 +0200)
commitf08e06c2d5c3e2434e7c773f2213f4a7dce6bc1e
tree7cef66f11f466747a7f70bf9a4a18d64879d1f99
parentcbde75c38b21f022891525078622587ad557b7c1
batman-adv: tt: don't merge change entries with different VIDs

batadv_tt_local_event() merges/cancels events for the same client which
would conflict or be duplicates. The matching of the queued events only
compares the MAC address - the VLAN ID stored in each event is ignored.

If a MAC would now appear on multiple VID, the two ADD change events (for
VID 1 and VID 2) would be merged to a single vid event. The remote can
therefore not calculate the correct TT table and desync. A full translation
table exchange is required to recover from this state.

A check of VID is therefore necessary to avoid such wrong merges/cancels.

Cc: stable@kernel.org
Fixes: c018ad3de61a ("batman-adv: add the VLAN ID attribute to the TT entry")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/translation-table.c