1# SPDX-License-Identifier: GPL-2.0 2# Copyright (C) 2007-2020 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 depends on NET 13 select LIBCRC32C 14 help 15 B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 16 a routing protocol for multi-hop ad-hoc mesh networks. The 17 networks may be wired or wireless. See 18 https://www.open-mesh.org/ for more information and user space 19 tools. 20 21config BATMAN_ADV_BATMAN_V 22 bool "B.A.T.M.A.N. V protocol" 23 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 24 default y 25 help 26 This option enables the B.A.T.M.A.N. V protocol, the successor 27 of the currently used B.A.T.M.A.N. IV protocol. The main 28 changes include splitting of the OGM protocol into a neighbor 29 discovery protocol (Echo Location Protocol, ELP) and a new OGM 30 Protocol OGMv2 for flooding protocol information through the 31 network, as well as a throughput based metric. 32 B.A.T.M.A.N. V is currently considered experimental and not 33 compatible to B.A.T.M.A.N. IV networks. 34 35config BATMAN_ADV_BLA 36 bool "Bridge Loop Avoidance" 37 depends on BATMAN_ADV && INET 38 select CRC16 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_NC 58 bool "Network Coding" 59 depends on BATMAN_ADV 60 help 61 This option enables network coding, a mechanism that aims to 62 increase the overall network throughput by fusing multiple 63 packets in one transmission. 64 Note that interfaces controlled by batman-adv must be manually 65 configured to have promiscuous mode enabled in order to make 66 network coding work. 67 If you think that your network does not need this feature you 68 can safely disable it and save some space. 69 70config BATMAN_ADV_MCAST 71 bool "Multicast optimisation" 72 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 73 default y 74 help 75 This option enables the multicast optimisation which aims to 76 reduce the air overhead while improving the reliability of 77 multicast messages. 78 79config BATMAN_ADV_DEBUG 80 bool "B.A.T.M.A.N. debugging" 81 depends on BATMAN_ADV 82 help 83 This is an option for use by developers; most people should 84 say N here. This enables compilation of support for 85 outputting debugging information to the tracing buffer. The output is 86 controlled via the batadv netdev specific log_level setting. 87 88config BATMAN_ADV_TRACING 89 bool "B.A.T.M.A.N. tracing support" 90 depends on BATMAN_ADV 91 depends on EVENT_TRACING 92 help 93 This is an option for use by developers; most people should 94 say N here. Select this option to gather traces like the debug 95 messages using the generic tracing infrastructure of the kernel. 96 BATMAN_ADV_DEBUG must also be selected to get trace events for 97 batadv_dbg. 98