[v2,0/5] batman-adv: TT change events fixes and improvements

Message ID cover.1731792497.git.repk@triplefau.lt (mailing list archive)
Headers
Series batman-adv: TT change events fixes and improvements |

Message

Remi Pommarel Nov. 16, 2024, 9:32 p.m. UTC
  The first three patches are actual fixes.

The first two try to avoid sending uninitialized data that could be
interpreted as invalid TT change events in both TT change response and
OGM.  Following invalid entries could be seen when that happen with
batctl o:

 * 00:00:00:00:00:00   -1 [....] (  0) 88:12:4e:ad:7e:ba (179) (0x45845380)
 * 00:00:00:00:78:79 4092 [.W..] (  0) 88:12:4e:ad:7e:3c (145) (0x8ebadb8b)

The third one fixes an issue that happened when a TT change event list
is too big for the MTU, the list was never actually sent nor free and
continued to grow indefinitely from this point. That also caused the
OGM TTVN to increase at each OGM interval without any changes being ever
visible to other nodes. This ever growing TT change event list could be
observed by looking at /sys/kernel/slab/batadv_tt_change_cache/objects
that sometimes showed unusal high value even after issuing a memcache
shrink.

The next two patches are more cleanup / potential slight improvements.
While patch 4 is mainly cosmetic (having negative tt.local_changes
values is not exactly an issue), patch 5 is here to keep the TT changes
list as short as possible (reducing network overhead).

V2:
  - This has been tested enough to not be in RFC state anymore
  - Add one more uninitialize TT change fix for full table TT responses

Remi Pommarel (5):
  batman-adv: Do not send uninitialized TT changes
  batman-adv: Remove uninitialized data in full table TT response
  batman-adv: Do not let TT changes list grows indefinitely
  batman-adv: Remove atomic usage for tt.local_changes
  batman-adv: Don't keep redundant TT change events

 net/batman-adv/soft-interface.c    |  2 +-
 net/batman-adv/translation-table.c | 85 +++++++++++++++++++-----------
 net/batman-adv/types.h             |  4 +-
 3 files changed, 56 insertions(+), 35 deletions(-)
  

Comments

Sven Eckelmann Nov. 17, 2024, 8:24 a.m. UTC | #1
On Saturday, 16 November 2024 22:32:04 CET Remi Pommarel wrote:
> The first three patches are actual fixes.
[...]
> The next two patches are more cleanup / potential slight improvements.
> While patch 4 is mainly cosmetic (having negative tt.local_changes
> values is not exactly an issue), patch 5 is here to keep the TT changes
> list as short as possible (reducing network overhead).

Thanks for your patches. They look plausible but I want to get Acks from 
Antonio before applying them.

Minor thing (3. patch): emtpy -> empty, "a creatind" -> creating, ...


@Simon, we need to apply the first three patches to net and send them early - 
just to make sure it is merged in net-next before we send the last two 
patches. Just to avoid some merge conflicts.

Kind regards,
	Sven