mirror of
https://github.com/openwrt/routing.git
synced 2025-12-21 21:24:32 +04:00
batman-adv: Merge bugfixes from 2025.1
* Ignore own maximum aggregation size during RX Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
@@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=batman-adv
|
PKG_NAME:=batman-adv
|
||||||
PKG_VERSION:=2024.3
|
PKG_VERSION:=2024.3
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=5
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
From: Sven Eckelmann <sven@narfation.org>
|
||||||
|
Date: Sun, 2 Feb 2025 17:04:13 +0100
|
||||||
|
Subject: batman-adv: Ignore own maximum aggregation size during RX
|
||||||
|
|
||||||
|
An OGMv1 and OGMv2 packet receive processing were not only limited by the
|
||||||
|
number of bytes in the received packet but also by the nodes maximum
|
||||||
|
aggregation packet size limit. But this limit is relevant for TX and not
|
||||||
|
for RX. It must not be enforced by batadv_(i)v_ogm_aggr_packet to avoid
|
||||||
|
loss of information in case of a different limit for sender and receiver.
|
||||||
|
|
||||||
|
This has a minor side effect for B.A.T.M.A.N. IV because the
|
||||||
|
batadv_iv_ogm_aggr_packet is also used for the preprocessing for the TX.
|
||||||
|
But since the aggregation code itself will not allow more than
|
||||||
|
BATADV_MAX_AGGREGATION_BYTES bytes, this check was never triggering (in
|
||||||
|
this context) prior of removing it.
|
||||||
|
|
||||||
|
Fixes: b780db96954a ("add packet aggregation add jitter for rebroadcast of packets if aggregation is disabled")
|
||||||
|
Fixes: 667996ebeab4 ("batman-adv: OGMv2 - implement originators logic")
|
||||||
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
||||||
|
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
|
||||||
|
Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/7e6b4d0619fe2754787078c23c16c6a7ddb126eb
|
||||||
|
|
||||||
|
--- a/net/batman-adv/bat_iv_ogm.c
|
||||||
|
+++ b/net/batman-adv/bat_iv_ogm.c
|
||||||
|
@@ -324,8 +324,7 @@ batadv_iv_ogm_aggr_packet(int buff_pos,
|
||||||
|
/* check if there is enough space for the optional TVLV */
|
||||||
|
next_buff_pos += ntohs(ogm_packet->tvlv_len);
|
||||||
|
|
||||||
|
- return (next_buff_pos <= packet_len) &&
|
||||||
|
- (next_buff_pos <= BATADV_MAX_AGGREGATION_BYTES);
|
||||||
|
+ return next_buff_pos <= packet_len;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* send a batman ogm to a given interface */
|
||||||
|
--- a/net/batman-adv/bat_v_ogm.c
|
||||||
|
+++ b/net/batman-adv/bat_v_ogm.c
|
||||||
|
@@ -839,8 +839,7 @@ batadv_v_ogm_aggr_packet(int buff_pos, i
|
||||||
|
/* check if there is enough space for the optional TVLV */
|
||||||
|
next_buff_pos += ntohs(ogm2_packet->tvlv_len);
|
||||||
|
|
||||||
|
- return (next_buff_pos <= packet_len) &&
|
||||||
|
- (next_buff_pos <= BATADV_MAX_AGGREGATION_BYTES);
|
||||||
|
+ return next_buff_pos <= packet_len;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
Reference in New Issue
Block a user