Merge tag 'char-misc-5.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[linux-2.6-microblaze.git] / net / batman-adv / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 # Copyright (C) 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
10 config BATMAN_ADV
11         tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
12         select LIBCRC32C
13         help
14           B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
15           a routing protocol for multi-hop ad-hoc mesh networks. The
16           networks may be wired or wireless. See
17           https://www.open-mesh.org/ for more information and user space
18           tools.
19
20 config BATMAN_ADV_BATMAN_V
21         bool "B.A.T.M.A.N. V protocol"
22         depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
23         default y
24         help
25           This option enables the B.A.T.M.A.N. V protocol, the successor
26           of the currently used B.A.T.M.A.N. IV protocol. The main
27           changes include splitting of the OGM protocol into a neighbor
28           discovery protocol (Echo Location Protocol, ELP) and a new OGM
29           Protocol OGMv2 for flooding protocol information through the
30           network, as well as a throughput based metric.
31           B.A.T.M.A.N. V is currently considered experimental and not
32           compatible to B.A.T.M.A.N. IV networks.
33
34 config BATMAN_ADV_BLA
35         bool "Bridge Loop Avoidance"
36         depends on BATMAN_ADV && INET
37         select CRC16
38         default y
39         help
40           This option enables BLA (Bridge Loop Avoidance), a mechanism
41           to avoid Ethernet frames looping when mesh nodes are connected
42           to both the same LAN and the same mesh. If you will never use
43           more than one mesh node in the same LAN, you can safely remove
44           this feature and save some space.
45
46 config BATMAN_ADV_DAT
47         bool "Distributed ARP Table"
48         depends on BATMAN_ADV && INET
49         default y
50         help
51           This option enables DAT (Distributed ARP Table), a DHT based
52           mechanism that increases ARP reliability on sparse wireless
53           mesh networks. If you think that your network does not need
54           this option you can safely remove it and save some space.
55
56 config BATMAN_ADV_NC
57         bool "Network Coding"
58         depends on BATMAN_ADV
59         help
60           This option enables network coding, a mechanism that aims to
61           increase the overall network throughput by fusing multiple
62           packets in one transmission.
63           Note that interfaces controlled by batman-adv must be manually
64           configured to have promiscuous mode enabled in order to make
65           network coding work.
66           If you think that your network does not need this feature you
67           can safely disable it and save some space.
68
69 config BATMAN_ADV_MCAST
70         bool "Multicast optimisation"
71         depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
72         default y
73         help
74           This option enables the multicast optimisation which aims to
75           reduce the air overhead while improving the reliability of
76           multicast messages.
77
78 config BATMAN_ADV_DEBUG
79         bool "B.A.T.M.A.N. debugging"
80         depends on BATMAN_ADV
81         help
82           This is an option for use by developers; most people should
83           say N here. This enables compilation of support for
84           outputting debugging information to the tracing buffer. The output is
85           controlled via the batadv netdev specific log_level setting.
86
87 config BATMAN_ADV_TRACING
88         bool "B.A.T.M.A.N. tracing support"
89         depends on BATMAN_ADV
90         depends on EVENT_TRACING
91         help
92           This is an option for use by developers; most people should
93           say N here. Select this option to gather traces like the debug
94           messages using the generic tracing infrastructure of the kernel.
95           BATMAN_ADV_DEBUG must also be selected to get trace events for
96           batadv_dbg.