162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# Copyright (C) B.A.T.M.A.N. contributors: 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# Marek Lindner, Simon Wunderlich 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci# 762306a36Sopenharmony_ci# B.A.T.M.A.N meshing protocol 862306a36Sopenharmony_ci# 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciconfig BATMAN_ADV 1162306a36Sopenharmony_ci tristate "B.A.T.M.A.N. Advanced Meshing Protocol" 1262306a36Sopenharmony_ci select LIBCRC32C 1362306a36Sopenharmony_ci help 1462306a36Sopenharmony_ci B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 1562306a36Sopenharmony_ci a routing protocol for multi-hop ad-hoc mesh networks. The 1662306a36Sopenharmony_ci networks may be wired or wireless. See 1762306a36Sopenharmony_ci https://www.open-mesh.org/ for more information and user space 1862306a36Sopenharmony_ci tools. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciconfig BATMAN_ADV_BATMAN_V 2162306a36Sopenharmony_ci bool "B.A.T.M.A.N. V protocol" 2262306a36Sopenharmony_ci depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 2362306a36Sopenharmony_ci default y 2462306a36Sopenharmony_ci help 2562306a36Sopenharmony_ci This option enables the B.A.T.M.A.N. V protocol, the successor 2662306a36Sopenharmony_ci of the currently used B.A.T.M.A.N. IV protocol. The main 2762306a36Sopenharmony_ci changes include splitting of the OGM protocol into a neighbor 2862306a36Sopenharmony_ci discovery protocol (Echo Location Protocol, ELP) and a new OGM 2962306a36Sopenharmony_ci Protocol OGMv2 for flooding protocol information through the 3062306a36Sopenharmony_ci network, as well as a throughput based metric. 3162306a36Sopenharmony_ci B.A.T.M.A.N. V is currently considered experimental and not 3262306a36Sopenharmony_ci compatible to B.A.T.M.A.N. IV networks. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciconfig BATMAN_ADV_BLA 3562306a36Sopenharmony_ci bool "Bridge Loop Avoidance" 3662306a36Sopenharmony_ci depends on BATMAN_ADV && INET 3762306a36Sopenharmony_ci select CRC16 3862306a36Sopenharmony_ci default y 3962306a36Sopenharmony_ci help 4062306a36Sopenharmony_ci This option enables BLA (Bridge Loop Avoidance), a mechanism 4162306a36Sopenharmony_ci to avoid Ethernet frames looping when mesh nodes are connected 4262306a36Sopenharmony_ci to both the same LAN and the same mesh. If you will never use 4362306a36Sopenharmony_ci more than one mesh node in the same LAN, you can safely remove 4462306a36Sopenharmony_ci this feature and save some space. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciconfig BATMAN_ADV_DAT 4762306a36Sopenharmony_ci bool "Distributed ARP Table" 4862306a36Sopenharmony_ci depends on BATMAN_ADV && INET 4962306a36Sopenharmony_ci default y 5062306a36Sopenharmony_ci help 5162306a36Sopenharmony_ci This option enables DAT (Distributed ARP Table), a DHT based 5262306a36Sopenharmony_ci mechanism that increases ARP reliability on sparse wireless 5362306a36Sopenharmony_ci mesh networks. If you think that your network does not need 5462306a36Sopenharmony_ci this option you can safely remove it and save some space. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciconfig BATMAN_ADV_NC 5762306a36Sopenharmony_ci bool "Network Coding" 5862306a36Sopenharmony_ci depends on BATMAN_ADV 5962306a36Sopenharmony_ci help 6062306a36Sopenharmony_ci This option enables network coding, a mechanism that aims to 6162306a36Sopenharmony_ci increase the overall network throughput by fusing multiple 6262306a36Sopenharmony_ci packets in one transmission. 6362306a36Sopenharmony_ci Note that interfaces controlled by batman-adv must be manually 6462306a36Sopenharmony_ci configured to have promiscuous mode enabled in order to make 6562306a36Sopenharmony_ci network coding work. 6662306a36Sopenharmony_ci If you think that your network does not need this feature you 6762306a36Sopenharmony_ci can safely disable it and save some space. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ciconfig BATMAN_ADV_MCAST 7062306a36Sopenharmony_ci bool "Multicast optimisation" 7162306a36Sopenharmony_ci depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 7262306a36Sopenharmony_ci default y 7362306a36Sopenharmony_ci help 7462306a36Sopenharmony_ci This option enables the multicast optimisation which aims to 7562306a36Sopenharmony_ci reduce the air overhead while improving the reliability of 7662306a36Sopenharmony_ci multicast messages. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciconfig BATMAN_ADV_DEBUG 7962306a36Sopenharmony_ci bool "B.A.T.M.A.N. debugging" 8062306a36Sopenharmony_ci depends on BATMAN_ADV 8162306a36Sopenharmony_ci help 8262306a36Sopenharmony_ci This is an option for use by developers; most people should 8362306a36Sopenharmony_ci say N here. This enables compilation of support for 8462306a36Sopenharmony_ci outputting debugging information to the tracing buffer. The output is 8562306a36Sopenharmony_ci controlled via the batadv netdev specific log_level setting. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciconfig BATMAN_ADV_TRACING 8862306a36Sopenharmony_ci bool "B.A.T.M.A.N. tracing support" 8962306a36Sopenharmony_ci depends on BATMAN_ADV 9062306a36Sopenharmony_ci depends on EVENT_TRACING 9162306a36Sopenharmony_ci help 9262306a36Sopenharmony_ci This is an option for use by developers; most people should 9362306a36Sopenharmony_ci say N here. Select this option to gather traces like the debug 9462306a36Sopenharmony_ci messages using the generic tracing infrastructure of the kernel. 9562306a36Sopenharmony_ci BATMAN_ADV_DEBUG must also be selected to get trace events for 9662306a36Sopenharmony_ci batadv_dbg. 97