1# SPDX-License-Identifier: GPL-2.0 2# Copyright (C) B.A.T.M.A.N. contributors: 3# 4# Marek Lindner, Simon Wunderlich 5 6# 7# B.A.T.M.A.N meshing protocol 8# 9 10config BATMAN_ADV 11 tristate "B.A.T.M.A.N. Advanced Meshing Protocol" 12 select LIBCRC32C 13 help 14 B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 15 a routing protocol for multi-hop ad-hoc mesh networks. The 16 networks may be wired or wireless. See 17 https://www.open-mesh.org/ for more information and user space 18 tools. 19 20config BATMAN_ADV_BATMAN_V 21 bool "B.A.T.M.A.N. V protocol" 22 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 23 default y 24 help 25 This option enables the B.A.T.M.A.N. V protocol, the successor 26 of the currently used B.A.T.M.A.N. IV protocol. The main 27 changes include splitting of the OGM protocol into a neighbor 28 discovery protocol (Echo Location Protocol, ELP) and a new OGM 29 Protocol OGMv2 for flooding protocol information through the 30 network, as well as a throughput based metric. 31 B.A.T.M.A.N. V is currently considered experimental and not 32 compatible to B.A.T.M.A.N. IV networks. 33 34config BATMAN_ADV_BLA 35 bool "Bridge Loop Avoidance" 36 depends on BATMAN_ADV && INET 37 select CRC16 38 default y 39 help 40 This option enables BLA (Bridge Loop Avoidance), a mechanism 41 to avoid Ethernet frames looping when mesh nodes are connected 42 to both the same LAN and the same mesh. If you will never use 43 more than one mesh node in the same LAN, you can safely remove 44 this feature and save some space. 45 46config BATMAN_ADV_DAT 47 bool "Distributed ARP Table" 48 depends on BATMAN_ADV && INET 49 default y 50 help 51 This option enables DAT (Distributed ARP Table), a DHT based 52 mechanism that increases ARP reliability on sparse wireless 53 mesh networks. If you think that your network does not need 54 this option you can safely remove it and save some space. 55 56config BATMAN_ADV_NC 57 bool "Network Coding" 58 depends on BATMAN_ADV 59 help 60 This option enables network coding, a mechanism that aims to 61 increase the overall network throughput by fusing multiple 62 packets in one transmission. 63 Note that interfaces controlled by batman-adv must be manually 64 configured to have promiscuous mode enabled in order to make 65 network coding work. 66 If you think that your network does not need this feature you 67 can safely disable it and save some space. 68 69config BATMAN_ADV_MCAST 70 bool "Multicast optimisation" 71 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 72 default y 73 help 74 This option enables the multicast optimisation which aims to 75 reduce the air overhead while improving the reliability of 76 multicast messages. 77 78config BATMAN_ADV_DEBUG 79 bool "B.A.T.M.A.N. debugging" 80 depends on BATMAN_ADV 81 help 82 This is an option for use by developers; most people should 83 say N here. This enables compilation of support for 84 outputting debugging information to the tracing buffer. The output is 85 controlled via the batadv netdev specific log_level setting. 86 87config BATMAN_ADV_TRACING 88 bool "B.A.T.M.A.N. tracing support" 89 depends on BATMAN_ADV 90 depends on EVENT_TRACING 91 help 92 This is an option for use by developers; most people should 93 say N here. Select this option to gather traces like the debug 94 messages using the generic tracing infrastructure of the kernel. 95 BATMAN_ADV_DEBUG must also be selected to get trace events for 96 batadv_dbg. 97