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 | * |
5 | * See Documentation/networking/ethtool-netlink.rst in kernel source tree for |
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, |
17 | ETHTOOL_MSG_STRSET_GET, |
18 | ETHTOOL_MSG_LINKINFO_GET, |
19 | ETHTOOL_MSG_LINKINFO_SET, |
20 | ETHTOOL_MSG_LINKMODES_GET, |
21 | ETHTOOL_MSG_LINKMODES_SET, |
22 | ETHTOOL_MSG_LINKSTATE_GET, |
23 | ETHTOOL_MSG_DEBUG_GET, |
24 | ETHTOOL_MSG_DEBUG_SET, |
25 | ETHTOOL_MSG_WOL_GET, |
26 | ETHTOOL_MSG_WOL_SET, |
27 | ETHTOOL_MSG_FEATURES_GET, |
28 | ETHTOOL_MSG_FEATURES_SET, |
29 | ETHTOOL_MSG_PRIVFLAGS_GET, |
30 | ETHTOOL_MSG_PRIVFLAGS_SET, |
31 | ETHTOOL_MSG_RINGS_GET, |
32 | ETHTOOL_MSG_RINGS_SET, |
33 | ETHTOOL_MSG_CHANNELS_GET, |
34 | ETHTOOL_MSG_CHANNELS_SET, |
35 | ETHTOOL_MSG_COALESCE_GET, |
36 | ETHTOOL_MSG_COALESCE_SET, |
37 | ETHTOOL_MSG_PAUSE_GET, |
38 | ETHTOOL_MSG_PAUSE_SET, |
39 | ETHTOOL_MSG_EEE_GET, |
40 | ETHTOOL_MSG_EEE_SET, |
41 | ETHTOOL_MSG_TSINFO_GET, |
42 | ETHTOOL_MSG_CABLE_TEST_ACT, |
43 | ETHTOOL_MSG_CABLE_TEST_TDR_ACT, |
44 | ETHTOOL_MSG_TUNNEL_INFO_GET, |
45 | ETHTOOL_MSG_FEC_GET, |
46 | ETHTOOL_MSG_FEC_SET, |
47 | ETHTOOL_MSG_MODULE_EEPROM_GET, |
48 | ETHTOOL_MSG_STATS_GET, |
49 | ETHTOOL_MSG_PHC_VCLOCKS_GET, |
50 | ETHTOOL_MSG_MODULE_GET, |
51 | ETHTOOL_MSG_MODULE_SET, |
52 | ETHTOOL_MSG_PSE_GET, |
53 | ETHTOOL_MSG_PSE_SET, |
54 | , |
55 | ETHTOOL_MSG_PLCA_GET_CFG, |
56 | ETHTOOL_MSG_PLCA_SET_CFG, |
57 | ETHTOOL_MSG_PLCA_GET_STATUS, |
58 | ETHTOOL_MSG_MM_GET, |
59 | ETHTOOL_MSG_MM_SET, |
60 | |
61 | /* add new constants above here */ |
62 | __ETHTOOL_MSG_USER_CNT, |
63 | ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1 |
64 | }; |
65 | |
66 | /* message types - kernel to userspace */ |
67 | enum { |
68 | ETHTOOL_MSG_KERNEL_NONE, |
69 | ETHTOOL_MSG_STRSET_GET_REPLY, |
70 | ETHTOOL_MSG_LINKINFO_GET_REPLY, |
71 | ETHTOOL_MSG_LINKINFO_NTF, |
72 | ETHTOOL_MSG_LINKMODES_GET_REPLY, |
73 | ETHTOOL_MSG_LINKMODES_NTF, |
74 | ETHTOOL_MSG_LINKSTATE_GET_REPLY, |
75 | ETHTOOL_MSG_DEBUG_GET_REPLY, |
76 | ETHTOOL_MSG_DEBUG_NTF, |
77 | ETHTOOL_MSG_WOL_GET_REPLY, |
78 | ETHTOOL_MSG_WOL_NTF, |
79 | ETHTOOL_MSG_FEATURES_GET_REPLY, |
80 | ETHTOOL_MSG_FEATURES_SET_REPLY, |
81 | ETHTOOL_MSG_FEATURES_NTF, |
82 | ETHTOOL_MSG_PRIVFLAGS_GET_REPLY, |
83 | ETHTOOL_MSG_PRIVFLAGS_NTF, |
84 | ETHTOOL_MSG_RINGS_GET_REPLY, |
85 | ETHTOOL_MSG_RINGS_NTF, |
86 | ETHTOOL_MSG_CHANNELS_GET_REPLY, |
87 | ETHTOOL_MSG_CHANNELS_NTF, |
88 | ETHTOOL_MSG_COALESCE_GET_REPLY, |
89 | ETHTOOL_MSG_COALESCE_NTF, |
90 | ETHTOOL_MSG_PAUSE_GET_REPLY, |
91 | ETHTOOL_MSG_PAUSE_NTF, |
92 | ETHTOOL_MSG_EEE_GET_REPLY, |
93 | ETHTOOL_MSG_EEE_NTF, |
94 | ETHTOOL_MSG_TSINFO_GET_REPLY, |
95 | ETHTOOL_MSG_CABLE_TEST_NTF, |
96 | ETHTOOL_MSG_CABLE_TEST_TDR_NTF, |
97 | ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY, |
98 | ETHTOOL_MSG_FEC_GET_REPLY, |
99 | ETHTOOL_MSG_FEC_NTF, |
100 | ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY, |
101 | ETHTOOL_MSG_STATS_GET_REPLY, |
102 | ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, |
103 | ETHTOOL_MSG_MODULE_GET_REPLY, |
104 | ETHTOOL_MSG_MODULE_NTF, |
105 | ETHTOOL_MSG_PSE_GET_REPLY, |
106 | , |
107 | ETHTOOL_MSG_PLCA_GET_CFG_REPLY, |
108 | ETHTOOL_MSG_PLCA_GET_STATUS_REPLY, |
109 | ETHTOOL_MSG_PLCA_NTF, |
110 | ETHTOOL_MSG_MM_GET_REPLY, |
111 | ETHTOOL_MSG_MM_NTF, |
112 | |
113 | /* add new constants above here */ |
114 | __ETHTOOL_MSG_KERNEL_CNT, |
115 | ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1 |
116 | }; |
117 | |
118 | /* request header */ |
119 | |
120 | /* use compact bitsets in reply */ |
121 | #define ETHTOOL_FLAG_COMPACT_BITSETS (1 << 0) |
122 | /* provide optional reply for SET or ACT requests */ |
123 | #define ETHTOOL_FLAG_OMIT_REPLY (1 << 1) |
124 | /* request statistics, if supported by the driver */ |
125 | #define ETHTOOL_FLAG_STATS (1 << 2) |
126 | |
127 | #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \ |
128 | ETHTOOL_FLAG_OMIT_REPLY | \ |
129 | ETHTOOL_FLAG_STATS) |
130 | |
131 | enum { |
132 | , |
133 | , /* u32 */ |
134 | , /* string */ |
135 | , /* u32 - ETHTOOL_FLAG_* */ |
136 | |
137 | /* add new constants above here */ |
138 | , |
139 | = __ETHTOOL_A_HEADER_CNT - 1 |
140 | }; |
141 | |
142 | /* bit sets */ |
143 | |
144 | enum { |
145 | ETHTOOL_A_BITSET_BIT_UNSPEC, |
146 | ETHTOOL_A_BITSET_BIT_INDEX, /* u32 */ |
147 | ETHTOOL_A_BITSET_BIT_NAME, /* string */ |
148 | ETHTOOL_A_BITSET_BIT_VALUE, /* flag */ |
149 | |
150 | /* add new constants above here */ |
151 | __ETHTOOL_A_BITSET_BIT_CNT, |
152 | ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1 |
153 | }; |
154 | |
155 | enum { |
156 | ETHTOOL_A_BITSET_BITS_UNSPEC, |
157 | ETHTOOL_A_BITSET_BITS_BIT, /* nest - _A_BITSET_BIT_* */ |
158 | |
159 | /* add new constants above here */ |
160 | __ETHTOOL_A_BITSET_BITS_CNT, |
161 | ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1 |
162 | }; |
163 | |
164 | enum { |
165 | ETHTOOL_A_BITSET_UNSPEC, |
166 | ETHTOOL_A_BITSET_NOMASK, /* flag */ |
167 | ETHTOOL_A_BITSET_SIZE, /* u32 */ |
168 | ETHTOOL_A_BITSET_BITS, /* nest - _A_BITSET_BITS_* */ |
169 | ETHTOOL_A_BITSET_VALUE, /* binary */ |
170 | ETHTOOL_A_BITSET_MASK, /* binary */ |
171 | |
172 | /* add new constants above here */ |
173 | __ETHTOOL_A_BITSET_CNT, |
174 | ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1 |
175 | }; |
176 | |
177 | /* string sets */ |
178 | |
179 | enum { |
180 | ETHTOOL_A_STRING_UNSPEC, |
181 | ETHTOOL_A_STRING_INDEX, /* u32 */ |
182 | ETHTOOL_A_STRING_VALUE, /* string */ |
183 | |
184 | /* add new constants above here */ |
185 | __ETHTOOL_A_STRING_CNT, |
186 | ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1 |
187 | }; |
188 | |
189 | enum { |
190 | ETHTOOL_A_STRINGS_UNSPEC, |
191 | ETHTOOL_A_STRINGS_STRING, /* nest - _A_STRINGS_* */ |
192 | |
193 | /* add new constants above here */ |
194 | __ETHTOOL_A_STRINGS_CNT, |
195 | ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1 |
196 | }; |
197 | |
198 | enum { |
199 | ETHTOOL_A_STRINGSET_UNSPEC, |
200 | ETHTOOL_A_STRINGSET_ID, /* u32 */ |
201 | ETHTOOL_A_STRINGSET_COUNT, /* u32 */ |
202 | ETHTOOL_A_STRINGSET_STRINGS, /* nest - _A_STRINGS_* */ |
203 | |
204 | /* add new constants above here */ |
205 | __ETHTOOL_A_STRINGSET_CNT, |
206 | ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1 |
207 | }; |
208 | |
209 | enum { |
210 | ETHTOOL_A_STRINGSETS_UNSPEC, |
211 | ETHTOOL_A_STRINGSETS_STRINGSET, /* nest - _A_STRINGSET_* */ |
212 | |
213 | /* add new constants above here */ |
214 | __ETHTOOL_A_STRINGSETS_CNT, |
215 | ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1 |
216 | }; |
217 | |
218 | /* STRSET */ |
219 | |
220 | enum { |
221 | ETHTOOL_A_STRSET_UNSPEC, |
222 | , /* nest - _A_HEADER_* */ |
223 | ETHTOOL_A_STRSET_STRINGSETS, /* nest - _A_STRINGSETS_* */ |
224 | ETHTOOL_A_STRSET_COUNTS_ONLY, /* flag */ |
225 | |
226 | /* add new constants above here */ |
227 | __ETHTOOL_A_STRSET_CNT, |
228 | ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1 |
229 | }; |
230 | |
231 | /* LINKINFO */ |
232 | |
233 | enum { |
234 | ETHTOOL_A_LINKINFO_UNSPEC, |
235 | , /* nest - _A_HEADER_* */ |
236 | ETHTOOL_A_LINKINFO_PORT, /* u8 */ |
237 | ETHTOOL_A_LINKINFO_PHYADDR, /* u8 */ |
238 | ETHTOOL_A_LINKINFO_TP_MDIX, /* u8 */ |
239 | ETHTOOL_A_LINKINFO_TP_MDIX_CTRL, /* u8 */ |
240 | ETHTOOL_A_LINKINFO_TRANSCEIVER, /* u8 */ |
241 | |
242 | /* add new constants above here */ |
243 | __ETHTOOL_A_LINKINFO_CNT, |
244 | ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1 |
245 | }; |
246 | |
247 | /* LINKMODES */ |
248 | |
249 | enum { |
250 | ETHTOOL_A_LINKMODES_UNSPEC, |
251 | , /* nest - _A_HEADER_* */ |
252 | ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */ |
253 | ETHTOOL_A_LINKMODES_OURS, /* bitset */ |
254 | ETHTOOL_A_LINKMODES_PEER, /* bitset */ |
255 | ETHTOOL_A_LINKMODES_SPEED, /* u32 */ |
256 | ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */ |
257 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */ |
258 | ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */ |
259 | ETHTOOL_A_LINKMODES_LANES, /* u32 */ |
260 | ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */ |
261 | |
262 | /* add new constants above here */ |
263 | __ETHTOOL_A_LINKMODES_CNT, |
264 | ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 |
265 | }; |
266 | |
267 | /* LINKSTATE */ |
268 | |
269 | enum { |
270 | ETHTOOL_A_LINKSTATE_UNSPEC, |
271 | , /* nest - _A_HEADER_* */ |
272 | ETHTOOL_A_LINKSTATE_LINK, /* u8 */ |
273 | ETHTOOL_A_LINKSTATE_SQI, /* u32 */ |
274 | ETHTOOL_A_LINKSTATE_SQI_MAX, /* u32 */ |
275 | ETHTOOL_A_LINKSTATE_EXT_STATE, /* u8 */ |
276 | ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, /* u8 */ |
277 | ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */ |
278 | |
279 | /* add new constants above here */ |
280 | __ETHTOOL_A_LINKSTATE_CNT, |
281 | ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1 |
282 | }; |
283 | |
284 | /* DEBUG */ |
285 | |
286 | enum { |
287 | ETHTOOL_A_DEBUG_UNSPEC, |
288 | , /* nest - _A_HEADER_* */ |
289 | ETHTOOL_A_DEBUG_MSGMASK, /* bitset */ |
290 | |
291 | /* add new constants above here */ |
292 | __ETHTOOL_A_DEBUG_CNT, |
293 | ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1 |
294 | }; |
295 | |
296 | /* WOL */ |
297 | |
298 | enum { |
299 | ETHTOOL_A_WOL_UNSPEC, |
300 | , /* nest - _A_HEADER_* */ |
301 | ETHTOOL_A_WOL_MODES, /* bitset */ |
302 | ETHTOOL_A_WOL_SOPASS, /* binary */ |
303 | |
304 | /* add new constants above here */ |
305 | __ETHTOOL_A_WOL_CNT, |
306 | ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1 |
307 | }; |
308 | |
309 | /* FEATURES */ |
310 | |
311 | enum { |
312 | ETHTOOL_A_FEATURES_UNSPEC, |
313 | , /* nest - _A_HEADER_* */ |
314 | ETHTOOL_A_FEATURES_HW, /* bitset */ |
315 | ETHTOOL_A_FEATURES_WANTED, /* bitset */ |
316 | ETHTOOL_A_FEATURES_ACTIVE, /* bitset */ |
317 | ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */ |
318 | |
319 | /* add new constants above here */ |
320 | __ETHTOOL_A_FEATURES_CNT, |
321 | ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1 |
322 | }; |
323 | |
324 | /* PRIVFLAGS */ |
325 | |
326 | enum { |
327 | ETHTOOL_A_PRIVFLAGS_UNSPEC, |
328 | , /* nest - _A_HEADER_* */ |
329 | ETHTOOL_A_PRIVFLAGS_FLAGS, /* bitset */ |
330 | |
331 | /* add new constants above here */ |
332 | __ETHTOOL_A_PRIVFLAGS_CNT, |
333 | ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1 |
334 | }; |
335 | |
336 | /* RINGS */ |
337 | |
338 | enum { |
339 | ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0, |
340 | ETHTOOL_TCP_DATA_SPLIT_DISABLED, |
341 | ETHTOOL_TCP_DATA_SPLIT_ENABLED, |
342 | }; |
343 | |
344 | enum { |
345 | ETHTOOL_A_RINGS_UNSPEC, |
346 | , /* nest - _A_HEADER_* */ |
347 | ETHTOOL_A_RINGS_RX_MAX, /* u32 */ |
348 | ETHTOOL_A_RINGS_RX_MINI_MAX, /* u32 */ |
349 | ETHTOOL_A_RINGS_RX_JUMBO_MAX, /* u32 */ |
350 | ETHTOOL_A_RINGS_TX_MAX, /* u32 */ |
351 | ETHTOOL_A_RINGS_RX, /* u32 */ |
352 | ETHTOOL_A_RINGS_RX_MINI, /* u32 */ |
353 | ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */ |
354 | ETHTOOL_A_RINGS_TX, /* u32 */ |
355 | ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */ |
356 | ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */ |
357 | ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */ |
358 | ETHTOOL_A_RINGS_TX_PUSH, /* u8 */ |
359 | ETHTOOL_A_RINGS_RX_PUSH, /* u8 */ |
360 | ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */ |
361 | ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */ |
362 | |
363 | /* add new constants above here */ |
364 | __ETHTOOL_A_RINGS_CNT, |
365 | ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1) |
366 | }; |
367 | |
368 | /* CHANNELS */ |
369 | |
370 | enum { |
371 | ETHTOOL_A_CHANNELS_UNSPEC, |
372 | , /* nest - _A_HEADER_* */ |
373 | ETHTOOL_A_CHANNELS_RX_MAX, /* u32 */ |
374 | ETHTOOL_A_CHANNELS_TX_MAX, /* u32 */ |
375 | ETHTOOL_A_CHANNELS_OTHER_MAX, /* u32 */ |
376 | ETHTOOL_A_CHANNELS_COMBINED_MAX, /* u32 */ |
377 | ETHTOOL_A_CHANNELS_RX_COUNT, /* u32 */ |
378 | ETHTOOL_A_CHANNELS_TX_COUNT, /* u32 */ |
379 | ETHTOOL_A_CHANNELS_OTHER_COUNT, /* u32 */ |
380 | ETHTOOL_A_CHANNELS_COMBINED_COUNT, /* u32 */ |
381 | |
382 | /* add new constants above here */ |
383 | __ETHTOOL_A_CHANNELS_CNT, |
384 | ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1) |
385 | }; |
386 | |
387 | /* COALESCE */ |
388 | |
389 | enum { |
390 | ETHTOOL_A_COALESCE_UNSPEC, |
391 | , /* nest - _A_HEADER_* */ |
392 | ETHTOOL_A_COALESCE_RX_USECS, /* u32 */ |
393 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */ |
394 | ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */ |
395 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */ |
396 | ETHTOOL_A_COALESCE_TX_USECS, /* u32 */ |
397 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */ |
398 | ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */ |
399 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */ |
400 | ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */ |
401 | ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */ |
402 | ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */ |
403 | ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */ |
404 | ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */ |
405 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */ |
406 | ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */ |
407 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */ |
408 | ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */ |
409 | ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */ |
410 | ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */ |
411 | ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */ |
412 | ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */ |
413 | ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */ |
414 | ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */ |
415 | ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */ |
416 | ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES, /* u32 */ |
417 | ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES, /* u32 */ |
418 | ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS, /* u32 */ |
419 | |
420 | /* add new constants above here */ |
421 | __ETHTOOL_A_COALESCE_CNT, |
422 | ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1) |
423 | }; |
424 | |
425 | /* PAUSE */ |
426 | |
427 | enum { |
428 | ETHTOOL_A_PAUSE_UNSPEC, |
429 | , /* nest - _A_HEADER_* */ |
430 | ETHTOOL_A_PAUSE_AUTONEG, /* u8 */ |
431 | ETHTOOL_A_PAUSE_RX, /* u8 */ |
432 | ETHTOOL_A_PAUSE_TX, /* u8 */ |
433 | ETHTOOL_A_PAUSE_STATS, /* nest - _PAUSE_STAT_* */ |
434 | ETHTOOL_A_PAUSE_STATS_SRC, /* u32 */ |
435 | |
436 | /* add new constants above here */ |
437 | __ETHTOOL_A_PAUSE_CNT, |
438 | ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1) |
439 | }; |
440 | |
441 | enum { |
442 | ETHTOOL_A_PAUSE_STAT_UNSPEC, |
443 | ETHTOOL_A_PAUSE_STAT_PAD, |
444 | |
445 | ETHTOOL_A_PAUSE_STAT_TX_FRAMES, |
446 | ETHTOOL_A_PAUSE_STAT_RX_FRAMES, |
447 | |
448 | /* add new constants above here |
449 | * adjust ETHTOOL_PAUSE_STAT_CNT if adding non-stats! |
450 | */ |
451 | __ETHTOOL_A_PAUSE_STAT_CNT, |
452 | ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1) |
453 | }; |
454 | |
455 | /* EEE */ |
456 | |
457 | enum { |
458 | ETHTOOL_A_EEE_UNSPEC, |
459 | , /* nest - _A_HEADER_* */ |
460 | ETHTOOL_A_EEE_MODES_OURS, /* bitset */ |
461 | ETHTOOL_A_EEE_MODES_PEER, /* bitset */ |
462 | ETHTOOL_A_EEE_ACTIVE, /* u8 */ |
463 | ETHTOOL_A_EEE_ENABLED, /* u8 */ |
464 | ETHTOOL_A_EEE_TX_LPI_ENABLED, /* u8 */ |
465 | ETHTOOL_A_EEE_TX_LPI_TIMER, /* u32 */ |
466 | |
467 | /* add new constants above here */ |
468 | __ETHTOOL_A_EEE_CNT, |
469 | ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1) |
470 | }; |
471 | |
472 | /* TSINFO */ |
473 | |
474 | enum { |
475 | ETHTOOL_A_TSINFO_UNSPEC, |
476 | , /* nest - _A_HEADER_* */ |
477 | ETHTOOL_A_TSINFO_TIMESTAMPING, /* bitset */ |
478 | ETHTOOL_A_TSINFO_TX_TYPES, /* bitset */ |
479 | ETHTOOL_A_TSINFO_RX_FILTERS, /* bitset */ |
480 | ETHTOOL_A_TSINFO_PHC_INDEX, /* u32 */ |
481 | |
482 | /* add new constants above here */ |
483 | __ETHTOOL_A_TSINFO_CNT, |
484 | ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1) |
485 | }; |
486 | |
487 | /* PHC VCLOCKS */ |
488 | |
489 | enum { |
490 | ETHTOOL_A_PHC_VCLOCKS_UNSPEC, |
491 | , /* nest - _A_HEADER_* */ |
492 | ETHTOOL_A_PHC_VCLOCKS_NUM, /* u32 */ |
493 | ETHTOOL_A_PHC_VCLOCKS_INDEX, /* array, s32 */ |
494 | |
495 | /* add new constants above here */ |
496 | __ETHTOOL_A_PHC_VCLOCKS_CNT, |
497 | ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1) |
498 | }; |
499 | |
500 | /* CABLE TEST */ |
501 | |
502 | enum { |
503 | ETHTOOL_A_CABLE_TEST_UNSPEC, |
504 | , /* nest - _A_HEADER_* */ |
505 | |
506 | /* add new constants above here */ |
507 | __ETHTOOL_A_CABLE_TEST_CNT, |
508 | ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1 |
509 | }; |
510 | |
511 | /* CABLE TEST NOTIFY */ |
512 | enum { |
513 | ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC, |
514 | ETHTOOL_A_CABLE_RESULT_CODE_OK, |
515 | ETHTOOL_A_CABLE_RESULT_CODE_OPEN, |
516 | ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT, |
517 | ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT, |
518 | }; |
519 | |
520 | enum { |
521 | ETHTOOL_A_CABLE_PAIR_A, |
522 | ETHTOOL_A_CABLE_PAIR_B, |
523 | ETHTOOL_A_CABLE_PAIR_C, |
524 | ETHTOOL_A_CABLE_PAIR_D, |
525 | }; |
526 | |
527 | enum { |
528 | ETHTOOL_A_CABLE_RESULT_UNSPEC, |
529 | ETHTOOL_A_CABLE_RESULT_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */ |
530 | ETHTOOL_A_CABLE_RESULT_CODE, /* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */ |
531 | |
532 | __ETHTOOL_A_CABLE_RESULT_CNT, |
533 | ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1) |
534 | }; |
535 | |
536 | enum { |
537 | ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC, |
538 | ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR, /* u8 ETHTOOL_A_CABLE_PAIR_ */ |
539 | ETHTOOL_A_CABLE_FAULT_LENGTH_CM, /* u32 */ |
540 | |
541 | __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT, |
542 | ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1) |
543 | }; |
544 | |
545 | enum { |
546 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC, |
547 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED, |
548 | ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED |
549 | }; |
550 | |
551 | enum { |
552 | ETHTOOL_A_CABLE_NEST_UNSPEC, |
553 | ETHTOOL_A_CABLE_NEST_RESULT, /* nest - ETHTOOL_A_CABLE_RESULT_ */ |
554 | ETHTOOL_A_CABLE_NEST_FAULT_LENGTH, /* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */ |
555 | __ETHTOOL_A_CABLE_NEST_CNT, |
556 | ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1) |
557 | }; |
558 | |
559 | enum { |
560 | ETHTOOL_A_CABLE_TEST_NTF_UNSPEC, |
561 | , /* nest - ETHTOOL_A_HEADER_* */ |
562 | ETHTOOL_A_CABLE_TEST_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */ |
563 | ETHTOOL_A_CABLE_TEST_NTF_NEST, /* nest - of results: */ |
564 | |
565 | __ETHTOOL_A_CABLE_TEST_NTF_CNT, |
566 | ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1) |
567 | }; |
568 | |
569 | /* CABLE TEST TDR */ |
570 | |
571 | enum { |
572 | ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC, |
573 | ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST, /* u32 */ |
574 | ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST, /* u32 */ |
575 | ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP, /* u32 */ |
576 | ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR, /* u8 */ |
577 | |
578 | /* add new constants above here */ |
579 | __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT, |
580 | ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1 |
581 | }; |
582 | |
583 | enum { |
584 | ETHTOOL_A_CABLE_TEST_TDR_UNSPEC, |
585 | , /* nest - _A_HEADER_* */ |
586 | ETHTOOL_A_CABLE_TEST_TDR_CFG, /* nest - *_TDR_CFG_* */ |
587 | |
588 | /* add new constants above here */ |
589 | __ETHTOOL_A_CABLE_TEST_TDR_CNT, |
590 | ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1 |
591 | }; |
592 | |
593 | /* CABLE TEST TDR NOTIFY */ |
594 | |
595 | enum { |
596 | ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC, |
597 | ETHTOOL_A_CABLE_AMPLITUDE_PAIR, /* u8 */ |
598 | ETHTOOL_A_CABLE_AMPLITUDE_mV, /* s16 */ |
599 | |
600 | __ETHTOOL_A_CABLE_AMPLITUDE_CNT, |
601 | ETHTOOL_A_CABLE_AMPLITUDE_MAX = (__ETHTOOL_A_CABLE_AMPLITUDE_CNT - 1) |
602 | }; |
603 | |
604 | enum { |
605 | ETHTOOL_A_CABLE_PULSE_UNSPEC, |
606 | ETHTOOL_A_CABLE_PULSE_mV, /* s16 */ |
607 | |
608 | __ETHTOOL_A_CABLE_PULSE_CNT, |
609 | ETHTOOL_A_CABLE_PULSE_MAX = (__ETHTOOL_A_CABLE_PULSE_CNT - 1) |
610 | }; |
611 | |
612 | enum { |
613 | ETHTOOL_A_CABLE_STEP_UNSPEC, |
614 | ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE, /* u32 */ |
615 | ETHTOOL_A_CABLE_STEP_LAST_DISTANCE, /* u32 */ |
616 | ETHTOOL_A_CABLE_STEP_STEP_DISTANCE, /* u32 */ |
617 | |
618 | __ETHTOOL_A_CABLE_STEP_CNT, |
619 | ETHTOOL_A_CABLE_STEP_MAX = (__ETHTOOL_A_CABLE_STEP_CNT - 1) |
620 | }; |
621 | |
622 | enum { |
623 | ETHTOOL_A_CABLE_TDR_NEST_UNSPEC, |
624 | ETHTOOL_A_CABLE_TDR_NEST_STEP, /* nest - ETHTTOOL_A_CABLE_STEP */ |
625 | ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE, /* nest - ETHTOOL_A_CABLE_AMPLITUDE */ |
626 | ETHTOOL_A_CABLE_TDR_NEST_PULSE, /* nest - ETHTOOL_A_CABLE_PULSE */ |
627 | |
628 | __ETHTOOL_A_CABLE_TDR_NEST_CNT, |
629 | ETHTOOL_A_CABLE_TDR_NEST_MAX = (__ETHTOOL_A_CABLE_TDR_NEST_CNT - 1) |
630 | }; |
631 | |
632 | enum { |
633 | ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC, |
634 | , /* nest - ETHTOOL_A_HEADER_* */ |
635 | ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS, /* u8 - _STARTED/_COMPLETE */ |
636 | ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST, /* nest - of results: */ |
637 | |
638 | /* add new constants above here */ |
639 | __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT, |
640 | ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1 |
641 | }; |
642 | |
643 | /* TUNNEL INFO */ |
644 | |
645 | enum { |
646 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN, |
647 | ETHTOOL_UDP_TUNNEL_TYPE_GENEVE, |
648 | ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE, |
649 | |
650 | __ETHTOOL_UDP_TUNNEL_TYPE_CNT |
651 | }; |
652 | |
653 | enum { |
654 | ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC, |
655 | |
656 | ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT, /* be16 */ |
657 | ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE, /* u32 */ |
658 | |
659 | /* add new constants above here */ |
660 | __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT, |
661 | ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = (__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT - 1) |
662 | }; |
663 | |
664 | enum { |
665 | ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC, |
666 | |
667 | ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE, /* u32 */ |
668 | ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES, /* bitset */ |
669 | ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY, /* nest - _UDP_ENTRY_* */ |
670 | |
671 | /* add new constants above here */ |
672 | __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT, |
673 | ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = (__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT - 1) |
674 | }; |
675 | |
676 | enum { |
677 | ETHTOOL_A_TUNNEL_UDP_UNSPEC, |
678 | |
679 | ETHTOOL_A_TUNNEL_UDP_TABLE, /* nest - _UDP_TABLE_* */ |
680 | |
681 | /* add new constants above here */ |
682 | __ETHTOOL_A_TUNNEL_UDP_CNT, |
683 | ETHTOOL_A_TUNNEL_UDP_MAX = (__ETHTOOL_A_TUNNEL_UDP_CNT - 1) |
684 | }; |
685 | |
686 | enum { |
687 | ETHTOOL_A_TUNNEL_INFO_UNSPEC, |
688 | , /* nest - _A_HEADER_* */ |
689 | |
690 | ETHTOOL_A_TUNNEL_INFO_UDP_PORTS, /* nest - _UDP_TABLE */ |
691 | |
692 | /* add new constants above here */ |
693 | __ETHTOOL_A_TUNNEL_INFO_CNT, |
694 | ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1) |
695 | }; |
696 | |
697 | /* FEC */ |
698 | |
699 | enum { |
700 | ETHTOOL_A_FEC_UNSPEC, |
701 | , /* nest - _A_HEADER_* */ |
702 | ETHTOOL_A_FEC_MODES, /* bitset */ |
703 | ETHTOOL_A_FEC_AUTO, /* u8 */ |
704 | ETHTOOL_A_FEC_ACTIVE, /* u32 */ |
705 | ETHTOOL_A_FEC_STATS, /* nest - _A_FEC_STAT */ |
706 | |
707 | __ETHTOOL_A_FEC_CNT, |
708 | ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1) |
709 | }; |
710 | |
711 | enum { |
712 | ETHTOOL_A_FEC_STAT_UNSPEC, |
713 | ETHTOOL_A_FEC_STAT_PAD, |
714 | |
715 | ETHTOOL_A_FEC_STAT_CORRECTED, /* array, u64 */ |
716 | ETHTOOL_A_FEC_STAT_UNCORR, /* array, u64 */ |
717 | ETHTOOL_A_FEC_STAT_CORR_BITS, /* array, u64 */ |
718 | |
719 | /* add new constants above here */ |
720 | __ETHTOOL_A_FEC_STAT_CNT, |
721 | ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1) |
722 | }; |
723 | |
724 | /* MODULE EEPROM */ |
725 | |
726 | enum { |
727 | ETHTOOL_A_MODULE_EEPROM_UNSPEC, |
728 | , /* nest - _A_HEADER_* */ |
729 | |
730 | ETHTOOL_A_MODULE_EEPROM_OFFSET, /* u32 */ |
731 | ETHTOOL_A_MODULE_EEPROM_LENGTH, /* u32 */ |
732 | ETHTOOL_A_MODULE_EEPROM_PAGE, /* u8 */ |
733 | ETHTOOL_A_MODULE_EEPROM_BANK, /* u8 */ |
734 | ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS, /* u8 */ |
735 | ETHTOOL_A_MODULE_EEPROM_DATA, /* binary */ |
736 | |
737 | __ETHTOOL_A_MODULE_EEPROM_CNT, |
738 | ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1) |
739 | }; |
740 | |
741 | /* STATS */ |
742 | |
743 | enum { |
744 | ETHTOOL_A_STATS_UNSPEC, |
745 | ETHTOOL_A_STATS_PAD, |
746 | , /* nest - _A_HEADER_* */ |
747 | ETHTOOL_A_STATS_GROUPS, /* bitset */ |
748 | |
749 | ETHTOOL_A_STATS_GRP, /* nest - _A_STATS_GRP_* */ |
750 | |
751 | ETHTOOL_A_STATS_SRC, /* u32 */ |
752 | |
753 | /* add new constants above here */ |
754 | __ETHTOOL_A_STATS_CNT, |
755 | ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1) |
756 | }; |
757 | |
758 | enum { |
759 | ETHTOOL_STATS_ETH_PHY, |
760 | ETHTOOL_STATS_ETH_MAC, |
761 | ETHTOOL_STATS_ETH_CTRL, |
762 | ETHTOOL_STATS_RMON, |
763 | |
764 | /* add new constants above here */ |
765 | __ETHTOOL_STATS_CNT |
766 | }; |
767 | |
768 | enum { |
769 | ETHTOOL_A_STATS_GRP_UNSPEC, |
770 | ETHTOOL_A_STATS_GRP_PAD, |
771 | |
772 | ETHTOOL_A_STATS_GRP_ID, /* u32 */ |
773 | ETHTOOL_A_STATS_GRP_SS_ID, /* u32 */ |
774 | |
775 | ETHTOOL_A_STATS_GRP_STAT, /* nest */ |
776 | |
777 | ETHTOOL_A_STATS_GRP_HIST_RX, /* nest */ |
778 | ETHTOOL_A_STATS_GRP_HIST_TX, /* nest */ |
779 | |
780 | ETHTOOL_A_STATS_GRP_HIST_BKT_LOW, /* u32 */ |
781 | ETHTOOL_A_STATS_GRP_HIST_BKT_HI, /* u32 */ |
782 | ETHTOOL_A_STATS_GRP_HIST_VAL, /* u64 */ |
783 | |
784 | /* add new constants above here */ |
785 | __ETHTOOL_A_STATS_GRP_CNT, |
786 | ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1) |
787 | }; |
788 | |
789 | enum { |
790 | /* 30.3.2.1.5 aSymbolErrorDuringCarrier */ |
791 | ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR, |
792 | |
793 | /* add new constants above here */ |
794 | __ETHTOOL_A_STATS_ETH_PHY_CNT, |
795 | ETHTOOL_A_STATS_ETH_PHY_MAX = (__ETHTOOL_A_STATS_ETH_PHY_CNT - 1) |
796 | }; |
797 | |
798 | enum { |
799 | /* 30.3.1.1.2 aFramesTransmittedOK */ |
800 | ETHTOOL_A_STATS_ETH_MAC_2_TX_PKT, |
801 | /* 30.3.1.1.3 aSingleCollisionFrames */ |
802 | ETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL, |
803 | /* 30.3.1.1.4 aMultipleCollisionFrames */ |
804 | ETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL, |
805 | /* 30.3.1.1.5 aFramesReceivedOK */ |
806 | ETHTOOL_A_STATS_ETH_MAC_5_RX_PKT, |
807 | /* 30.3.1.1.6 aFrameCheckSequenceErrors */ |
808 | ETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR, |
809 | /* 30.3.1.1.7 aAlignmentErrors */ |
810 | ETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR, |
811 | /* 30.3.1.1.8 aOctetsTransmittedOK */ |
812 | ETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES, |
813 | /* 30.3.1.1.9 aFramesWithDeferredXmissions */ |
814 | ETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER, |
815 | /* 30.3.1.1.10 aLateCollisions */ |
816 | ETHTOOL_A_STATS_ETH_MAC_10_LATE_COL, |
817 | /* 30.3.1.1.11 aFramesAbortedDueToXSColls */ |
818 | ETHTOOL_A_STATS_ETH_MAC_11_XS_COL, |
819 | /* 30.3.1.1.12 aFramesLostDueToIntMACXmitError */ |
820 | ETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR, |
821 | /* 30.3.1.1.13 aCarrierSenseErrors */ |
822 | ETHTOOL_A_STATS_ETH_MAC_13_CS_ERR, |
823 | /* 30.3.1.1.14 aOctetsReceivedOK */ |
824 | ETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES, |
825 | /* 30.3.1.1.15 aFramesLostDueToIntMACRcvError */ |
826 | ETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR, |
827 | |
828 | /* 30.3.1.1.18 aMulticastFramesXmittedOK */ |
829 | ETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST, |
830 | /* 30.3.1.1.19 aBroadcastFramesXmittedOK */ |
831 | ETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST, |
832 | /* 30.3.1.1.20 aFramesWithExcessiveDeferral */ |
833 | ETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER, |
834 | /* 30.3.1.1.21 aMulticastFramesReceivedOK */ |
835 | ETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST, |
836 | /* 30.3.1.1.22 aBroadcastFramesReceivedOK */ |
837 | ETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST, |
838 | /* 30.3.1.1.23 aInRangeLengthErrors */ |
839 | ETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR, |
840 | /* 30.3.1.1.24 aOutOfRangeLengthField */ |
841 | ETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN, |
842 | /* 30.3.1.1.25 aFrameTooLongErrors */ |
843 | ETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR, |
844 | |
845 | /* add new constants above here */ |
846 | __ETHTOOL_A_STATS_ETH_MAC_CNT, |
847 | ETHTOOL_A_STATS_ETH_MAC_MAX = (__ETHTOOL_A_STATS_ETH_MAC_CNT - 1) |
848 | }; |
849 | |
850 | enum { |
851 | /* 30.3.3.3 aMACControlFramesTransmitted */ |
852 | ETHTOOL_A_STATS_ETH_CTRL_3_TX, |
853 | /* 30.3.3.4 aMACControlFramesReceived */ |
854 | ETHTOOL_A_STATS_ETH_CTRL_4_RX, |
855 | /* 30.3.3.5 aUnsupportedOpcodesReceived */ |
856 | ETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP, |
857 | |
858 | /* add new constants above here */ |
859 | __ETHTOOL_A_STATS_ETH_CTRL_CNT, |
860 | ETHTOOL_A_STATS_ETH_CTRL_MAX = (__ETHTOOL_A_STATS_ETH_CTRL_CNT - 1) |
861 | }; |
862 | |
863 | enum { |
864 | /* etherStatsUndersizePkts */ |
865 | ETHTOOL_A_STATS_RMON_UNDERSIZE, |
866 | /* etherStatsOversizePkts */ |
867 | ETHTOOL_A_STATS_RMON_OVERSIZE, |
868 | /* etherStatsFragments */ |
869 | ETHTOOL_A_STATS_RMON_FRAG, |
870 | /* etherStatsJabbers */ |
871 | ETHTOOL_A_STATS_RMON_JABBER, |
872 | |
873 | /* add new constants above here */ |
874 | __ETHTOOL_A_STATS_RMON_CNT, |
875 | ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1) |
876 | }; |
877 | |
878 | /* MODULE */ |
879 | |
880 | enum { |
881 | ETHTOOL_A_MODULE_UNSPEC, |
882 | , /* nest - _A_HEADER_* */ |
883 | ETHTOOL_A_MODULE_POWER_MODE_POLICY, /* u8 */ |
884 | ETHTOOL_A_MODULE_POWER_MODE, /* u8 */ |
885 | |
886 | /* add new constants above here */ |
887 | __ETHTOOL_A_MODULE_CNT, |
888 | ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1) |
889 | }; |
890 | |
891 | /* Power Sourcing Equipment */ |
892 | enum { |
893 | ETHTOOL_A_PSE_UNSPEC, |
894 | , /* nest - _A_HEADER_* */ |
895 | ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */ |
896 | ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */ |
897 | ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */ |
898 | |
899 | /* add new constants above here */ |
900 | __ETHTOOL_A_PSE_CNT, |
901 | ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) |
902 | }; |
903 | |
904 | enum { |
905 | , |
906 | , |
907 | , /* u32 */ |
908 | , /* u32 */ |
909 | , /* binary */ |
910 | , /* binary */ |
911 | |
912 | , |
913 | = (__ETHTOOL_A_RSS_CNT - 1), |
914 | }; |
915 | |
916 | /* PLCA */ |
917 | |
918 | enum { |
919 | ETHTOOL_A_PLCA_UNSPEC, |
920 | , /* nest - _A_HEADER_* */ |
921 | ETHTOOL_A_PLCA_VERSION, /* u16 */ |
922 | ETHTOOL_A_PLCA_ENABLED, /* u8 */ |
923 | ETHTOOL_A_PLCA_STATUS, /* u8 */ |
924 | ETHTOOL_A_PLCA_NODE_CNT, /* u32 */ |
925 | ETHTOOL_A_PLCA_NODE_ID, /* u32 */ |
926 | ETHTOOL_A_PLCA_TO_TMR, /* u32 */ |
927 | ETHTOOL_A_PLCA_BURST_CNT, /* u32 */ |
928 | ETHTOOL_A_PLCA_BURST_TMR, /* u32 */ |
929 | |
930 | /* add new constants above here */ |
931 | __ETHTOOL_A_PLCA_CNT, |
932 | ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1) |
933 | }; |
934 | |
935 | /* MAC Merge (802.3) */ |
936 | |
937 | enum { |
938 | ETHTOOL_A_MM_STAT_UNSPEC, |
939 | ETHTOOL_A_MM_STAT_PAD, |
940 | |
941 | /* aMACMergeFrameAssErrorCount */ |
942 | ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS, /* u64 */ |
943 | /* aMACMergeFrameSmdErrorCount */ |
944 | ETHTOOL_A_MM_STAT_SMD_ERRORS, /* u64 */ |
945 | /* aMACMergeFrameAssOkCount */ |
946 | ETHTOOL_A_MM_STAT_REASSEMBLY_OK, /* u64 */ |
947 | /* aMACMergeFragCountRx */ |
948 | ETHTOOL_A_MM_STAT_RX_FRAG_COUNT, /* u64 */ |
949 | /* aMACMergeFragCountTx */ |
950 | ETHTOOL_A_MM_STAT_TX_FRAG_COUNT, /* u64 */ |
951 | /* aMACMergeHoldCount */ |
952 | ETHTOOL_A_MM_STAT_HOLD_COUNT, /* u64 */ |
953 | |
954 | /* add new constants above here */ |
955 | __ETHTOOL_A_MM_STAT_CNT, |
956 | ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1) |
957 | }; |
958 | |
959 | enum { |
960 | ETHTOOL_A_MM_UNSPEC, |
961 | , /* nest - _A_HEADER_* */ |
962 | ETHTOOL_A_MM_PMAC_ENABLED, /* u8 */ |
963 | ETHTOOL_A_MM_TX_ENABLED, /* u8 */ |
964 | ETHTOOL_A_MM_TX_ACTIVE, /* u8 */ |
965 | ETHTOOL_A_MM_TX_MIN_FRAG_SIZE, /* u32 */ |
966 | ETHTOOL_A_MM_RX_MIN_FRAG_SIZE, /* u32 */ |
967 | ETHTOOL_A_MM_VERIFY_ENABLED, /* u8 */ |
968 | ETHTOOL_A_MM_VERIFY_STATUS, /* u8 */ |
969 | ETHTOOL_A_MM_VERIFY_TIME, /* u32 */ |
970 | ETHTOOL_A_MM_MAX_VERIFY_TIME, /* u32 */ |
971 | ETHTOOL_A_MM_STATS, /* nest - _A_MM_STAT_* */ |
972 | |
973 | /* add new constants above here */ |
974 | __ETHTOOL_A_MM_CNT, |
975 | ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1) |
976 | }; |
977 | |
978 | /* generic netlink info */ |
979 | #define ETHTOOL_GENL_NAME "ethtool" |
980 | #define ETHTOOL_GENL_VERSION 1 |
981 | |
982 | #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" |
983 | |
984 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */ |
985 | |