Files
routing/batman-adv/Makefile
T
Sven Eckelmann e76fbe6fb1 batman-adv: update to version 2026.2
* support latest kernels (5.10 - 7.2)
* coding style cleanups and refactoring
* switch wifi flags lookup to specialized rhashtable
* skip unnecessary TVLV buffer allocation of each OGM(v2) transmission
* bugs squashed:
  - batman_iv: stop caching unowned originator pointers
  - batman_iv: fix integer overflow on buff_pos
  - batman_iv: avoid bonding logic for outgoing OGM
  - batman_iv: recover OGM scheduling after forward packet error
  - batman_v: stop OGMv2 on disabled interface
  - batman_v: prevent ELP transmission interval underflow
  - batman_v: prevent OGM aggregation on disabled hardif
  - bla: prevent use-after-free when deleting claims
  - bla: only purge non-released claims
  - bla: put backbone reference on failed claim hash insert
  - bla: fix report_work leak on backbone_gw purge
  - bla: avoid double decrement of bla.num_requests
  - bla: avoid NULL-ptr deref for claim via dropped interface
  - bla: annotate lasttime access with READ/WRITE_ONCE
  - bla: reacquire gw address after skb realloc
  - dat: acquire ARP hw source only after skb realloc
  - dat: ensure accessible eth_hdr proto field
  - dat: handle forward allocation error
  - dat: prevent false sharing between VLANs
  - frag: fix reassembly length accounting
  - frag: disallow unicast fragment in fragment
  - frag: ensure fragment is writable before modifying TTL
  - frag: avoid underflow of TTL
  - gw: acquire ethernet header only after skb realloc
  - gw: clear current gateway during teardown
  - gw: don't deselect gateway with active hardif
  - mcast: fix use-after-free in orig_node RCU release
  - routing: access unicast_ttvn skb->data only after skb realloc
  - routing: ensure bcast is writable before modifying TTL
  - routing: fix (m|b)cast csum after decrementing TTL
  - routing: retrieve ethhdr after potential skb realloc on RX
  - tp_meter: reject new sessions during teardown
  - tp_meter: stop sessions during mesh teardown
  - tp_meter: fix counter underflow during shutdown
  - tp_meter: fix tp_num leak on kmalloc failure
  - tp_meter: fix tp_vars reference leak in receiver shutdown
  - tp_meter: avoid use of uninit sender vars
  - tp_meter: directly shut down timer on cleanup
  - tp_meter: fix race condition in send error reporting
  - tp_meter: avoid role confusion in tp_list
  - tp_meter: keep unacked list in ascending ordered
  - tp_meter: initialize dup_acks explicitly
  - tp_meter: initialize dec_cwnd explicitly
  - tp_meter: avoid window underflow
  - tp_meter: avoid divide-by-zero for dec_cwnd
  - tp_meter: fix fast recovery precondition
  - tp_meter: handle seqno wrap-around for fast recovery detection
  - tp_meter: add only finished tp_vars to lists
  - tp_meter: use locking for all congestion control variables
  - tp_meter: initialize last_recv_time during init
  - tp_meter: restrict number of unacked list entries
  - tp_meter: annotate last_recv_time access with READ/WRITE_ONCE
  - tp_meter: prevent parallel modifications of last_recv
  - tp_meter: handle overlapping packets
  - tt: reject oversized local TVLV buffers
  - tt: fix negative tt_buff_len
  - tt: fix negative last_changeset_len
  - tt: fix TOCTOU race for reported vlans
  - tt: avoid empty VLAN responses
  - tt: prevent TVLV entry number overflow
  - tt: don't merge change entries with different VIDs
  - tt: track roam count per VID
  - tvlv: abort OGM send on tvlv append failure
  - tvlv: reject oversized TVLV packets
  - tvlv: avoid race of cifsnotfound handler state
  - tvlv: enforce 2-byte alignment

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2026-06-30 19:42:09 +02:00

97 lines
3.0 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0-only
include $(TOPDIR)/rules.mk
PKG_NAME:=batman-adv
PKG_VERSION:=2026.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
PKG_HASH:=4e17fced2c80945e22609be87534481733ff1b5d17050de4e4f323c171418135
PKG_EXTMOD_SUBDIRS:=net/batman-adv
PKG_MAINTAINER:=Simon Wunderlich <sw@simonwunderlich.de>
PKG_LICENSE:=GPL-2.0-only MIT
PKG_LICENSE_FILES:=LICENSES/preferred/GPL-2.0 LICENSES/preferred/MIT
PKG_BUILD_PARALLEL:=1
STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
PKG_CONFIG_DEPENDS += \
CONFIG_BATMAN_ADV_BATMAN_V \
CONFIG_BATMAN_ADV_BLA \
CONFIG_BATMAN_ADV_DAT \
CONFIG_BATMAN_ADV_MCAST \
CONFIG_BATMAN_ADV_DEBUG \
CONFIG_BATMAN_ADV_TRACING
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define KernelPackage/batman-adv
SUBMENU:=Network Support
TITLE:=B.A.T.M.A.N. Adv
URL:=https://www.open-mesh.org/
DEPENDS:=+BATMAN_ADV_BLA:kmod-lib-crc16 +LINUX_6_12:kmod-lib-crc32c +kmod-cfg80211 +batctl
FILES:=$(PKG_BUILD_DIR)/net/batman-adv/batman-adv.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoProbe,batman-adv)
endef
define KernelPackage/batman-adv/description
B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
a routing protocol for multi-hop ad-hoc mesh networks. The
networks may be wired or wireless. See
https://www.open-mesh.org/ for more information and user space
tools. This package builds version $(PKG_VERSION) of the kernel
module.
endef
define KernelPackage/batman-adv/config
source "$(SOURCE)/Config.in"
endef
define Package/kmod-batman-adv/conffiles
/etc/config/batman-adv
endef
PKG_MAKE_FLAGS:= \
CONFIG_BATMAN_ADV=m \
CONFIG_BATMAN_ADV_DEBUG=$(if $(CONFIG_BATMAN_ADV_DEBUG),y,n) \
CONFIG_BATMAN_ADV_BLA=$(if $(CONFIG_BATMAN_ADV_BLA),y,n) \
CONFIG_BATMAN_ADV_DAT=$(if $(CONFIG_BATMAN_ADV_DAT),y,n) \
CONFIG_BATMAN_ADV_MCAST=$(if $(CONFIG_BATMAN_ADV_MCAST),y,n) \
CONFIG_BATMAN_ADV_BATMAN_V=$(if $(CONFIG_BATMAN_ADV_BATMAN_V),y,n) \
CONFIG_BATMAN_ADV_TRACING=$(if $(CONFIG_BATMAN_ADV_TRACING),y,n) \
NOSTDINC_FLAGS := \
$(KERNEL_NOSTDINC_FLAGS) \
-I$(PKG_BUILD_DIR)/include/ \
-I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
-include backport/autoconf.h \
-include backport/backport.h \
-include $(PKG_BUILD_DIR)/compat-hacks.h \
-DBATADV_SOURCE_VERSION=\\\"$(PKG_VERSION)-openwrt-$(PKG_RELEASE)\\\"
NOSTDINC_FLAGS += \
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_MAKE_FLAGS)))) \
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_MAKE_FLAGS)))) \
define Build/Compile
+$(KERNEL_MAKE) $(PKG_JOBS) \
$(PKG_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)/net/batman-adv" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
modules
endef
define KernelPackage/batman-adv/install
$(CP) ./files/. $(1)/
endef
$(eval $(call KernelPackage,batman-adv))