summaryrefslogtreecommitdiff
path: root/batman-adv
Commit message (Collapse)AuthorAgeFilesLines
* batman-adv: compat: Fix skb_vlan_eth_hdr conflict in stable kernelsSven Eckelmann2023-12-232-2/+5
| | | | | | | | | | | | | | The newest Linux stable kernel releases: * v5.10.205 * v5.15.144 * v6.1.69 received a backported version of commit 1f5020acb33f ("net: vlan: introduce skb_vlan_eth_hdr()"). batman-adv must therefore not provide this function any longer for these kernel versions. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2023.3Sven Eckelmann2023-11-174-39/+5
| | | | | | | | | | * support latest kernels (4.14 - 6.7) * coding style cleanups and refactoring * only warn about too small MTU when soft interfaces wasn't already reduced * bugs squashed: - Hold rtnl lock during MTU update via netlink Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Fix lock assert after fragmentation changeSven Eckelmann2023-08-222-1/+35
| | | | | | | | | | | | | | | | The automatic recalculation of the maximum allowed MTU is usually triggered by code sections which are already rtnl lock protected by callers outside of batman-adv. But when the fragmentation setting is changed via batman-adv's own batadv genl family, then the rtnl lock is not yet taken. But dev_set_mtu requires that the caller holds the rtnl lock because it uses netdevice notifiers. And this code will then fail the check for this lock: RTNL: assertion failed at net/core/dev.c (1953) Fixes: e7ee4c55ded3 ("batman-adv: update to version 2023.2") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2023.2Sven Eckelmann2023-08-181-3/+3
| | | | | | | | | | | | | * support latest kernels (4.14 - 6.5) * bugs squashed: - avoid potential invalid memory access when processing ELP/OGM2 packets - drop pending DAT worker when interface shuts down - inform network stack about automatically adjusted MTUs - keep user defined MTU limit when MTU is recalculated - fix packet memory leak when sending OGM2 via inactive interfaces - fix TT memory leak for roamed back clients Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Drop support for kernel < 5.15Sven Eckelmann2023-05-277-116/+1
| | | | | | | | OpenWrt master is no longer providing any kernels older than 5.15. Just drop the compat-hacks/patches for older kernels to make it easier to maintain the package. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2023.1Sven Eckelmann2023-05-273-4/+18
| | | | | | | | | * support latest kernels (4.14 - 6.4) * drop single unicast transfer optimization for unsnoopable IP addresses * prepare infrastructure for multicast packets with multiple unicast destination addresses Signed-off-by: Sven Eckelmann <sven@narfation.org>
* treewide: remove AUTORELEASENick Hainke2023-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OpenWrt/packages removed AUTORELEASE treewide. Remove it also in the routing feed. This is just copied from [0] with modification to the sed cmd because it was not working for the routing feed: The following temporary change was made to the core: diff --git a/rules.mk b/rules.mk index 57d7995d4fa8..f16367de87a8 100644 --- a/rules.mk +++ b/rules.mk @@ -429,7 +429,7 @@ endef abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1)))) COMMITCOUNT = $(if $(DUMP),0,$(call commitcount)) -AUTORELEASE = $(if $(DUMP),0,$(call commitcount,1)) +AUTORELEASE = $(if $(DUMP),0,$(shell sed -i "s/\$$(AUTORELEASE)/$(call commitcount,1)/" $(CURDIR)/Makefile)) all: FORCE: ; And this command used to fix affected packages: for i in $(cd feeds/routing; git grep -l PKG_RELEASE:=.*AUTORELEASE | \ sed 's/\/Makefile$//';); do make package/$i/download done [0] - https://github.com/openwrt/packages/commit/0c10c224be81f9221dabfab449855ab6718d2a0c Signed-off-by: Nick Hainke <vincent@systemli.org>
* batman-adv: fix compilation bug in batadv_is_cfg80211_netdev()Alexandru Gagniuc2023-04-071-0/+19
| | | | | | | | | | | | | | | | | | | | | Because batman-adv is built under backports, not a clean linux tree, the CONFIG_CFG80211 does not exist. The evaluation of IS_ENABLED() in batadv_is_cfg80211_netdev() will be false, causing the funtion to always return false. This means that the wifi_flags of an interface don't get set, causing batadv_is_wifi_hardif() to always return false. As a result, batadv_v_elp_get_throughput() never tries to get the station info from cfg80211, resulting in the following warning: batman_adv: bat0: WiFi driver or ethtool info does not provide information about link speeds on interface phy1-mesh0, therefore defaulting to hardcoded throughput values of 1.0 Mbps. So replace CONFIG_CFG80211 with CPTCFG_CFG80211, which is the correct macro to use under backports. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
* batman-adv: update to version 2023.0Sven Eckelmann2023-01-262-26/+15
| | | | | | * support latest kernels (4.14 - 6.2) Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2022.3Sven Eckelmann2022-11-103-3/+12
| | | | | | | | | | | * support latest kernels (4.9 - 6.1) * coding style cleanups and refactoring * bugs squashed: - limit the minimum MTU of hard-interface to avoid "Forced to purge local tt entries" errors Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Rebuild on CONFIG_BATMAN_ADV_* changesSven Eckelmann2022-10-231-0/+9
| | | | | | | | | The buildsystem doesn't know that the KernelPackage/*/config kconfig symbols are related to the batman-adv package build. It is necessary to explicitly define it via PKG_CONFIG_DEPENDS. Fixes: 522ce8dfdb7f ("batman-adv: rename folder name to match project & package name") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2022.2Sven Eckelmann2022-07-261-2/+2
| | | | | | * support latest kernels (4.9 - 5.19) Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Fix build with kernel 5.15.38Sven Eckelmann2022-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The build failed in this kernel due to some missing implicit includes: build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h:64:42: warning: 'struct sk_buff' declared inside parameter list will not be visible outside of this definition or declaration 64 | static inline int batadv_netif_rx(struct sk_buff *skb) | ^~~~~~~ build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h: In function 'batadv_netif_rx': build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h:66:13: error: implicit declaration of function 'in_interrupt' [-Werror=implicit-function-declaration] 66 | if (in_interrupt()) | ^~~~~~~~~~~~ build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h:67:24: error: implicit declaration of function 'netif_rx' [-Werror=implicit-function-declaration] 67 | return netif_rx(skb); | ^~~~~~~~ build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h:69:24: error: implicit declaration of function 'netif_rx_ni' [-Werror=implicit-function-declaration] 69 | return netif_rx_ni(skb); | ^~~~~~~~~~~ In file included from <command-line>: ./include/linux/netdevice.h: At top level: build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h:71:18: error: conflicting types for 'batadv_netif_rx'; have 'int(struct sk_buff *)' 71 | #define netif_rx batadv_netif_rx | ^~~~~~~~~~~~~~~ ./include/linux/netdevice.h:4029:5: note: in expansion of macro 'netif_rx' 4029 | int netif_rx(struct sk_buff *skb); | ^~~~~~~~ build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_mt7622/batman-adv-2022.1/compat-hacks.h:64:19: note: previous definition of 'batadv_netif_rx' with type 'int(struct sk_buff *)' 64 | static inline int batadv_netif_rx(struct sk_buff *skb) | ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors Reported-by: Chen Minqiang <ptpt52@gmail.com> Fixes: b65a8ca03aec ("batman-adv: update to version 2022.1") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2022.1Sven Eckelmann2022-05-066-54/+286
| | | | | | | | | | | | | | * support latest kernels (4.9 - 5.18) * bugs squashed: - resolve "time-of-check-time-of-use" race condition when checking the network namespace of a lower device - fix sanity check of network devices in different namespaces with colliding IDs - prevent transmission errors after splitting large GRO packets into smaller fragments Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Drop compat hacks for kernels < 5.10Sven Eckelmann2022-04-171-44/+0
| | | | | | | | OpenWrt master is no longer providing any kernels older than 5.10. Just drop the compat-hacks for older kernels to make it easier to maintain the package. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Drop unused compat patchesSven Eckelmann2022-04-177-244/+0
| | | | | | | The minimal kernel version in OpenWrt is now Linux 5.10.111. It already provides various thing which needed special patches on older versions. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: compat: Add atomic mc_forwarding support for stable kernelsSven Eckelmann2022-04-172-0/+50
| | | | | | | | | | | | | | | Eric Dumazet changed the mc_forwarding in commit 145c7a793838 ("ipv6: make mc_forwarding atomic") the type of mc_forwarding from __s32 to an atomic_t. This patch was then ported to various stable kernels. This code change caused a FTBFS when in batman-adv when CONFIG_BATMAN_ADV_MCAST was activated. To work around this problem, provide a version for kernels with __s32 mc_forwarding and a version for kernel with atomic_t mc_forwarding. Fixes: #850 Reported-by: Huangbin Zhan <zhanhb88@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Allow parallel buildsSven Eckelmann2022-02-191-0/+2
| | | | | | | | The build system of this package is written in a way that it is safe to run the make steps in parallel. The build time can be reduced slightly on modern systems. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2022.0Sven Eckelmann2022-02-031-2/+2
| | | | | | | | | | | | * support latest kernels (4.9 - 5.17) * dropped support for kernels < 4.9 * coding style cleanups and refactoring * allow netlink usage in unprivileged containers * bugs squashed: - don't send link-local multicast to mcast routers Signed-off-by: Sven Eckelmann <sven@narfation.org>
* Merge pull request #759 from ecsv/batadv-2021.4Simon Wunderlich2021-11-281-18/+0
|\ | | | | batman-adv: Drop duplicated dev_{hold,put} compat helpers
| * batman-adv: Drop duplicated dev_{hold,put} compat helpersSven Eckelmann2021-11-271-18/+0
| | | | | | | | | | | | | | | | The mac80211 package in OpenWrt master is now already providing helpers for the changed dev_{hold,put} behavior in Linux 5.15. It is no longer necessary to ship them as part of the batman-adv package. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* | batman-adv: Prevent use from libc headers to not build with BIG_ENDIANHendrik Borghorst2021-11-271-0/+1
|/ | | | | | | | | | | | | | Commit 97d35a552ec5b6ddf7923dd2f9a8eb973526acea of musl introduced the macros __LITTLE_ENDIAN and __BIG_ENDIAN in alltypes.h. These are pulled into the compilation of batman-adv. This has the side effect that the function is_multicast_ether_addr of etherdevice.h in Linux kernel is compiled as the big endian version and so fails to work properly on little endian devices. This commits prevents pulling in header files of musl libc similar to OpenWRT commit 9ac47ee46918c45b91f4e4d1fa76b1e26b9d57fe Signed-off-by: Hendrik Borghorst <hendrikborghorst@gmail.com>
* batman-adv: update to version 2021.4Sven Eckelmann2021-11-192-2/+9
| | | | | | | | | | * support latest kernels (4.4 - 5.16) * coding style cleanups and refactoring * bugs squashed: - fix error handling during interface initialization Signed-off-by: Sven Eckelmann <sven@narfation.org>
* Revert "batman-adv: update packages to version 2021.4"Simon Wunderlich2021-11-191-2/+2
|
* batman-adv: update to version 2021.4Sven Eckelmann2021-11-191-2/+2
| | | | | | | | | | * support latest kernels (4.4 - 5.16) * coding style cleanups and refactoring * bugs squashed: - fix error handling during interface initialization Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2021.3Sven Eckelmann2021-09-146-6/+66
| | | | | | | | * support latest kernels (4.4 - 5.15) * coding style cleanups and refactoring * reduced memory copy overhead when sending broadcasts Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Fix build against kernel 5.10Sven Eckelmann2021-08-221-0/+1
| | | | | | | | | The linux kernel 5.10 needs an explicit include of linux/if_bridge.h to define br_multicast_list_adjacent and the struct br_ip_list. Reported-by: Rosen Penev <rosenp@gmail.com> Fixes: 47cd2a4b627d ("batman-adv: update to version 2021.2") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Refresh patches with quiltSven Eckelmann2021-08-203-33/+8
| | | | | | | The test builds are now requiring quilt refreshed patches instead of git patches. Otherwise the build check will not even try to build something. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2021.2Sven Eckelmann2021-08-206-129/+54
| | | | | | | | | | | | * support latest kernels (4.4 - 5.14) * coding style cleanups and refactoring * add MRD + routable IPv4 multicast with bridges support * rewrite of broadcast queuing * bugs squashed: - avoid kernel warnings on timing related checks Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Always send iface index+name in genlmsgSven Eckelmann2021-05-181-0/+117
| | | | | | | | | | | | | | | | | | | | | | The batman-adv netlink messages often contain the interface index and interface name in the same message. This makes it easy for the receiver to operate on the incoming data when it either needs to print something or needs to operate on the interface index. But one of the attributes was missing for: * neighbor table dumps * originator table dumps * gateway list dumps * query of hardif information * query of vid information The userspace therefore had to implement special workarounds using SIOCGIFNAME or SIOCGIFINDEX depending on what was actually provided. Providing both information simplifies the userspace code massively without adding a lot of extra overhead in the kernel portion. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: update to version 2021.1Sven Eckelmann2021-05-184-14/+50
| | | | | | | | | | * support latest kernels (4.4 - 5.13) * coding style cleanups and refactoring * bugs squashed: - correctly initialize padding when sending out translation table TVLVs Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: use $(AUTORELEASE) for PKG_RELEASESven Eckelmann2021-05-141-1/+1
| | | | | | | Use `$(AUTORELEASE)` variable rather than setting a PKG_RELEASE on every commit manually. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2021.0Sven Eckelmann2021-01-284-30/+141
| | | | | | | | | | | | * support latest kernels (4.4 - 5.11) * coding style cleanups and refactoring * drop support for sysfs+debugfs * allow to select routing algorithm during creation of interface * bugs squashed: - allocate enough reserved room on fragments for lower devices Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Drop compat code for Linux < 5.4Sven Eckelmann2021-01-282-101/+1
| | | | | | | The lowest kernel version supported by OpenWrt at the moment is Linux 5.4. It is therefore not required to have these dead code sections anymore. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2020.4Sven Eckelmann2020-10-273-2/+178
| | | | | | | | | | | * support latest kernels (4.4 - 5.10) * coding style cleanups and refactoring * bugs squashed: - fix incorrect reroute handling of multicast packets - improve handling of multicast packets by bridge loop avoidance Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2020.3Sven Eckelmann2020-08-252-2/+6
| | | | | | | | | | | | | * support latest kernels (4.4 - 5.9) * coding style cleanups and refactoring * introduce a configurable per interface hop penalty * bugs squashed: - avoid uninitialized chaddr when handling DHCP - fix own OGMv2 check in aggregation receive handling - fix "NOHZ: local_softirq_pending 08" warnings caused by BLA Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2020.2Sven Eckelmann2020-07-061-3/+3
| | | | | | | | | * support latest kernels (4.4 - 5.8) * coding style cleanups and refactoring * dropped support for kernels < 4.4 * re-enabled link speed detection for interfaces without auto negotiation Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Provide mac80211's config settingsSven Eckelmann2020-05-191-0/+1
| | | | | | | | The mac80211 headers might depend on the actual configuration of mac80211 to generate an ABI compatible structure definition. batman-adv must therefore include the header with these config definitions. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: use KERNEL_MAKE_FLAGS for kernel module compilationSven Eckelmann2020-05-191-3/+2
| | | | | | | | It is easier to use the global define than to manually keep track of the changes in the various kernel module makefiles in the main OpenWrt repository and feeds. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2020.1Sven Eckelmann2020-04-241-2/+2
| | | | | | | | | | | | * support latest kernels (3.16 - 5.7-rc2) * coding style cleanups and refactoring * bugs squashed: - fix reference leaks in throughput_override sysfs file - fix reference leak in B.A.T.M.A.N. V OGM error handling - fix network coding random weighting Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Drop compat-sources buildSven Eckelmann2020-04-241-6/+0
| | | | | | | The compat-sources are no longer needed for kernels >= 4.4. Older kernel versions are not used since a while in OpenWrt. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Switch to OpenWrt package templateSven Eckelmann2020-03-071-18/+13
| | | | | | | | | The OpenWrt routing feed was tried to be merged together with the OpenWrt package feed. But they ended up being rejected due to formalities like the slightly different package template. Just moving to the OpenWrt package based one should simplify similar approaches in the future. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: replace SUBDIRS with M kernel build recipeSven Eckelmann2020-03-071-1/+1
| | | | | | | The SUBDIRS variable has been removed in kernel 5.4 and M or KBUILD_EXTMOD has to be used instead. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Drop compat code for Linux < 4.14Sven Eckelmann2020-03-071-34/+0
| | | | | | | The lowest kernel version supported by OpenWrt at the moment is Linux 4.14. It is therefore not required to have these dead code sections anymore. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2020.0Sven Eckelmann2020-03-073-4/+12
| | | | | | | | | | | | * support latest kernels (3.16 - 5.6) * coding style cleanups and refactoring * use wifi tx rates as fallback for the B.A.T.M.A.N. V throughput estimation * disable deprecated sysfs support by default * bugs squashed: - fix crash during the scheduling of OGMs for removed interfaces Signed-off-by: Sven Eckelmann <sven@narfation.org>
* Merge pull request #529 from adrianschmutzler/openwrtversionSimon Wunderlich2019-12-151-1/+1
|\ | | | | batman-adv and friends: improve version string
| * batman-adv: improve version stringAdrian Schmutzler2019-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the package version string so it does not start with "openwrt", but with the base version we are modifying: So far: openwrt-2019.4-1 Now: 2019.4-openwrt-1 Since it's us modifying version 2019.4 (in this case), this order is more convenient (and also closer to what the kernel version string does). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* | batman-adv: upgrade package to latest release 2019.5Sven Eckelmann2019-12-132-2/+14
|/ | | | | | | | | | * support latest kernels (3.16 - 5.5) * coding style cleanups and refactoring * bugs squashed: - fix DAT candidate selection on little endian systems Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: upgrade package to latest release 2019.4Sven Eckelmann2019-10-251-2/+2
| | | | | | | | | | | | | * support latest kernels (3.16 - 5.4) * coding style cleanups and refactoring * implement aggregation of OGM2 packets * bugs squashed: - fix length validation in netlink messages - fix out of buffer read when parsing aggregated packets - avoid race condition in OGM(2) packet modification and submission Signed-off-by: Sven Eckelmann <sven@narfation.org>
* batman-adv: Extend PKG_LICENSE* informationSven Eckelmann2019-10-251-1/+2
| | | | Signed-off-by: Sven Eckelmann <sven@narfation.org>