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
Origin: upstream, https://git.openwrt.org/?p=feed/routing.git;a=commit;h=47436b04fd32cf3b6e6b46c25cb9c1fff3a995fd
Signed-off-by: Hendrik Borghorst <hendrikborghorst@gmail.com>
(cherry picked from commit 523821c1959cb288b55b7fcc8761c83f6ff48c4d)
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The batman-adv for non-802.11ax devices was a completely different one than
for 802.11ax devices. The latter is using a private copy because the QCA
kernel is extremely old and doesn't match the kernel from OpenWrt 21.02.
And the mac80211 version (and its backports/compat code) is not fully
compatible with the official one.
At least import the newest version from openwrt-routing openwrt-21.02 and
change to build against the special kernel and mac80211 version.
The used commit from openwrt-routing is 5d09821ed7c4 ("batman-adv: Always
send iface index+name in genlmsg")
Signed-off-by: Sven Eckelmann <sven@narfation.org>