.. SPDX-License-Identifier: GPL-2.0 ========================== BATMAN-ADV external module ========================== Introduction ============ The batman-adv module is shipped as part of the Linux kernel and as an external module. The external module allows to get new features without upgrading to a newer kernel version and to get batman-adv specific bug fixes for kernels that are not supported anymore. It compiles against and should work with Linux 4.19 - 6.12. Supporting older versions is not planned, but it's probably easy to backport it. If you work on a backport, feel free to contact us. :-) COMPILE ======= To compile against your currently installed kernel, just type:: # make if you want to compile against some other kernel, use:: # make KERNELPATH=/path/to/kernel if you want to install this module:: # sudo make install CONFIGURATION ============= The in-kernel module can be configured through menuconfig. When compiling outside of the kernel tree, it is necessary to configure it using the make options. Each option can be set to y (enabled), n (disabled) or m (build as module). Available options and their possible values are (default marked with an "*") * ``CONFIG_BATMAN_ADV_BATMAN_V=[y*|n]`` (B.A.T.M.A.N. V routing algorithm) * ``CONFIG_BATMAN_ADV_BLA=[y*|n]`` (B.A.T.M.A.N. bridge loop avoidance) * ``CONFIG_BATMAN_ADV_DAT=[y*|n]`` (B.A.T.M.A.N. Distributed ARP Table) * ``CONFIG_BATMAN_ADV_DEBUG=[y|n*]`` (B.A.T.M.A.N. debugging) * ``CONFIG_BATMAN_ADV_MCAST=[y*|n]`` (B.A.T.M.A.N. multicast optimizations) * ``CONFIG_BATMAN_ADV_NC=[y|n*]`` (B.A.T.M.A.N. Network Coding) * ``CONFIG_BATMAN_ADV_TRACING=[y|n*]`` (B.A.T.M.A.N. tracing support) e.g., debugging can be enabled by:: # make CONFIG_BATMAN_ADV_DEBUG=y Keep in mind that all options must also be added to ``make install`` call.