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