The Network Coding feature was introduced in 2013 as a GSoC project,
based on the master thesis "Inter-Flow Network Coding for Wireless Mesh
Networks". It relied on the assumption that neighboring mesh nodes could
reliably overhear each other's transmissions in promiscuous mode, allowing
packets to be combined to reduce forwarding overhead.

This assumption no longer holds for modern wireless mesh networks, which
are heterogeneous and make overhearing increasingly unreliable. Factors
such as multiple spatial streams, varying data rates, beamforming, and
OFDMA all prevent nodes from consistently overhearing each other. The current
implementation in batman-adv is not able to detect these conditions and would
require a more complex layer beyond its neighbor discovery process to do so.

In addition, the feature has been unmaintained for years and is discouraged 
for use. None of the current maintainers have the required test
setup to verify its functionality, and known issues remain in its data
structures (reference counting, RCU usage, and cleanup handling). Its
continued presence also blocks necessary refactoring of the core originator
infrastructure.

This patchset will remove the network coding support and adds minimal
cleanup changes on top.

Signed-off-by: Sven Eckelmann <s...@narfation.org>
---
Sven Eckelmann (2):
      batman-adv: remove network coding support
      batman-adv: keep skb crc32 helper local in BLA

 Makefile                               |    3 -
 README.external.rst                    |    1 -
 gen-compat-autoconf.sh                 |    1 -
 net/batman-adv/Kconfig                 |   13 -
 net/batman-adv/Makefile                |    1 -
 net/batman-adv/bat_iv_ogm.c            |    5 -
 net/batman-adv/bridge_loop_avoidance.c |   34 +
 net/batman-adv/log.h                   |    3 -
 net/batman-adv/main.c                  |   50 -
 net/batman-adv/main.h                  |    3 -
 net/batman-adv/mesh-interface.c        |   14 -
 net/batman-adv/netlink.c               |   17 -
 net/batman-adv/network-coding.c        | 1878 --------------------------------
 net/batman-adv/network-coding.h        |  106 --
 net/batman-adv/originator.c            |    6 -
 net/batman-adv/routing.c               |    9 +-
 net/batman-adv/send.c                  |   16 +-
 net/batman-adv/translation-table.c     |    4 +-
 net/batman-adv/types.h                 |  216 ----
 19 files changed, 38 insertions(+), 2342 deletions(-)
---
base-commit: 383aa6a8cac023401378079fc516477d86e3c854
change-id: 20250828-drop-catwoman-1a19330a32ba

Best regards,
-- 
Sven Eckelmann <s...@narfation.org>

Reply via email to