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>
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>
* 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>
* 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>
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: b65a8ca03a ("batman-adv: update to version 2022.1")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* 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>
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>
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>
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: 47cd2a4b62 ("batman-adv: update to version 2021.2")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
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>
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>
* 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>
* 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>
* support latest kernels (3.16 - 5.1)
* coding style cleanups and refactoring
* implement meshif, hardif and vlan config interface via netlink
* snoop DHCP ACKs to improve DAT cache efficiency
* bugs squashed:
- avoid potential reference counter underflows and use-after free errors for
several objects
- fix GCC warning when B.A.T.M.A.N. V is build in but cfg80211 is not
available
- reject too small VLAN packets before they are processed further
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The actual memset fix for cfg80211_get_station's sinfo is already part of
the mac80211 package and doesn't have to be shipped anymore with
batman-adv.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
__poll_t is already defined by the mac80211's backports and
doesn't have to be redefined in the compat-hacks.h.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
from_timer is already defined by the mac80211's backports and
doesn't have to be redefined in the compat-hacks.h.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
skb_put* is already defined by the mac80211's backports and
doesn't have to be redefined in the compat-hacks.h.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
nla_put_u64_64bit is already defined by the mac80211's backports and
doesn't have to be redefined in the compat-hacks.h.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
netif_trans_update is already defined by the mac80211's backports and
doesn't have to be redefined in the compat-hacks.h.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
NL80211_STA_INFO_EXPECTED_THROUGHPUT is defined by the mac80211 package and
doesn't have to be redefined in the compat-hacks.h.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* support latest kernels (3.16 - 5.0)
* coding style cleanups and refactoring
* allow to enable debug tracing without full batman-adv debugfs support
* enable inconsistency reporting for most netlink dump commands
* bugs squashed:
- avoid unnecessary kernel warning (panic) during detection of interface loops
- work around incorrect ethernet header offset in transmit code path
Signed-off-by: Sven Eckelmann <sven@narfation.org>
OpenWrt is able since a while to automatically install all files in ./src/
to the PKG_BUILD_DIR. It is no longer necessary to provide special
Build/Prepare rules to do so.
Signed-off-by: Sven Eckelmann <sven@narfation.org>