blob: a3d188dfbe75a4a94d69e5036ee22c306e8b085f [file] [log] [blame]
Sven Eckelmann9969ffa2017-11-19 15:05:13 +01001# SPDX-License-Identifier: GPL-2.0
Sven Eckelmann7a79d712018-12-31 23:59:59 +01002# Copyright (C) 2007-2019 B.A.T.M.A.N. contributors:
Sven Eckelmann9969ffa2017-11-19 15:05:13 +01003#
4# Marek Lindner, Simon Wunderlich
Sven Eckelmann9969ffa2017-11-19 15:05:13 +01005
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +00006#
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"
Antonio Quartulli17224472011-11-06 12:23:55 +010012 depends on NET
Sven Eckelmann95a066d2012-10-17 21:10:39 +020013 select LIBCRC32C
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030014 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
Sven Eckelmann7b5e7392015-12-06 16:15:07 +010018 https://www.open-mesh.org/ for more information and user space
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030019 tools.
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000020
Linus Luessingd6f94d92016-01-16 16:40:09 +080021config BATMAN_ADV_BATMAN_V
Sven Eckelmann951a06e2018-05-26 11:40:32 +020022 bool "B.A.T.M.A.N. V protocol"
Linus Lüssing0566df32016-09-20 15:59:17 +020023 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
Marek Lindner18cfb442018-05-14 06:42:59 +080024 default y
Linus Luessingd6f94d92016-01-16 16:40:09 +080025 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
Simon Wunderlich7a5cc242012-01-22 20:00:27 +010035config BATMAN_ADV_BLA
36 bool "Bridge Loop Avoidance"
Antonio Quartulli17224472011-11-06 12:23:55 +010037 depends on BATMAN_ADV && INET
Sven Eckelmannfb939132018-10-14 17:16:14 +020038 select CRC16
Simon Wunderlich7a5cc242012-01-22 20:00:27 +010039 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.
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000046
Antonio Quartulli17224472011-11-06 12:23:55 +010047config BATMAN_ADV_DAT
48 bool "Distributed ARP Table"
49 depends on BATMAN_ADV && INET
Antonio Quartulliab4e5852018-06-03 18:52:03 +080050 default y
Antonio Quartulli17224472011-11-06 12:23:55 +010051 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
Martin Hundebølld353d8d2013-01-25 11:12:38 +010057config BATMAN_ADV_NC
58 bool "Network Coding"
59 depends on BATMAN_ADV
Martin Hundebølld353d8d2013-01-25 11:12:38 +010060 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
Linus Lüssingc5caf4e2014-02-15 17:47:49 +010070config BATMAN_ADV_MCAST
71 bool "Multicast optimisation"
Linus Lüssing687937a2016-05-10 18:41:25 +020072 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
Linus Lüssing016fd282018-11-06 10:01:50 +010073 default y
Linus Lüssingc5caf4e2014-02-15 17:47:49 +010074 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
Sven Eckelmanndc1cbd12016-07-16 09:31:20 +020079config BATMAN_ADV_DEBUGFS
80 bool "batman-adv debugfs entries"
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030081 depends on BATMAN_ADV
Markus Pargmann95353952014-11-29 19:07:46 +010082 depends on DEBUG_FS
Sven Eckelmanndc1cbd12016-07-16 09:31:20 +020083 help
84 Enable this to export routing related debug tables via debugfs.
85 The information for each soft-interface and used hard-interface can be
86 found under batman_adv/
87
Sven Eckelmann1ba93212018-03-18 10:34:29 +010088 If unsure, say N.
Sven Eckelmanndc1cbd12016-07-16 09:31:20 +020089
90config BATMAN_ADV_DEBUG
91 bool "B.A.T.M.A.N. debugging"
Sven Eckelmann0dacc7fa2018-10-21 11:30:31 +020092 depends on BATMAN_ADV
Antonio Quartulli10e3cd62012-03-31 16:10:33 +030093 help
Sven Eckelmannc6c8fea2010-12-13 11:19:28 +000094 This is an option for use by developers; most people should
95 say N here. This enables compilation of support for
Sven Eckelmann694127c2018-10-21 11:30:32 +020096 outputting debugging information to the debugfs log or tracing
97 buffer. The output is controlled via the batadv netdev specific
98 log_level setting.
Sven Eckelmannd331a732018-08-10 23:36:16 +020099
Sven Eckelmann0fa4c302019-03-03 18:02:57 +0100100config BATMAN_ADV_SYSFS
101 bool "batman-adv sysfs entries"
102 depends on BATMAN_ADV
103 default y
104 help
105 Say Y here if you want to enable batman-adv device configuration and
106 status interface through sysfs attributes. It is replaced by the
107 batadv generic netlink family but still used by various userspace
108 tools and scripts.
109
110 If unsure, say Y.
111
Sven Eckelmannd331a732018-08-10 23:36:16 +0200112config BATMAN_ADV_TRACING
113 bool "B.A.T.M.A.N. tracing support"
114 depends on BATMAN_ADV
115 depends on EVENT_TRACING
116 help
117 This is an option for use by developers; most people should
118 say N here. Select this option to gather traces like the debug
119 messages using the generic tracing infrastructure of the kernel.
120 BATMAN_ADV_DEBUG must also be selected to get trace events for
121 batadv_dbg.