]>
Commit | Line | Data |
---|---|---|
2b4a8990 MK |
1 | /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ |
2 | /* | |
3 | * include/uapi/linux/ethtool_netlink.h - netlink interface for ethtool | |
4 | * | |
72ef5e52 | 5 | * See Documentation/networking/ethtool-netlink.rst in kernel source tree for |
2b4a8990 MK |
6 | * doucumentation of the interface. |
7 | */ | |
8 | ||
9 | #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_ | |
10 | #define _UAPI_LINUX_ETHTOOL_NETLINK_H_ | |
11 | ||
12 | #include <linux/ethtool.h> | |
13 | ||
14 | /* message types - userspace to kernel */ | |
15 | enum { | |
16 | ETHTOOL_MSG_USER_NONE, | |
71921690 | 17 | ETHTOOL_MSG_STRSET_GET, |
459e0b81 | 18 | ETHTOOL_MSG_LINKINFO_GET, |
a53f3d41 | 19 | ETHTOOL_MSG_LINKINFO_SET, |
f625aa9b | 20 | ETHTOOL_MSG_LINKMODES_GET, |
bfbcfe20 | 21 | ETHTOOL_MSG_LINKMODES_SET, |
3d2b847f | 22 | ETHTOOL_MSG_LINKSTATE_GET, |
6a94b8cc | 23 | ETHTOOL_MSG_DEBUG_GET, |
e54d04e3 | 24 | ETHTOOL_MSG_DEBUG_SET, |
51ea22b0 | 25 | ETHTOOL_MSG_WOL_GET, |
8d425b19 | 26 | ETHTOOL_MSG_WOL_SET, |
0524399d | 27 | ETHTOOL_MSG_FEATURES_GET, |
0980bfcd | 28 | ETHTOOL_MSG_FEATURES_SET, |
e16c3386 | 29 | ETHTOOL_MSG_PRIVFLAGS_GET, |
f265d799 | 30 | ETHTOOL_MSG_PRIVFLAGS_SET, |
e4a1717b | 31 | ETHTOOL_MSG_RINGS_GET, |
2fc2929e | 32 | ETHTOOL_MSG_RINGS_SET, |
0c84979c | 33 | ETHTOOL_MSG_CHANNELS_GET, |
e19c591e | 34 | ETHTOOL_MSG_CHANNELS_SET, |
21727545 | 35 | ETHTOOL_MSG_COALESCE_GET, |
9881418c | 36 | ETHTOOL_MSG_COALESCE_SET, |
7f59fb32 | 37 | ETHTOOL_MSG_PAUSE_GET, |
3ab87993 | 38 | ETHTOOL_MSG_PAUSE_SET, |
b7eeefe7 | 39 | ETHTOOL_MSG_EEE_GET, |
fd77be7b | 40 | ETHTOOL_MSG_EEE_SET, |
5b071c59 | 41 | ETHTOOL_MSG_TSINFO_GET, |
11ca3c42 | 42 | ETHTOOL_MSG_CABLE_TEST_ACT, |
a331172b | 43 | ETHTOOL_MSG_CABLE_TEST_TDR_ACT, |
c7d759eb | 44 | ETHTOOL_MSG_TUNNEL_INFO_GET, |
2b4a8990 MK |
45 | |
46 | /* add new constants above here */ | |
47 | __ETHTOOL_MSG_USER_CNT, | |
48 | ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1 | |
49 | }; | |
50 | ||
51 | /* message types - kernel to userspace */ | |
52 | enum { | |
53 | ETHTOOL_MSG_KERNEL_NONE, | |
71921690 | 54 | ETHTOOL_MSG_STRSET_GET_REPLY, |
459e0b81 | 55 | ETHTOOL_MSG_LINKINFO_GET_REPLY, |
73286734 | 56 | ETHTOOL_MSG_LINKINFO_NTF, |
f625aa9b | 57 | ETHTOOL_MSG_LINKMODES_GET_REPLY, |
1b1b1847 | 58 | ETHTOOL_MSG_LINKMODES_NTF, |
3d2b847f | 59 | ETHTOOL_MSG_LINKSTATE_GET_REPLY, |
6a94b8cc | 60 | ETHTOOL_MSG_DEBUG_GET_REPLY, |
0bda7af3 | 61 | ETHTOOL_MSG_DEBUG_NTF, |
51ea22b0 | 62 | ETHTOOL_MSG_WOL_GET_REPLY, |
67bffa79 | 63 | ETHTOOL_MSG_WOL_NTF, |
0524399d | 64 | ETHTOOL_MSG_FEATURES_GET_REPLY, |
0980bfcd | 65 | ETHTOOL_MSG_FEATURES_SET_REPLY, |
9c6451ef | 66 | ETHTOOL_MSG_FEATURES_NTF, |
e16c3386 | 67 | ETHTOOL_MSG_PRIVFLAGS_GET_REPLY, |
111dcba3 | 68 | ETHTOOL_MSG_PRIVFLAGS_NTF, |
e4a1717b | 69 | ETHTOOL_MSG_RINGS_GET_REPLY, |
bc9d1c99 | 70 | ETHTOOL_MSG_RINGS_NTF, |
0c84979c | 71 | ETHTOOL_MSG_CHANNELS_GET_REPLY, |
546379b9 | 72 | ETHTOOL_MSG_CHANNELS_NTF, |
21727545 | 73 | ETHTOOL_MSG_COALESCE_GET_REPLY, |
0cf3eac8 | 74 | ETHTOOL_MSG_COALESCE_NTF, |
7f59fb32 | 75 | ETHTOOL_MSG_PAUSE_GET_REPLY, |
bf37faa3 | 76 | ETHTOOL_MSG_PAUSE_NTF, |
b7eeefe7 | 77 | ETHTOOL_MSG_EEE_GET_REPLY, |
6c5bc8fe | 78 | ETHTOOL_MSG_EEE_NTF, |
5b071c59 | 79 | ETHTOOL_MSG_TSINFO_GET_REPLY, |
b28efb93 | 80 | ETHTOOL_MSG_CABLE_TEST_NTF, |
a331172b | 81 | ETHTOOL_MSG_CABLE_TEST_TDR_NTF, |
19a83d36 | 82 | ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY, |
2b4a8990 MK |
83 | |
84 | /* add new constants above here */ | |
85 | __ETHTOOL_MSG_KERNEL_CNT, | |
86 | ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1 | |
87 | }; | |
88 | ||
041b1c5d MK |
89 | /* request header */ |
90 | ||
91 | /* use compact bitsets in reply */ | |
92 | #define ETHTOOL_FLAG_COMPACT_BITSETS (1 << 0) | |
93 | /* provide optional reply for SET or ACT requests */ | |
94 | #define ETHTOOL_FLAG_OMIT_REPLY (1 << 1) | |
9a27a330 JK |
95 | /* request statistics, if supported by the driver */ |
96 | #define ETHTOOL_FLAG_STATS (1 << 2) | |
041b1c5d MK |
97 | |
98 | #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \ | |
9a27a330 JK |
99 | ETHTOOL_FLAG_OMIT_REPLY | \ |
100 | ETHTOOL_FLAG_STATS) | |
041b1c5d MK |
101 | |
102 | enum { | |
103 | ETHTOOL_A_HEADER_UNSPEC, | |
104 | ETHTOOL_A_HEADER_DEV_INDEX, /* u32 */ | |
105 | ETHTOOL_A_HEADER_DEV_NAME, /* string */ | |
106 | ETHTOOL_A_HEADER_FLAGS, /* u32 - ETHTOOL_FLAG_* */ | |
107 | ||
108 | /* add new constants above here */ | |
109 | __ETHTOOL_A_HEADER_CNT, | |
110 | ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1 | |
111 | }; | |
112 | ||
10b518d4 MK |
113 | /* bit sets */ |
114 | ||
115 | enum { | |
116 | ETHTOOL_A_BITSET_BIT_UNSPEC, | |
117 | ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */ | |
118 | ETHTOOL_A_BITSET_BIT_NAME, /* string */ | |
119 | ETHTOOL_A_BITSET_BIT_VALUE, /* flag */ | |
120 | ||
121 | /* add new constants above here */ | |
122 | __ETHTOOL_A_BITSET_BIT_CNT, | |
123 | ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1 | |
124 | }; | |
125 | ||
126 | enum { | |
127 | ETHTOOL_A_BITSET_BITS_UNSPEC, | |
128 | ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */ | |
129 | ||
130 | /* add new constants above here */ | |
131 | __ETHTOOL_A_BITSET_BITS_CNT, | |
132 | ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1 | |
133 | }; | |
134 | ||
135 | enum { | |
136 | ETHTOOL_A_BITSET_UNSPEC, | |
137 | ETHTOOL_A_BITSET_NOMASK, /* flag */ | |
138 | ETHTOOL_A_BITSET_SIZE, /* u32 */ | |
139 | ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */ | |
140 | ETHTOOL_A_BITSET_VALUE, /* binary */ | |
141 | ETHTOOL_A_BITSET_MASK, /* binary */ | |
142 | ||
143 | /* add new constants above here */ | |
144 | __ETHTOOL_A_BITSET_CNT, | |
145 | ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1 | |
146 | }; | |
147 | ||
71921690 MK |
148 | /* string sets */ |
149 | ||
150 | enum { | |
151 | ETHTOOL_A_STRING_UNSPEC, | |
152 | ETHTOOL_A_STRING_INDEX, /* u32 */ | |
153 | ETHTOOL_A_STRING_VALUE, /* string */ | |
154 | ||
155 | /* add new constants above here */ | |
156 | __ETHTOOL_A_STRING_CNT, | |
157 | ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1 | |
158 | }; | |
159 | ||
160 | enum { | |
161 | ETHTOOL_A_STRINGS_UNSPEC, | |
162 | ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */ | |
163 | ||
164 | /* add new constants above here */ | |
165 | __ETHTOOL_A_STRINGS_CNT, | |
166 | ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1 | |
167 | }; | |
168 | ||
169 | enum { | |
170 | ETHTOOL_A_STRINGSET_UNSPEC, | |
171 | ETHTOOL_A_STRINGSET_ID, /* u32 */ | |
172 | ETHTOOL_A_STRINGSET_COUNT, /* u32 */ | |
173 | ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */ | |
174 | ||
175 | /* add new constants above here */ | |
176 | __ETHTOOL_A_STRINGSET_CNT, | |
177 | ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1 | |
178 | }; | |
179 | ||
180 | enum { | |
181 | ETHTOOL_A_STRINGSETS_UNSPEC, | |
182 | ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */ | |
183 | ||
184 | /* add new constants above here */ | |
185 | __ETHTOOL_A_STRINGSETS_CNT, | |
186 | ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1 | |
187 | }; | |
188 | ||
189 | /* STRSET */ | |
190 | ||
191 | enum { | |
192 | ETHTOOL_A_STRSET_UNSPEC, | |
193 | ETHTOOL_A_STRSET_HEADER, /* nest - _A_HEADER_* */ | |
194 | ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */ | |
195 | ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */ | |
196 | ||
197 | /* add new constants above here */ | |
198 | __ETHTOOL_A_STRSET_CNT, | |
199 | ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1 | |
200 | }; | |
201 | ||
459e0b81 MK |
202 | /* LINKINFO */ |
203 | ||
204 | enum { | |
205 | ETHTOOL_A_LINKINFO_UNSPEC, | |
206 | ETHTOOL_A_LINKINFO_HEADER, /* nest - _A_HEADER_* */ | |
207 | ETHTOOL_A_LINKINFO_PORT, /* u8 */ | |
208 | ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */ | |
209 | ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */ | |
210 | ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */ | |
211 | ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */ | |
212 | ||
213 | /* add new constants above here */ | |
214 | __ETHTOOL_A_LINKINFO_CNT, | |
215 | ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1 | |
216 | }; | |
217 | ||
f625aa9b MK |
218 | /* LINKMODES */ |
219 | ||
220 | enum { | |
221 | ETHTOOL_A_LINKMODES_UNSPEC, | |
222 | ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */ | |
223 | ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */ | |
224 | ETHTOOL_A_LINKMODES_OURS, /* bitset */ | |
225 | ETHTOOL_A_LINKMODES_PEER, /* bitset */ | |
226 | ETHTOOL_A_LINKMODES_SPEED, /* u32 */ | |
227 | ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */ | |
bdbdac76 OR |
228 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */ |
229 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */ | |
012ce4dd | 230 | ETHTOOL_A_LINKMODES_LANES, /* u32 */ |
f625aa9b MK |
231 | |
232 | /* add new constants above here */ | |
233 | __ETHTOOL_A_LINKMODES_CNT, | |
234 | ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 | |
235 | }; | |
236 | ||
3d2b847f MK |
237 | /* LINKSTATE */ |
238 | ||
239 | enum { | |
240 | ETHTOOL_A_LINKSTATE_UNSPEC, | |
241 | ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */ | |
242 | ETHTOOL_A_LINKSTATE_LINK, /* u8 */ | |
80660219 OR |
243 | ETHTOOL_A_LINKSTATE_SQI, /* u32 */ |
244 | ETHTOOL_A_LINKSTATE_SQI_MAX, /* u32 */ | |
ecc31c60 AC |
245 | ETHTOOL_A_LINKSTATE_EXT_STATE, /* u8 */ |
246 | ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, /* u8 */ | |
3d2b847f MK |
247 | |
248 | /* add new constants above here */ | |
249 | __ETHTOOL_A_LINKSTATE_CNT, | |
250 | ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1 | |
251 | }; | |
252 | ||
6a94b8cc MK |
253 | /* DEBUG */ |
254 | ||
255 | enum { | |
256 | ETHTOOL_A_DEBUG_UNSPEC, | |
257 | ETHTOOL_A_DEBUG_HEADER, /* nest - _A_HEADER_* */ | |
258 | ETHTOOL_A_DEBUG_MSGMASK, /* bitset */ | |
259 | ||
260 | /* add new constants above here */ | |
261 | __ETHTOOL_A_DEBUG_CNT, | |
262 | ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1 | |
263 | }; | |
264 | ||
51ea22b0 MK |
265 | /* WOL */ |
266 | ||
267 | enum { | |
268 | ETHTOOL_A_WOL_UNSPEC, | |
269 | ETHTOOL_A_WOL_HEADER, /* nest - _A_HEADER_* */ | |
270 | ETHTOOL_A_WOL_MODES, /* bitset */ | |
271 | ETHTOOL_A_WOL_SOPASS, /* binary */ | |
272 | ||
273 | /* add new constants above here */ | |
274 | __ETHTOOL_A_WOL_CNT, | |
275 | ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1 | |
276 | }; | |
277 | ||
0524399d MK |
278 | /* FEATURES */ |
279 | ||
280 | enum { | |
281 | ETHTOOL_A_FEATURES_UNSPEC, | |
282 | ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */ | |
283 | ETHTOOL_A_FEATURES_HW, /* bitset */ | |
284 | ETHTOOL_A_FEATURES_WANTED, /* bitset */ | |
285 | ETHTOOL_A_FEATURES_ACTIVE, /* bitset */ | |
286 | ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */ | |
287 | ||
288 | /* add new constants above here */ | |
289 | __ETHTOOL_A_FEATURES_CNT, | |
290 | ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1 | |
291 | }; | |
292 | ||
e16c3386 MK |
293 | /* PRIVFLAGS */ |
294 | ||
295 | enum { | |
296 | ETHTOOL_A_PRIVFLAGS_UNSPEC, | |
297 | ETHTOOL_A_PRIVFLAGS_HEADER, /* nest - _A_HEADER_* */ | |
298 | ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */ | |
299 | ||
300 | /* add new constants above here */ | |
301 | __ETHTOOL_A_PRIVFLAGS_CNT, | |
302 | ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1 | |
303 | }; | |
304 | ||
e4a1717b MK |
305 | /* RINGS */ |
306 | ||
307 | enum { | |
308 | ETHTOOL_A_RINGS_UNSPEC, | |
309 | ETHTOOL_A_RINGS_HEADER, /* nest - _A_HEADER_* */ | |
310 | ETHTOOL_A_RINGS_RX_MAX, /* u32 */ | |
311 | ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */ | |
312 | ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */ | |
313 | ETHTOOL_A_RINGS_TX_MAX, /* u32 */ | |
314 | ETHTOOL_A_RINGS_RX, /* u32 */ | |
315 | ETHTOOL_A_RINGS_RX_MINI, /* u32 */ | |
316 | ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */ | |
317 | ETHTOOL_A_RINGS_TX, /* u32 */ | |
318 | ||
319 | /* add new constants above here */ | |
320 | __ETHTOOL_A_RINGS_CNT, | |
321 | ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1) | |
322 | }; | |
323 | ||
0c84979c MK |
324 | /* CHANNELS */ |
325 | ||
326 | enum { | |
327 | ETHTOOL_A_CHANNELS_UNSPEC, | |
328 | ETHTOOL_A_CHANNELS_HEADER, /* nest - _A_HEADER_* */ | |
329 | ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */ | |
330 | ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */ | |
331 | ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */ | |
332 | ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */ | |
333 | ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */ | |
334 | ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */ | |
335 | ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */ | |
336 | ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */ | |
337 | ||
338 | /* add new constants above here */ | |
339 | __ETHTOOL_A_CHANNELS_CNT, | |
340 | ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1) | |
341 | }; | |
342 | ||
21727545 MK |
343 | /* COALESCE */ |
344 | ||
345 | enum { | |
346 | ETHTOOL_A_COALESCE_UNSPEC, | |
347 | ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */ | |
348 | ETHTOOL_A_COALESCE_RX_USECS, /* u32 */ | |
349 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */ | |
350 | ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */ | |
351 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */ | |
352 | ETHTOOL_A_COALESCE_TX_USECS, /* u32 */ | |
353 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */ | |
354 | ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */ | |
355 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */ | |
356 | ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */ | |
357 | ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */ | |
358 | ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */ | |
359 | ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */ | |
360 | ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */ | |
361 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */ | |
362 | ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */ | |
363 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */ | |
364 | ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */ | |
365 | ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */ | |
366 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */ | |
367 | ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */ | |
368 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */ | |
369 | ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */ | |
370 | ||
371 | /* add new constants above here */ | |
372 | __ETHTOOL_A_COALESCE_CNT, | |
373 | ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1) | |
374 | }; | |
375 | ||
7f59fb32 MK |
376 | /* PAUSE */ |
377 | ||
378 | enum { | |
379 | ETHTOOL_A_PAUSE_UNSPEC, | |
380 | ETHTOOL_A_PAUSE_HEADER, /* nest - _A_HEADER_* */ | |
381 | ETHTOOL_A_PAUSE_AUTONEG, /* u8 */ | |
382 | ETHTOOL_A_PAUSE_RX, /* u8 */ | |
383 | ETHTOOL_A_PAUSE_TX, /* u8 */ | |
9a27a330 | 384 | ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */ |
7f59fb32 MK |
385 | |
386 | /* add new constants above here */ | |
387 | __ETHTOOL_A_PAUSE_CNT, | |
388 | ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1) | |
389 | }; | |
390 | ||
9a27a330 JK |
391 | enum { |
392 | ETHTOOL_A_PAUSE_STAT_UNSPEC, | |
393 | ETHTOOL_A_PAUSE_STAT_PAD, | |
394 | ||
395 | ETHTOOL_A_PAUSE_STAT_TX_FRAMES, | |
396 | ETHTOOL_A_PAUSE_STAT_RX_FRAMES, | |
397 | ||
398 | /* add new constants above here */ | |
399 | __ETHTOOL_A_PAUSE_STAT_CNT, | |
400 | ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1) | |
401 | }; | |
402 | ||
b7eeefe7 MK |
403 | /* EEE */ |
404 | ||
405 | enum { | |
406 | ETHTOOL_A_EEE_UNSPEC, | |
407 | ETHTOOL_A_EEE_HEADER, /* nest - _A_HEADER_* */ | |
408 | ETHTOOL_A_EEE_MODES_OURS, /* bitset */ | |
409 | ETHTOOL_A_EEE_MODES_PEER, /* bitset */ | |
410 | ETHTOOL_A_EEE_ACTIVE, /* u8 */ | |
411 | ETHTOOL_A_EEE_ENABLED, /* u8 */ | |
412 | ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */ | |
413 | ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */ | |
414 | ||
415 | /* add new constants above here */ | |
416 | __ETHTOOL_A_EEE_CNT, | |
417 | ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1) | |
418 | }; | |
419 | ||
5b071c59 MK |
420 | /* TSINFO */ |
421 | ||
422 | enum { | |
423 | ETHTOOL_A_TSINFO_UNSPEC, | |
424 | ETHTOOL_A_TSINFO_HEADER, /* nest - _A_HEADER_* */ | |
425 | ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */ | |
426 | ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */ | |
427 | ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */ | |
428 | ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */ | |
429 | ||
430 | /* add new constants above here */ | |
431 | __ETHTOOL_A_TSINFO_CNT, | |
432 | ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1) | |
433 | }; | |
434 | ||
11ca3c42 AL |
435 | /* CABLE TEST */ |
436 | ||
437 | enum { | |
438 | ETHTOOL_A_CABLE_TEST_UNSPEC, | |
439 | ETHTOOL_A_CABLE_TEST_HEADER, /* nest - _A_HEADER_* */ | |
440 | ||
441 | /* add new constants above here */ | |
442 | __ETHTOOL_A_CABLE_TEST_CNT, | |
443 | ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1 | |
444 | }; | |
445 | ||
b28efb93 AL |
446 | /* CABLE TEST NOTIFY */ |
447 | enum { | |
448 | ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC, | |
449 | ETHTOOL_A_CABLE_RESULT_CODE_OK, | |
450 | ETHTOOL_A_CABLE_RESULT_CODE_OPEN, | |
451 | ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT, | |
452 | ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT, | |
453 | }; | |
454 | ||
455 | enum { | |
456 | ETHTOOL_A_CABLE_PAIR_A, | |
457 | ETHTOOL_A_CABLE_PAIR_B, | |
458 | ETHTOOL_A_CABLE_PAIR_C, | |
459 | ETHTOOL_A_CABLE_PAIR_D, | |
460 | }; | |
461 | ||
462 | enum { | |
463 | ETHTOOL_A_CABLE_RESULT_UNSPEC, | |
464 | ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */ | |
465 | ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */ | |
466 | ||
467 | __ETHTOOL_A_CABLE_RESULT_CNT, | |
468 | ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1) | |
469 | }; | |
470 | ||
471 | enum { | |
472 | ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC, | |
473 | ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */ | |
474 | ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */ | |
475 | ||
476 | __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT, | |
477 | ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1) | |
478 | }; | |
479 | ||
480 | enum { | |
481 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC, | |
482 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED, | |
483 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED | |
484 | }; | |
485 | ||
486 | enum { | |
487 | ETHTOOL_A_CABLE_NEST_UNSPEC, | |
488 | ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */ | |
489 | ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */ | |
490 | __ETHTOOL_A_CABLE_NEST_CNT, | |
491 | ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1) | |
492 | }; | |
493 | ||
494 | enum { | |
495 | ETHTOOL_A_CABLE_TEST_NTF_UNSPEC, | |
496 | ETHTOOL_A_CABLE_TEST_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */ | |
497 | ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */ | |
498 | ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */ | |
499 | ||
500 | __ETHTOOL_A_CABLE_TEST_NTF_CNT, | |
501 | ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1) | |
502 | }; | |
503 | ||
a331172b AL |
504 | /* CABLE TEST TDR */ |
505 | ||
f2bc8ad3 AL |
506 | enum { |
507 | ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC, | |
508 | ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */ | |
509 | ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */ | |
510 | ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */ | |
511 | ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */ | |
512 | ||
513 | /* add new constants above here */ | |
514 | __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT, | |
515 | ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1 | |
516 | }; | |
517 | ||
a331172b AL |
518 | enum { |
519 | ETHTOOL_A_CABLE_TEST_TDR_UNSPEC, | |
520 | ETHTOOL_A_CABLE_TEST_TDR_HEADER, /* nest - _A_HEADER_* */ | |
f2bc8ad3 | 521 | ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */ |
a331172b AL |
522 | |
523 | /* add new constants above here */ | |
524 | __ETHTOOL_A_CABLE_TEST_TDR_CNT, | |
525 | ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1 | |
526 | }; | |
527 | ||
528 | /* CABLE TEST TDR NOTIFY */ | |
529 | ||
530 | enum { | |
531 | ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC, | |
532 | ETHTOOL_A_CABLE_AMPLITUDE_PAIR, /* u8 */ | |
533 | ETHTOOL_A_CABLE_AMPLITUDE_mV, /* s16 */ | |
534 | ||
535 | __ETHTOOL_A_CABLE_AMPLITUDE_CNT, | |
536 | ETHTOOL_A_CABLE_AMPLITUDE_MAX = (__ETHTOOL_A_CABLE_AMPLITUDE_CNT - 1) | |
537 | }; | |
538 | ||
539 | enum { | |
540 | ETHTOOL_A_CABLE_PULSE_UNSPEC, | |
541 | ETHTOOL_A_CABLE_PULSE_mV, /* s16 */ | |
542 | ||
543 | __ETHTOOL_A_CABLE_PULSE_CNT, | |
544 | ETHTOOL_A_CABLE_PULSE_MAX = (__ETHTOOL_A_CABLE_PULSE_CNT - 1) | |
545 | }; | |
546 | ||
547 | enum { | |
548 | ETHTOOL_A_CABLE_STEP_UNSPEC, | |
549 | ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE, /* u32 */ | |
550 | ETHTOOL_A_CABLE_STEP_LAST_DISTANCE, /* u32 */ | |
551 | ETHTOOL_A_CABLE_STEP_STEP_DISTANCE, /* u32 */ | |
552 | ||
553 | __ETHTOOL_A_CABLE_STEP_CNT, | |
554 | ETHTOOL_A_CABLE_STEP_MAX = (__ETHTOOL_A_CABLE_STEP_CNT - 1) | |
555 | }; | |
556 | ||
557 | enum { | |
558 | ETHTOOL_A_CABLE_TDR_NEST_UNSPEC, | |
559 | ETHTOOL_A_CABLE_TDR_NEST_STEP, /* nest - ETHTTOOL_A_CABLE_STEP */ | |
560 | ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE, /* nest - ETHTOOL_A_CABLE_AMPLITUDE */ | |
561 | ETHTOOL_A_CABLE_TDR_NEST_PULSE, /* nest - ETHTOOL_A_CABLE_PULSE */ | |
562 | ||
563 | __ETHTOOL_A_CABLE_TDR_NEST_CNT, | |
564 | ETHTOOL_A_CABLE_TDR_NEST_MAX = (__ETHTOOL_A_CABLE_TDR_NEST_CNT - 1) | |
565 | }; | |
566 | ||
567 | enum { | |
568 | ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC, | |
569 | ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER, /* nest - ETHTOOL_A_HEADER_* */ | |
570 | ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */ | |
571 | ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */ | |
572 | ||
573 | /* add new constants above here */ | |
574 | __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT, | |
575 | ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1 | |
576 | }; | |
577 | ||
c7d759eb JK |
578 | /* TUNNEL INFO */ |
579 | ||
580 | enum { | |
581 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN, | |
582 | ETHTOOL_UDP_TUNNEL_TYPE_GENEVE, | |
583 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE, | |
584 | ||
585 | __ETHTOOL_UDP_TUNNEL_TYPE_CNT | |
586 | }; | |
587 | ||
588 | enum { | |
589 | ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC, | |
590 | ||
591 | ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, /* be16 */ | |
592 | ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE, /* u32 */ | |
593 | ||
594 | /* add new constants above here */ | |
595 | __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT, | |
596 | ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = (__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT - 1) | |
597 | }; | |
598 | ||
599 | enum { | |
600 | ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC, | |
601 | ||
602 | ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE, /* u32 */ | |
603 | ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES, /* bitset */ | |
604 | ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY, /* nest - _UDP_ENTRY_* */ | |
605 | ||
606 | /* add new constants above here */ | |
607 | __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT, | |
608 | ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = (__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT - 1) | |
609 | }; | |
610 | ||
611 | enum { | |
612 | ETHTOOL_A_TUNNEL_UDP_UNSPEC, | |
613 | ||
614 | ETHTOOL_A_TUNNEL_UDP_TABLE, /* nest - _UDP_TABLE_* */ | |
615 | ||
616 | /* add new constants above here */ | |
617 | __ETHTOOL_A_TUNNEL_UDP_CNT, | |
618 | ETHTOOL_A_TUNNEL_UDP_MAX = (__ETHTOOL_A_TUNNEL_UDP_CNT - 1) | |
619 | }; | |
620 | ||
621 | enum { | |
622 | ETHTOOL_A_TUNNEL_INFO_UNSPEC, | |
623 | ETHTOOL_A_TUNNEL_INFO_HEADER, /* nest - _A_HEADER_* */ | |
624 | ||
625 | ETHTOOL_A_TUNNEL_INFO_UDP_PORTS, /* nest - _UDP_TABLE */ | |
626 | ||
627 | /* add new constants above here */ | |
628 | __ETHTOOL_A_TUNNEL_INFO_CNT, | |
629 | ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1) | |
630 | }; | |
631 | ||
2b4a8990 MK |
632 | /* generic netlink info */ |
633 | #define ETHTOOL_GENL_NAME "ethtool" | |
634 | #define ETHTOOL_GENL_VERSION 1 | |
635 | ||
6b08d6c1 MK |
636 | #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" |
637 | ||
2b4a8990 | 638 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */ |