blob: de8034d8062358276253e9e7915d05f3a3bee734 [file] [log] [blame]
Sven Eckelmann9969ffa2017-11-19 15:05:13 +01001# SPDX-License-Identifier: GPL-2.0
Sven Eckelmann6b1aea82018-01-01 00:00:00 +01002# Copyright (C) 2007-2018 B.A.T.M.A.N. contributors:
Sven Eckelmann9969ffa2017-11-19 15:05:13 +01003#
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
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000018#
19# B.A.T.M.A.N meshing protocol
20#
21
22config BATMAN_ADV
23 tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
Antonio Quartulli17224472011-11-06 12:23:55 +010024 depends on NET
Antonio Quartullia73105b2011-04-27 14:27:44 +020025 select CRC16
Sven Eckelmann95a066d2012-10-17 21:10:39 +020026 select LIBCRC32C
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000027 default n
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030028 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
Sven Eckelmann7b5e7392015-12-06 16:15:07 +010032 https://www.open-mesh.org/ for more information and user space
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030033 tools.
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000034
Linus Luessingd6f94d92016-01-16 16:40:09 +080035config BATMAN_ADV_BATMAN_V
36 bool "B.A.T.M.A.N. V protocol (experimental)"
Linus Lüssing0566df32016-09-20 15:59:17 +020037 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
Marek Lindner18cfb442018-05-14 06:42:59 +080038 default y
Linus Luessingd6f94d92016-01-16 16:40:09 +080039 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
Simon Wunderlich7a5cc242012-01-22 20:00:27 +010049config BATMAN_ADV_BLA
50 bool "Bridge Loop Avoidance"
Antonio Quartulli17224472011-11-06 12:23:55 +010051 depends on BATMAN_ADV && INET
Simon Wunderlich7a5cc242012-01-22 20:00:27 +010052 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.
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000059
Antonio Quartulli17224472011-11-06 12:23:55 +010060config BATMAN_ADV_DAT
61 bool "Distributed ARP Table"
62 depends on BATMAN_ADV && INET
63 default n
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
Martin Hundebølld353d8d2013-01-25 11:12:38 +010070config 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
Linus Lüssingc5caf4e2014-02-15 17:47:49 +010084config BATMAN_ADV_MCAST
85 bool "Multicast optimisation"
Linus Lüssing687937a2016-05-10 18:41:25 +020086 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
Linus Lüssingc5caf4e2014-02-15 17:47:49 +010087 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
Sven Eckelmanndc1cbd12016-07-16 09:31:20 +020093config BATMAN_ADV_DEBUGFS
94 bool "batman-adv debugfs entries"
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030095 depends on BATMAN_ADV
Markus Pargmann95353952014-11-29 19:07:46 +010096 depends on DEBUG_FS
Sven Eckelmann1ba93212018-03-18 10:34:29 +010097 default n
Sven Eckelmanndc1cbd12016-07-16 09:31:20 +020098 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
Sven Eckelmann1ba93212018-03-18 10:34:29 +0100103 If unsure, say N.
Sven Eckelmanndc1cbd12016-07-16 09:31:20 +0200104
105config BATMAN_ADV_DEBUG
106 bool "B.A.T.M.A.N. debugging"
107 depends on BATMAN_ADV_DEBUGFS
Antonio Quartulli10e3cd62012-03-31 16:10:33 +0300108 help
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +0000109 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.