batman-adv: enable DAT by default at compile time
[linux-2.6-microblaze.git] / net / batman-adv / Kconfig
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         default n
28         help
29           B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
30           a routing protocol for multi-hop ad-hoc mesh networks. The
31           networks may be wired or wireless. See
32           https://www.open-mesh.org/ for more information and user space
33           tools.
34
35 config BATMAN_ADV_BATMAN_V
36         bool "B.A.T.M.A.N. V protocol"
37         depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
38         default y
39         help
40           This option enables the B.A.T.M.A.N. V protocol, the successor
41           of the currently used B.A.T.M.A.N. IV protocol. The main
42           changes include splitting of the OGM protocol into a neighbor
43           discovery protocol (Echo Location Protocol, ELP) and a new OGM
44           Protocol OGMv2 for flooding protocol information through the
45           network, as well as a throughput based metric.
46           B.A.T.M.A.N. V is currently considered experimental and not
47           compatible to B.A.T.M.A.N. IV networks.
48
49 config BATMAN_ADV_BLA
50         bool "Bridge Loop Avoidance"
51         depends on BATMAN_ADV && INET
52         default y
53         help
54           This option enables BLA (Bridge Loop Avoidance), a mechanism
55           to avoid Ethernet frames looping when mesh nodes are connected
56           to both the same LAN and the same mesh. If you will never use
57           more than one mesh node in the same LAN, you can safely remove
58           this feature and save some space.
59
60 config BATMAN_ADV_DAT
61         bool "Distributed ARP Table"
62         depends on BATMAN_ADV && INET
63         default y
64         help
65           This option enables DAT (Distributed ARP Table), a DHT based
66           mechanism that increases ARP reliability on sparse wireless
67           mesh networks. If you think that your network does not need
68           this option you can safely remove it and save some space.
69
70 config BATMAN_ADV_NC
71         bool "Network Coding"
72         depends on BATMAN_ADV
73         default n
74         help
75           This option enables network coding, a mechanism that aims to
76           increase the overall network throughput by fusing multiple
77           packets in one transmission.
78           Note that interfaces controlled by batman-adv must be manually
79           configured to have promiscuous mode enabled in order to make
80           network coding work.
81           If you think that your network does not need this feature you
82           can safely disable it and save some space.
83
84 config BATMAN_ADV_MCAST
85         bool "Multicast optimisation"
86         depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
87         default n
88         help
89           This option enables the multicast optimisation which aims to
90           reduce the air overhead while improving the reliability of
91           multicast messages.
92
93 config BATMAN_ADV_DEBUGFS
94         bool "batman-adv debugfs entries"
95         depends on BATMAN_ADV
96         depends on DEBUG_FS
97         default n
98         help
99           Enable this to export routing related debug tables via debugfs.
100           The information for each soft-interface and used hard-interface can be
101           found under batman_adv/
102
103           If unsure, say N.
104
105 config BATMAN_ADV_DEBUG
106         bool "B.A.T.M.A.N. debugging"
107         depends on BATMAN_ADV_DEBUGFS
108         help
109           This is an option for use by developers; most people should
110           say N here. This enables compilation of support for
111           outputting debugging information to the kernel log. The
112           output is controlled via the module parameter debug.