| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # Copyright (C) 2007-2018 B.A.T.M.A.N. contributors: |
| 3 | # |
| 4 | # Marek Lindner, Simon Wunderlich |
| 5 | # |
| 6 | # This program is free software; you can redistribute it and/or |
| 7 | # modify it under the terms of version 2 of the GNU General Public |
| 8 | # License as published by the Free Software Foundation. |
| 9 | # |
| 10 | # This program is distributed in the hope that it will be useful, but |
| 11 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 13 | # General Public License for more details. |
| 14 | # |
| 15 | # You should have received a copy of the GNU General Public License |
| 16 | # along with this program; if not, see <http://www.gnu.org/licenses/>. |
| 17 | |
| 18 | # |
| 19 | # B.A.T.M.A.N meshing protocol |
| 20 | # |
| 21 | |
| 22 | config BATMAN_ADV |
| 23 | tristate "B.A.T.M.A.N. Advanced Meshing Protocol" |
| 24 | depends on NET |
| 25 | select CRC16 |
| 26 | select LIBCRC32C |
| 27 | help |
| 28 | B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is |
| 29 | a routing protocol for multi-hop ad-hoc mesh networks. The |
| 30 | networks may be wired or wireless. See |
| 31 | https://www.open-mesh.org/ for more information and user space |
| 32 | tools. |
| 33 | |
| 34 | config BATMAN_ADV_BATMAN_V |
| 35 | bool "B.A.T.M.A.N. V protocol" |
| 36 | depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) |
| 37 | default y |
| 38 | help |
| 39 | This option enables the B.A.T.M.A.N. V protocol, the successor |
| 40 | of the currently used B.A.T.M.A.N. IV protocol. The main |
| 41 | changes include splitting of the OGM protocol into a neighbor |
| 42 | discovery protocol (Echo Location Protocol, ELP) and a new OGM |
| 43 | Protocol OGMv2 for flooding protocol information through the |
| 44 | network, as well as a throughput based metric. |
| 45 | B.A.T.M.A.N. V is currently considered experimental and not |
| 46 | compatible to B.A.T.M.A.N. IV networks. |
| 47 | |
| 48 | config BATMAN_ADV_BLA |
| 49 | bool "Bridge Loop Avoidance" |
| 50 | depends on BATMAN_ADV && INET |
| 51 | default y |
| 52 | help |
| 53 | This option enables BLA (Bridge Loop Avoidance), a mechanism |
| 54 | to avoid Ethernet frames looping when mesh nodes are connected |
| 55 | to both the same LAN and the same mesh. If you will never use |
| 56 | more than one mesh node in the same LAN, you can safely remove |
| 57 | this feature and save some space. |
| 58 | |
| 59 | config BATMAN_ADV_DAT |
| 60 | bool "Distributed ARP Table" |
| 61 | depends on BATMAN_ADV && INET |
| 62 | default y |
| 63 | help |
| 64 | This option enables DAT (Distributed ARP Table), a DHT based |
| 65 | mechanism that increases ARP reliability on sparse wireless |
| 66 | mesh networks. If you think that your network does not need |
| 67 | this option you can safely remove it and save some space. |
| 68 | |
| 69 | config BATMAN_ADV_NC |
| 70 | bool "Network Coding" |
| 71 | depends on BATMAN_ADV |
| 72 | help |
| 73 | This option enables network coding, a mechanism that aims to |
| 74 | increase the overall network throughput by fusing multiple |
| 75 | packets in one transmission. |
| 76 | Note that interfaces controlled by batman-adv must be manually |
| 77 | configured to have promiscuous mode enabled in order to make |
| 78 | network coding work. |
| 79 | If you think that your network does not need this feature you |
| 80 | can safely disable it and save some space. |
| 81 | |
| 82 | config BATMAN_ADV_MCAST |
| 83 | bool "Multicast optimisation" |
| 84 | depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) |
| 85 | help |
| 86 | This option enables the multicast optimisation which aims to |
| 87 | reduce the air overhead while improving the reliability of |
| 88 | multicast messages. |
| 89 | |
| 90 | config BATMAN_ADV_DEBUGFS |
| 91 | bool "batman-adv debugfs entries" |
| 92 | depends on BATMAN_ADV |
| 93 | depends on DEBUG_FS |
| 94 | help |
| 95 | Enable this to export routing related debug tables via debugfs. |
| 96 | The information for each soft-interface and used hard-interface can be |
| 97 | found under batman_adv/ |
| 98 | |
| 99 | If unsure, say N. |
| 100 | |
| 101 | config BATMAN_ADV_DEBUG |
| 102 | bool "B.A.T.M.A.N. debugging" |
| 103 | depends on BATMAN_ADV_DEBUGFS |
| 104 | help |
| 105 | This is an option for use by developers; most people should |
| 106 | say N here. This enables compilation of support for |
| 107 | outputting debugging information to the kernel log. The |
| 108 | output is controlled via the module parameter debug. |