blob: 9f48dacef5cd5e9a8fa39d55a89f0135791924bd [file] [log] [blame]
Christopher Ferris49f525c2016-12-12 14:55:36 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_BATMAN_ADV_H_
20#define _UAPI_LINUX_BATMAN_ADV_H_
21#define BATADV_NL_NAME "batadv"
Christopher Ferris24f97eb2019-05-20 12:58:13 -070022#define BATADV_NL_MCAST_GROUP_CONFIG "config"
Christopher Ferris49f525c2016-12-12 14:55:36 -080023#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
Christopher Ferris6a9755d2017-01-13 14:09:31 -080024enum batadv_tt_client_flags {
25 BATADV_TT_CLIENT_DEL = (1 << 0),
26 BATADV_TT_CLIENT_ROAM = (1 << 1),
27 BATADV_TT_CLIENT_WIFI = (1 << 4),
Christopher Ferris6a9755d2017-01-13 14:09:31 -080028 BATADV_TT_CLIENT_ISOLA = (1 << 5),
29 BATADV_TT_CLIENT_NOPURGE = (1 << 8),
30 BATADV_TT_CLIENT_NEW = (1 << 9),
31 BATADV_TT_CLIENT_PENDING = (1 << 10),
Christopher Ferris6a9755d2017-01-13 14:09:31 -080032 BATADV_TT_CLIENT_TEMP = (1 << 11),
33};
Christopher Ferris76a1d452018-06-27 14:12:29 -070034enum batadv_mcast_flags_priv {
35 BATADV_MCAST_FLAGS_BRIDGED = (1 << 0),
36 BATADV_MCAST_FLAGS_QUERIER_IPV4_EXISTS = (1 << 1),
37 BATADV_MCAST_FLAGS_QUERIER_IPV6_EXISTS = (1 << 2),
38 BATADV_MCAST_FLAGS_QUERIER_IPV4_SHADOWING = (1 << 3),
39 BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING = (1 << 4),
40};
Christopher Ferris24f97eb2019-05-20 12:58:13 -070041enum batadv_gw_modes {
42 BATADV_GW_MODE_OFF,
43 BATADV_GW_MODE_CLIENT,
44 BATADV_GW_MODE_SERVER,
45};
Christopher Ferris49f525c2016-12-12 14:55:36 -080046enum batadv_nl_attrs {
47 BATADV_ATTR_UNSPEC,
48 BATADV_ATTR_VERSION,
49 BATADV_ATTR_ALGO_NAME,
Christopher Ferris49f525c2016-12-12 14:55:36 -080050 BATADV_ATTR_MESH_IFINDEX,
51 BATADV_ATTR_MESH_IFNAME,
52 BATADV_ATTR_MESH_ADDRESS,
53 BATADV_ATTR_HARD_IFINDEX,
Christopher Ferris49f525c2016-12-12 14:55:36 -080054 BATADV_ATTR_HARD_IFNAME,
55 BATADV_ATTR_HARD_ADDRESS,
56 BATADV_ATTR_ORIG_ADDRESS,
57 BATADV_ATTR_TPMETER_RESULT,
Christopher Ferris49f525c2016-12-12 14:55:36 -080058 BATADV_ATTR_TPMETER_TEST_TIME,
59 BATADV_ATTR_TPMETER_BYTES,
60 BATADV_ATTR_TPMETER_COOKIE,
61 BATADV_ATTR_PAD,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080062 BATADV_ATTR_ACTIVE,
63 BATADV_ATTR_TT_ADDRESS,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080064 BATADV_ATTR_TT_TTVN,
65 BATADV_ATTR_TT_LAST_TTVN,
66 BATADV_ATTR_TT_CRC32,
67 BATADV_ATTR_TT_VID,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080068 BATADV_ATTR_TT_FLAGS,
69 BATADV_ATTR_FLAG_BEST,
70 BATADV_ATTR_LAST_SEEN_MSECS,
71 BATADV_ATTR_NEIGH_ADDRESS,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080072 BATADV_ATTR_TQ,
73 BATADV_ATTR_THROUGHPUT,
74 BATADV_ATTR_BANDWIDTH_UP,
75 BATADV_ATTR_BANDWIDTH_DOWN,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080076 BATADV_ATTR_ROUTER,
77 BATADV_ATTR_BLA_OWN,
78 BATADV_ATTR_BLA_ADDRESS,
79 BATADV_ATTR_BLA_VID,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080080 BATADV_ATTR_BLA_BACKBONE,
81 BATADV_ATTR_BLA_CRC,
Christopher Ferris76a1d452018-06-27 14:12:29 -070082 BATADV_ATTR_DAT_CACHE_IP4ADDRESS,
83 BATADV_ATTR_DAT_CACHE_HWADDRESS,
84 BATADV_ATTR_DAT_CACHE_VID,
85 BATADV_ATTR_MCAST_FLAGS,
86 BATADV_ATTR_MCAST_FLAGS_PRIV,
Christopher Ferris24f97eb2019-05-20 12:58:13 -070087 BATADV_ATTR_VLANID,
88 BATADV_ATTR_AGGREGATED_OGMS_ENABLED,
89 BATADV_ATTR_AP_ISOLATION_ENABLED,
90 BATADV_ATTR_ISOLATION_MARK,
91 BATADV_ATTR_ISOLATION_MASK,
92 BATADV_ATTR_BONDING_ENABLED,
93 BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED,
94 BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED,
95 BATADV_ATTR_FRAGMENTATION_ENABLED,
96 BATADV_ATTR_GW_BANDWIDTH_DOWN,
97 BATADV_ATTR_GW_BANDWIDTH_UP,
98 BATADV_ATTR_GW_MODE,
99 BATADV_ATTR_GW_SEL_CLASS,
100 BATADV_ATTR_HOP_PENALTY,
101 BATADV_ATTR_LOG_LEVEL,
102 BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED,
103 BATADV_ATTR_NETWORK_CODING_ENABLED,
104 BATADV_ATTR_ORIG_INTERVAL,
105 BATADV_ATTR_ELP_INTERVAL,
106 BATADV_ATTR_THROUGHPUT_OVERRIDE,
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -0700107 BATADV_ATTR_MULTICAST_FANOUT,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800108 __BATADV_ATTR_AFTER_LAST,
109 NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
110 BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
111};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800112enum batadv_nl_commands {
113 BATADV_CMD_UNSPEC,
Christopher Ferris24f97eb2019-05-20 12:58:13 -0700114 BATADV_CMD_GET_MESH,
115 BATADV_CMD_GET_MESH_INFO = BATADV_CMD_GET_MESH,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800116 BATADV_CMD_TP_METER,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800117 BATADV_CMD_TP_METER_CANCEL,
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800118 BATADV_CMD_GET_ROUTING_ALGOS,
Christopher Ferris24f97eb2019-05-20 12:58:13 -0700119 BATADV_CMD_GET_HARDIF,
120 BATADV_CMD_GET_HARDIFS = BATADV_CMD_GET_HARDIF,
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800121 BATADV_CMD_GET_TRANSTABLE_LOCAL,
122 BATADV_CMD_GET_TRANSTABLE_GLOBAL,
123 BATADV_CMD_GET_ORIGINATORS,
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800124 BATADV_CMD_GET_NEIGHBORS,
125 BATADV_CMD_GET_GATEWAYS,
126 BATADV_CMD_GET_BLA_CLAIM,
127 BATADV_CMD_GET_BLA_BACKBONE,
Christopher Ferris76a1d452018-06-27 14:12:29 -0700128 BATADV_CMD_GET_DAT_CACHE,
129 BATADV_CMD_GET_MCAST_FLAGS,
Christopher Ferris24f97eb2019-05-20 12:58:13 -0700130 BATADV_CMD_SET_MESH,
131 BATADV_CMD_SET_HARDIF,
132 BATADV_CMD_GET_VLAN,
133 BATADV_CMD_SET_VLAN,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800134 __BATADV_CMD_AFTER_LAST,
135 BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
136};
Christopher Ferris49f525c2016-12-12 14:55:36 -0800137enum batadv_tp_meter_reason {
138 BATADV_TP_REASON_COMPLETE = 3,
139 BATADV_TP_REASON_CANCEL = 4,
140 BATADV_TP_REASON_DST_UNREACHABLE = 128,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800141 BATADV_TP_REASON_RESEND_LIMIT = 129,
142 BATADV_TP_REASON_ALREADY_ONGOING = 130,
143 BATADV_TP_REASON_MEMORY_ERROR = 131,
144 BATADV_TP_REASON_CANT_SEND = 132,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800145 BATADV_TP_REASON_TOO_MANY = 133,
Christopher Ferris49f525c2016-12-12 14:55:36 -0800146};
Christopher Ferris05667cd2021-02-16 16:01:34 -0800147enum batadv_ifla_attrs {
148 IFLA_BATADV_UNSPEC,
149 IFLA_BATADV_ALGO_NAME,
150 __IFLA_BATADV_MAX,
151};
152#define IFLA_BATADV_MAX (__IFLA_BATADV_MAX - 1)
Christopher Ferris49f525c2016-12-12 14:55:36 -0800153#endif