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 CRC32 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 select NET_CRC32C 39 default y 40 help 41 This option enables BLA (Bridge Loop Avoidance), a mechanism 42 to avoid Ethernet frames looping when mesh nodes are connected 43 to both the same LAN and the same mesh. If you will never use 44 more than one mesh node in the same LAN, you can safely remove 45 this feature and save some space. 46 47config BATMAN_ADV_DAT 48 bool "Distributed ARP Table" 49 depends on BATMAN_ADV && INET 50 default y 51 help 52 This option enables DAT (Distributed ARP Table), a DHT based 53 mechanism that increases ARP reliability on sparse wireless 54 mesh networks. If you think that your network does not need 55 this option you can safely remove it and save some space. 56 57config BATMAN_ADV_MCAST 58 bool "Multicast optimisation" 59 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 60 default y 61 help 62 This option enables the multicast optimisation which aims to 63 reduce the air overhead while improving the reliability of 64 multicast messages. 65 66config BATMAN_ADV_DEBUG 67 bool "B.A.T.M.A.N. debugging" 68 depends on BATMAN_ADV 69 help 70 This is an option for use by developers; most people should 71 say N here. This enables compilation of support for 72 outputting debugging information to the tracing buffer. The output is 73 controlled via the batadv netdev specific log_level setting. 74 75config BATMAN_ADV_TRACING 76 bool "B.A.T.M.A.N. tracing support" 77 depends on BATMAN_ADV 78 depends on EVENT_TRACING 79 help 80 This is an option for use by developers; most people should 81 say N here. Select this option to gather traces like the debug 82 messages using the generic tracing infrastructure of the kernel. 83 BATMAN_ADV_DEBUG must also be selected to get trace events for 84 batadv_dbg. 85