Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: MIT */
2/* Copyright (C) 2016-2019 B.A.T.M.A.N. contributors:
3 *
4 * Matthias Schiffer
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in
14 * all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25#ifndef _UAPI_LINUX_BATMAN_ADV_H_
26#define _UAPI_LINUX_BATMAN_ADV_H_
27
28#define BATADV_NL_NAME "batadv"
29
30#define BATADV_NL_MCAST_GROUP_CONFIG "config"
31#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
32
33/**
34 * enum batadv_tt_client_flags - TT client specific flags
35 *
36 * Bits from 0 to 7 are called _remote flags_ because they are sent on the wire.
37 * Bits from 8 to 15 are called _local flags_ because they are used for local
38 * computations only.
39 *
40 * Bits from 4 to 7 - a subset of remote flags - are ensured to be in sync with
41 * the other nodes in the network. To achieve this goal these flags are included
42 * in the TT CRC computation.
43 */
44enum batadv_tt_client_flags {
45 /**
46 * @BATADV_TT_CLIENT_DEL: the client has to be deleted from the table
47 */
48 BATADV_TT_CLIENT_DEL = (1 << 0),
49
50 /**
51 * @BATADV_TT_CLIENT_ROAM: the client roamed to/from another node and
52 * the new update telling its new real location has not been
53 * received/sent yet
54 */
55 BATADV_TT_CLIENT_ROAM = (1 << 1),
56
57 /**
58 * @BATADV_TT_CLIENT_WIFI: this client is connected through a wifi
59 * interface. This information is used by the "AP Isolation" feature
60 */
61 BATADV_TT_CLIENT_WIFI = (1 << 4),
62
63 /**
64 * @BATADV_TT_CLIENT_ISOLA: this client is considered "isolated". This
65 * information is used by the Extended Isolation feature
66 */
67 BATADV_TT_CLIENT_ISOLA = (1 << 5),
68
69 /**
70 * @BATADV_TT_CLIENT_NOPURGE: this client should never be removed from
71 * the table
72 */
73 BATADV_TT_CLIENT_NOPURGE = (1 << 8),
74
75 /**
76 * @BATADV_TT_CLIENT_NEW: this client has been added to the local table
77 * but has not been announced yet
78 */
79 BATADV_TT_CLIENT_NEW = (1 << 9),
80
81 /**
82 * @BATADV_TT_CLIENT_PENDING: this client is marked for removal but it
83 * is kept in the table for one more originator interval for consistency
84 * purposes
85 */
86 BATADV_TT_CLIENT_PENDING = (1 << 10),
87
88 /**
89 * @BATADV_TT_CLIENT_TEMP: this global client has been detected to be
90 * part of the network but no nnode has already announced it
91 */
92 BATADV_TT_CLIENT_TEMP = (1 << 11),
93};
94
95/**
96 * enum batadv_mcast_flags_priv - Private, own multicast flags
97 *
98 * These are internal, multicast related flags. Currently they describe certain
99 * multicast related attributes of the segment this originator bridges into the
100 * mesh.
101 *
102 * Those attributes are used to determine the public multicast flags this
103 * originator is going to announce via TT.
104 *
105 * For netlink, if BATADV_MCAST_FLAGS_BRIDGED is unset then all querier
106 * related flags are undefined.
107 */
108enum batadv_mcast_flags_priv {
109 /**
110 * @BATADV_MCAST_FLAGS_BRIDGED: There is a bridge on top of the mesh
111 * interface.
112 */
113 BATADV_MCAST_FLAGS_BRIDGED = (1 << 0),
114
115 /**
116 * @BATADV_MCAST_FLAGS_QUERIER_IPV4_EXISTS: Whether an IGMP querier
117 * exists in the mesh
118 */
119 BATADV_MCAST_FLAGS_QUERIER_IPV4_EXISTS = (1 << 1),
120
121 /**
122 * @BATADV_MCAST_FLAGS_QUERIER_IPV6_EXISTS: Whether an MLD querier
123 * exists in the mesh
124 */
125 BATADV_MCAST_FLAGS_QUERIER_IPV6_EXISTS = (1 << 2),
126
127 /**
128 * @BATADV_MCAST_FLAGS_QUERIER_IPV4_SHADOWING: If an IGMP querier
129 * exists, whether it is potentially shadowing multicast listeners
130 * (i.e. querier is behind our own bridge segment)
131 */
132 BATADV_MCAST_FLAGS_QUERIER_IPV4_SHADOWING = (1 << 3),
133
134 /**
135 * @BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING: If an MLD querier
136 * exists, whether it is potentially shadowing multicast listeners
137 * (i.e. querier is behind our own bridge segment)
138 */
139 BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING = (1 << 4),
140};
141
142/**
143 * enum batadv_gw_modes - gateway mode of node
144 */
145enum batadv_gw_modes {
146 /** @BATADV_GW_MODE_OFF: gw mode disabled */
147 BATADV_GW_MODE_OFF,
148
149 /** @BATADV_GW_MODE_CLIENT: send DHCP requests to gw servers */
150 BATADV_GW_MODE_CLIENT,
151
152 /** @BATADV_GW_MODE_SERVER: announce itself as gatway server */
153 BATADV_GW_MODE_SERVER,
154};
155
156/**
157 * enum batadv_nl_attrs - batman-adv netlink attributes
158 */
159enum batadv_nl_attrs {
160 /**
161 * @BATADV_ATTR_UNSPEC: unspecified attribute to catch errors
162 */
163 BATADV_ATTR_UNSPEC,
164
165 /**
166 * @BATADV_ATTR_VERSION: batman-adv version string
167 */
168 BATADV_ATTR_VERSION,
169
170 /**
171 * @BATADV_ATTR_ALGO_NAME: name of routing algorithm
172 */
173 BATADV_ATTR_ALGO_NAME,
174
175 /**
176 * @BATADV_ATTR_MESH_IFINDEX: index of the batman-adv interface
177 */
178 BATADV_ATTR_MESH_IFINDEX,
179
180 /**
181 * @BATADV_ATTR_MESH_IFNAME: name of the batman-adv interface
182 */
183 BATADV_ATTR_MESH_IFNAME,
184
185 /**
186 * @BATADV_ATTR_MESH_ADDRESS: mac address of the batman-adv interface
187 */
188 BATADV_ATTR_MESH_ADDRESS,
189
190 /**
191 * @BATADV_ATTR_HARD_IFINDEX: index of the non-batman-adv interface
192 */
193 BATADV_ATTR_HARD_IFINDEX,
194
195 /**
196 * @BATADV_ATTR_HARD_IFNAME: name of the non-batman-adv interface
197 */
198 BATADV_ATTR_HARD_IFNAME,
199
200 /**
201 * @BATADV_ATTR_HARD_ADDRESS: mac address of the non-batman-adv
202 * interface
203 */
204 BATADV_ATTR_HARD_ADDRESS,
205
206 /**
207 * @BATADV_ATTR_ORIG_ADDRESS: originator mac address
208 */
209 BATADV_ATTR_ORIG_ADDRESS,
210
211 /**
212 * @BATADV_ATTR_TPMETER_RESULT: result of run (see
213 * batadv_tp_meter_status)
214 */
215 BATADV_ATTR_TPMETER_RESULT,
216
217 /**
218 * @BATADV_ATTR_TPMETER_TEST_TIME: time (msec) the run took
219 */
220 BATADV_ATTR_TPMETER_TEST_TIME,
221
222 /**
223 * @BATADV_ATTR_TPMETER_BYTES: amount of acked bytes during run
224 */
225 BATADV_ATTR_TPMETER_BYTES,
226
227 /**
228 * @BATADV_ATTR_TPMETER_COOKIE: session cookie to match tp_meter session
229 */
230 BATADV_ATTR_TPMETER_COOKIE,
231
232 /**
233 * @BATADV_ATTR_PAD: attribute used for padding for 64-bit alignment
234 */
235 BATADV_ATTR_PAD,
236
237 /**
238 * @BATADV_ATTR_ACTIVE: Flag indicating if the hard interface is active
239 */
240 BATADV_ATTR_ACTIVE,
241
242 /**
243 * @BATADV_ATTR_TT_ADDRESS: Client MAC address
244 */
245 BATADV_ATTR_TT_ADDRESS,
246
247 /**
248 * @BATADV_ATTR_TT_TTVN: Translation table version
249 */
250 BATADV_ATTR_TT_TTVN,
251
252 /**
253 * @BATADV_ATTR_TT_LAST_TTVN: Previous translation table version
254 */
255 BATADV_ATTR_TT_LAST_TTVN,
256
257 /**
258 * @BATADV_ATTR_TT_CRC32: CRC32 over translation table
259 */
260 BATADV_ATTR_TT_CRC32,
261
262 /**
263 * @BATADV_ATTR_TT_VID: VLAN ID
264 */
265 BATADV_ATTR_TT_VID,
266
267 /**
268 * @BATADV_ATTR_TT_FLAGS: Translation table client flags
269 */
270 BATADV_ATTR_TT_FLAGS,
271
272 /**
273 * @BATADV_ATTR_FLAG_BEST: Flags indicating entry is the best
274 */
275 BATADV_ATTR_FLAG_BEST,
276
277 /**
278 * @BATADV_ATTR_LAST_SEEN_MSECS: Time in milliseconds since last seen
279 */
280 BATADV_ATTR_LAST_SEEN_MSECS,
281
282 /**
283 * @BATADV_ATTR_NEIGH_ADDRESS: Neighbour MAC address
284 */
285 BATADV_ATTR_NEIGH_ADDRESS,
286
287 /**
288 * @BATADV_ATTR_TQ: TQ to neighbour
289 */
290 BATADV_ATTR_TQ,
291
292 /**
293 * @BATADV_ATTR_THROUGHPUT: Estimated throughput to Neighbour
294 */
295 BATADV_ATTR_THROUGHPUT,
296
297 /**
298 * @BATADV_ATTR_BANDWIDTH_UP: Reported uplink bandwidth
299 */
300 BATADV_ATTR_BANDWIDTH_UP,
301
302 /**
303 * @BATADV_ATTR_BANDWIDTH_DOWN: Reported downlink bandwidth
304 */
305 BATADV_ATTR_BANDWIDTH_DOWN,
306
307 /**
308 * @BATADV_ATTR_ROUTER: Gateway router MAC address
309 */
310 BATADV_ATTR_ROUTER,
311
312 /**
313 * @BATADV_ATTR_BLA_OWN: Flag indicating own originator
314 */
315 BATADV_ATTR_BLA_OWN,
316
317 /**
318 * @BATADV_ATTR_BLA_ADDRESS: Bridge loop avoidance claim MAC address
319 */
320 BATADV_ATTR_BLA_ADDRESS,
321
322 /**
323 * @BATADV_ATTR_BLA_VID: BLA VLAN ID
324 */
325 BATADV_ATTR_BLA_VID,
326
327 /**
328 * @BATADV_ATTR_BLA_BACKBONE: BLA gateway originator MAC address
329 */
330 BATADV_ATTR_BLA_BACKBONE,
331
332 /**
333 * @BATADV_ATTR_BLA_CRC: BLA CRC
334 */
335 BATADV_ATTR_BLA_CRC,
336
337 /**
338 * @BATADV_ATTR_DAT_CACHE_IP4ADDRESS: Client IPv4 address
339 */
340 BATADV_ATTR_DAT_CACHE_IP4ADDRESS,
341
342 /**
343 * @BATADV_ATTR_DAT_CACHE_HWADDRESS: Client MAC address
344 */
345 BATADV_ATTR_DAT_CACHE_HWADDRESS,
346
347 /**
348 * @BATADV_ATTR_DAT_CACHE_VID: VLAN ID
349 */
350 BATADV_ATTR_DAT_CACHE_VID,
351
352 /**
353 * @BATADV_ATTR_MCAST_FLAGS: Per originator multicast flags
354 */
355 BATADV_ATTR_MCAST_FLAGS,
356
357 /**
358 * @BATADV_ATTR_MCAST_FLAGS_PRIV: Private, own multicast flags
359 */
360 BATADV_ATTR_MCAST_FLAGS_PRIV,
361
362 /**
363 * @BATADV_ATTR_VLANID: VLAN id on top of soft interface
364 */
365 BATADV_ATTR_VLANID,
366
367 /**
368 * @BATADV_ATTR_AGGREGATED_OGMS_ENABLED: whether the batman protocol
369 * messages of the mesh interface shall be aggregated or not.
370 */
371 BATADV_ATTR_AGGREGATED_OGMS_ENABLED,
372
373 /**
374 * @BATADV_ATTR_AP_ISOLATION_ENABLED: whether the data traffic going
375 * from a wireless client to another wireless client will be silently
376 * dropped.
377 */
378 BATADV_ATTR_AP_ISOLATION_ENABLED,
379
380 /**
381 * @BATADV_ATTR_ISOLATION_MARK: the isolation mark which is used to
382 * classify clients as "isolated" by the Extended Isolation feature.
383 */
384 BATADV_ATTR_ISOLATION_MARK,
385
386 /**
387 * @BATADV_ATTR_ISOLATION_MASK: the isolation (bit)mask which is used to
388 * classify clients as "isolated" by the Extended Isolation feature.
389 */
390 BATADV_ATTR_ISOLATION_MASK,
391
392 /**
393 * @BATADV_ATTR_BONDING_ENABLED: whether the data traffic going through
394 * the mesh will be sent using multiple interfaces at the same time.
395 */
396 BATADV_ATTR_BONDING_ENABLED,
397
398 /**
399 * @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop
400 * avoidance feature is enabled. This feature detects and avoids loops
401 * between the mesh and devices bridged with the soft interface
402 */
403 BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED,
404
405 /**
406 * @BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED: whether the distributed
407 * arp table feature is enabled. This feature uses a distributed hash
408 * table to answer ARP requests without flooding the request through
409 * the whole mesh.
410 */
411 BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED,
412
413 /**
414 * @BATADV_ATTR_FRAGMENTATION_ENABLED: whether the data traffic going
415 * through the mesh will be fragmented or silently discarded if the
416 * packet size exceeds the outgoing interface MTU.
417 */
418 BATADV_ATTR_FRAGMENTATION_ENABLED,
419
420 /**
421 * @BATADV_ATTR_GW_BANDWIDTH_DOWN: defines the download bandwidth which
422 * is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
423 * to 'server'.
424 */
425 BATADV_ATTR_GW_BANDWIDTH_DOWN,
426
427 /**
428 * @BATADV_ATTR_GW_BANDWIDTH_UP: defines the upload bandwidth which
429 * is propagated by this node if %BATADV_ATTR_GW_BANDWIDTH_MODE was set
430 * to 'server'.
431 */
432 BATADV_ATTR_GW_BANDWIDTH_UP,
433
434 /**
435 * @BATADV_ATTR_GW_MODE: defines the state of the gateway features.
436 * Possible values are specified in enum batadv_gw_modes
437 */
438 BATADV_ATTR_GW_MODE,
439
440 /**
441 * @BATADV_ATTR_GW_SEL_CLASS: defines the selection criteria this node
442 * will use to choose a gateway if gw_mode was set to 'client'.
443 */
444 BATADV_ATTR_GW_SEL_CLASS,
445
446 /**
447 * @BATADV_ATTR_HOP_PENALTY: defines the penalty which will be applied
448 * to an originator message's tq-field on every hop.
449 */
450 BATADV_ATTR_HOP_PENALTY,
451
452 /**
453 * @BATADV_ATTR_LOG_LEVEL: bitmask with to define which debug messages
454 * should be send to the debug log/trace ring buffer
455 */
456 BATADV_ATTR_LOG_LEVEL,
457
458 /**
459 * @BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED: whether multicast
460 * optimizations should be replaced by simple broadcast-like flooding
461 * of multicast packets. If set to non-zero then all nodes in the mesh
462 * are going to use classic flooding for any multicast packet with no
463 * optimizations.
464 */
465 BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED,
466
467 /**
468 * @BATADV_ATTR_NETWORK_CODING_ENABLED: whether Network Coding (using
469 * some magic to send fewer wifi packets but still the same content) is
470 * enabled or not.
471 */
472 BATADV_ATTR_NETWORK_CODING_ENABLED,
473
474 /**
475 * @BATADV_ATTR_ORIG_INTERVAL: defines the interval in milliseconds in
476 * which batman sends its protocol messages.
477 */
478 BATADV_ATTR_ORIG_INTERVAL,
479
480 /**
481 * @BATADV_ATTR_ELP_INTERVAL: defines the interval in milliseconds in
482 * which batman emits probing packets for neighbor sensing (ELP).
483 */
484 BATADV_ATTR_ELP_INTERVAL,
485
486 /**
487 * @BATADV_ATTR_THROUGHPUT_OVERRIDE: defines the throughput value to be
488 * used by B.A.T.M.A.N. V when estimating the link throughput using
489 * this interface. If the value is set to 0 then batman-adv will try to
490 * estimate the throughput by itself.
491 */
492 BATADV_ATTR_THROUGHPUT_OVERRIDE,
493
494 /* add attributes above here, update the policy in netlink.c */
495
496 /**
497 * @__BATADV_ATTR_AFTER_LAST: internal use
498 */
499 __BATADV_ATTR_AFTER_LAST,
500
501 /**
502 * @NUM_BATADV_ATTR: total number of batadv_nl_attrs available
503 */
504 NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
505
506 /**
507 * @BATADV_ATTR_MAX: highest attribute number currently defined
508 */
509 BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
510};
511
512/**
513 * enum batadv_nl_commands - supported batman-adv netlink commands
514 */
515enum batadv_nl_commands {
516 /**
517 * @BATADV_CMD_UNSPEC: unspecified command to catch errors
518 */
519 BATADV_CMD_UNSPEC,
520
521 /**
522 * @BATADV_CMD_GET_MESH: Get attributes from softif/mesh
523 */
524 BATADV_CMD_GET_MESH,
525
526 /**
527 * @BATADV_CMD_GET_MESH_INFO: Alias for @BATADV_CMD_GET_MESH
528 */
529 BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH,
530
531 /**
532 * @BATADV_CMD_TP_METER: Start a tp meter session
533 */
534 BATADV_CMD_TP_METER,
535
536 /**
537 * @BATADV_CMD_TP_METER_CANCEL: Cancel a tp meter session
538 */
539 BATADV_CMD_TP_METER_CANCEL,
540
541 /**
542 * @BATADV_CMD_GET_ROUTING_ALGOS: Query the list of routing algorithms.
543 */
544 BATADV_CMD_GET_ROUTING_ALGOS,
545
546 /**
547 * @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the
548 * current softif
549 */
550 BATADV_CMD_GET_HARDIF,
551
552 /**
553 * @BATADV_CMD_GET_HARDIFS: Alias for @BATADV_CMD_GET_HARDIF
554 */
555 BATADV_CMD_GET_HARDIFS = BATADV_CMD_GET_HARDIF,
556
557 /**
558 * @BATADV_CMD_GET_TRANSTABLE_LOCAL: Query list of local translations
559 */
560 BATADV_CMD_GET_TRANSTABLE_LOCAL,
561
562 /**
563 * @BATADV_CMD_GET_TRANSTABLE_GLOBAL: Query list of global translations
564 */
565 BATADV_CMD_GET_TRANSTABLE_GLOBAL,
566
567 /**
568 * @BATADV_CMD_GET_ORIGINATORS: Query list of originators
569 */
570 BATADV_CMD_GET_ORIGINATORS,
571
572 /**
573 * @BATADV_CMD_GET_NEIGHBORS: Query list of neighbours
574 */
575 BATADV_CMD_GET_NEIGHBORS,
576
577 /**
578 * @BATADV_CMD_GET_GATEWAYS: Query list of gateways
579 */
580 BATADV_CMD_GET_GATEWAYS,
581
582 /**
583 * @BATADV_CMD_GET_BLA_CLAIM: Query list of bridge loop avoidance claims
584 */
585 BATADV_CMD_GET_BLA_CLAIM,
586
587 /**
588 * @BATADV_CMD_GET_BLA_BACKBONE: Query list of bridge loop avoidance
589 * backbones
590 */
591 BATADV_CMD_GET_BLA_BACKBONE,
592
593 /**
594 * @BATADV_CMD_GET_DAT_CACHE: Query list of DAT cache entries
595 */
596 BATADV_CMD_GET_DAT_CACHE,
597
598 /**
599 * @BATADV_CMD_GET_MCAST_FLAGS: Query list of multicast flags
600 */
601 BATADV_CMD_GET_MCAST_FLAGS,
602
603 /**
604 * @BATADV_CMD_SET_MESH: Set attributes for softif/mesh
605 */
606 BATADV_CMD_SET_MESH,
607
608 /**
609 * @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the
610 * current softif
611 */
612 BATADV_CMD_SET_HARDIF,
613
614 /**
615 * @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the
616 * current softif
617 */
618 BATADV_CMD_GET_VLAN,
619
620 /**
621 * @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the
622 * current softif
623 */
624 BATADV_CMD_SET_VLAN,
625
626 /* add new commands above here */
627
628 /**
629 * @__BATADV_CMD_AFTER_LAST: internal use
630 */
631 __BATADV_CMD_AFTER_LAST,
632
633 /**
634 * @BATADV_CMD_MAX: highest used command number
635 */
636 BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
637};
638
639/**
640 * enum batadv_tp_meter_reason - reason of a tp meter test run stop
641 */
642enum batadv_tp_meter_reason {
643 /**
644 * @BATADV_TP_REASON_COMPLETE: sender finished tp run
645 */
646 BATADV_TP_REASON_COMPLETE = 3,
647
648 /**
649 * @BATADV_TP_REASON_CANCEL: sender was stopped during run
650 */
651 BATADV_TP_REASON_CANCEL = 4,
652
653 /* error status >= 128 */
654
655 /**
656 * @BATADV_TP_REASON_DST_UNREACHABLE: receiver could not be reached or
657 * didn't answer
658 */
659 BATADV_TP_REASON_DST_UNREACHABLE = 128,
660
661 /**
662 * @BATADV_TP_REASON_RESEND_LIMIT: (unused) sender retry reached limit
663 */
664 BATADV_TP_REASON_RESEND_LIMIT = 129,
665
666 /**
667 * @BATADV_TP_REASON_ALREADY_ONGOING: test to or from the same node
668 * already ongoing
669 */
670 BATADV_TP_REASON_ALREADY_ONGOING = 130,
671
672 /**
673 * @BATADV_TP_REASON_MEMORY_ERROR: test was stopped due to low memory
674 */
675 BATADV_TP_REASON_MEMORY_ERROR = 131,
676
677 /**
678 * @BATADV_TP_REASON_CANT_SEND: failed to send via outgoing interface
679 */
680 BATADV_TP_REASON_CANT_SEND = 132,
681
682 /**
683 * @BATADV_TP_REASON_TOO_MANY: too many ongoing sessions
684 */
685 BATADV_TP_REASON_TOO_MANY = 133,
686};
687
688#endif /* _UAPI_LINUX_BATMAN_ADV_H_ */