Skip to content

Conversation

@ecsv
Copy link
Contributor

@ecsv ecsv commented Oct 15, 2024

Maintainer: @simonwunderlich
Compile tested: x86_64
Run tested: x86_64

Description:

batman-adv

  • Don't accept TT entries for out-of-spec VIDs

batctl

  • Dynamically select header format in netlink_print_neighbors

ecsv added 2 commits October 15, 2024 21:23
The internal handling of VLAN IDs in batman-adv is only specified for
following encodings:

* VLAN is used
  - bit 15 is 1
  - bit 11 - bit 0 is the VLAN ID (0-4095)
  - remaining bits are 0
* No VLAN is used
  - bit 15 is 0
  - remaining bits are 0

batman-adv was only preparing new translation table entries (based on its
soft interface information) using this encoding format. But the receive
path was never checking if entries in the roam or TT TVLVs were also
following this encoding.

It was therefore possible to create more than the expected maximum of 4096
+ 1 entries in the originator VLAN list. Simply by setting the "remaining
bits" to "random" values in corresponding TVLV.

Signed-off-by: Sven Eckelmann <[email protected]>
The netlink_print_neighbors() function previously used a static header
format, which did not account for variations between the neighbor list
output from different BATMAN routing algorithms (BATMAN_IV vs. BATMAN_V).

This change ensures that the table header output in `batctl n` is accurate
for both BATMAN routing algorithms.

Signed-off-by: Sven Eckelmann <[email protected]>
@simonwunderlich simonwunderlich merged commit 67fb1bc into openwrt:openwrt-23.05 Oct 16, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants