1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_
8 #define _UAPI_LINUX_ETHTOOL_NETLINK_H_
9 #include <linux/ethtool.h>
10 enum {
11   ETHTOOL_MSG_USER_NONE,
12   ETHTOOL_MSG_STRSET_GET,
13   ETHTOOL_MSG_LINKINFO_GET,
14   ETHTOOL_MSG_LINKINFO_SET,
15   ETHTOOL_MSG_LINKMODES_GET,
16   ETHTOOL_MSG_LINKMODES_SET,
17   ETHTOOL_MSG_LINKSTATE_GET,
18   ETHTOOL_MSG_DEBUG_GET,
19   ETHTOOL_MSG_DEBUG_SET,
20   ETHTOOL_MSG_WOL_GET,
21   ETHTOOL_MSG_WOL_SET,
22   ETHTOOL_MSG_FEATURES_GET,
23   ETHTOOL_MSG_FEATURES_SET,
24   ETHTOOL_MSG_PRIVFLAGS_GET,
25   ETHTOOL_MSG_PRIVFLAGS_SET,
26   ETHTOOL_MSG_RINGS_GET,
27   ETHTOOL_MSG_RINGS_SET,
28   ETHTOOL_MSG_CHANNELS_GET,
29   ETHTOOL_MSG_CHANNELS_SET,
30   ETHTOOL_MSG_COALESCE_GET,
31   ETHTOOL_MSG_COALESCE_SET,
32   ETHTOOL_MSG_PAUSE_GET,
33   ETHTOOL_MSG_PAUSE_SET,
34   ETHTOOL_MSG_EEE_GET,
35   ETHTOOL_MSG_EEE_SET,
36   ETHTOOL_MSG_TSINFO_GET,
37   ETHTOOL_MSG_CABLE_TEST_ACT,
38   ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
39   ETHTOOL_MSG_TUNNEL_INFO_GET,
40   ETHTOOL_MSG_FEC_GET,
41   ETHTOOL_MSG_FEC_SET,
42   ETHTOOL_MSG_MODULE_EEPROM_GET,
43   ETHTOOL_MSG_STATS_GET,
44   ETHTOOL_MSG_PHC_VCLOCKS_GET,
45   ETHTOOL_MSG_MODULE_GET,
46   ETHTOOL_MSG_MODULE_SET,
47   ETHTOOL_MSG_PSE_GET,
48   ETHTOOL_MSG_PSE_SET,
49   ETHTOOL_MSG_RSS_GET,
50   ETHTOOL_MSG_PLCA_GET_CFG,
51   ETHTOOL_MSG_PLCA_SET_CFG,
52   ETHTOOL_MSG_PLCA_GET_STATUS,
53   ETHTOOL_MSG_MM_GET,
54   ETHTOOL_MSG_MM_SET,
55   ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
56   __ETHTOOL_MSG_USER_CNT,
57   ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
58 };
59 enum {
60   ETHTOOL_MSG_KERNEL_NONE,
61   ETHTOOL_MSG_STRSET_GET_REPLY,
62   ETHTOOL_MSG_LINKINFO_GET_REPLY,
63   ETHTOOL_MSG_LINKINFO_NTF,
64   ETHTOOL_MSG_LINKMODES_GET_REPLY,
65   ETHTOOL_MSG_LINKMODES_NTF,
66   ETHTOOL_MSG_LINKSTATE_GET_REPLY,
67   ETHTOOL_MSG_DEBUG_GET_REPLY,
68   ETHTOOL_MSG_DEBUG_NTF,
69   ETHTOOL_MSG_WOL_GET_REPLY,
70   ETHTOOL_MSG_WOL_NTF,
71   ETHTOOL_MSG_FEATURES_GET_REPLY,
72   ETHTOOL_MSG_FEATURES_SET_REPLY,
73   ETHTOOL_MSG_FEATURES_NTF,
74   ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
75   ETHTOOL_MSG_PRIVFLAGS_NTF,
76   ETHTOOL_MSG_RINGS_GET_REPLY,
77   ETHTOOL_MSG_RINGS_NTF,
78   ETHTOOL_MSG_CHANNELS_GET_REPLY,
79   ETHTOOL_MSG_CHANNELS_NTF,
80   ETHTOOL_MSG_COALESCE_GET_REPLY,
81   ETHTOOL_MSG_COALESCE_NTF,
82   ETHTOOL_MSG_PAUSE_GET_REPLY,
83   ETHTOOL_MSG_PAUSE_NTF,
84   ETHTOOL_MSG_EEE_GET_REPLY,
85   ETHTOOL_MSG_EEE_NTF,
86   ETHTOOL_MSG_TSINFO_GET_REPLY,
87   ETHTOOL_MSG_CABLE_TEST_NTF,
88   ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
89   ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY,
90   ETHTOOL_MSG_FEC_GET_REPLY,
91   ETHTOOL_MSG_FEC_NTF,
92   ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY,
93   ETHTOOL_MSG_STATS_GET_REPLY,
94   ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
95   ETHTOOL_MSG_MODULE_GET_REPLY,
96   ETHTOOL_MSG_MODULE_NTF,
97   ETHTOOL_MSG_PSE_GET_REPLY,
98   ETHTOOL_MSG_RSS_GET_REPLY,
99   ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
100   ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
101   ETHTOOL_MSG_PLCA_NTF,
102   ETHTOOL_MSG_MM_GET_REPLY,
103   ETHTOOL_MSG_MM_NTF,
104   ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
105   __ETHTOOL_MSG_KERNEL_CNT,
106   ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
107 };
108 enum ethtool_header_flags {
109   ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0,
110   ETHTOOL_FLAG_OMIT_REPLY = 1 << 1,
111   ETHTOOL_FLAG_STATS = 1 << 2,
112 };
113 #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | ETHTOOL_FLAG_OMIT_REPLY | ETHTOOL_FLAG_STATS)
114 enum {
115   ETHTOOL_A_HEADER_UNSPEC,
116   ETHTOOL_A_HEADER_DEV_INDEX,
117   ETHTOOL_A_HEADER_DEV_NAME,
118   ETHTOOL_A_HEADER_FLAGS,
119   __ETHTOOL_A_HEADER_CNT,
120   ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
121 };
122 enum {
123   ETHTOOL_A_BITSET_BIT_UNSPEC,
124   ETHTOOL_A_BITSET_BIT_INDEX,
125   ETHTOOL_A_BITSET_BIT_NAME,
126   ETHTOOL_A_BITSET_BIT_VALUE,
127   __ETHTOOL_A_BITSET_BIT_CNT,
128   ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
129 };
130 enum {
131   ETHTOOL_A_BITSET_BITS_UNSPEC,
132   ETHTOOL_A_BITSET_BITS_BIT,
133   __ETHTOOL_A_BITSET_BITS_CNT,
134   ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
135 };
136 enum {
137   ETHTOOL_A_BITSET_UNSPEC,
138   ETHTOOL_A_BITSET_NOMASK,
139   ETHTOOL_A_BITSET_SIZE,
140   ETHTOOL_A_BITSET_BITS,
141   ETHTOOL_A_BITSET_VALUE,
142   ETHTOOL_A_BITSET_MASK,
143   __ETHTOOL_A_BITSET_CNT,
144   ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
145 };
146 enum {
147   ETHTOOL_A_STRING_UNSPEC,
148   ETHTOOL_A_STRING_INDEX,
149   ETHTOOL_A_STRING_VALUE,
150   __ETHTOOL_A_STRING_CNT,
151   ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
152 };
153 enum {
154   ETHTOOL_A_STRINGS_UNSPEC,
155   ETHTOOL_A_STRINGS_STRING,
156   __ETHTOOL_A_STRINGS_CNT,
157   ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
158 };
159 enum {
160   ETHTOOL_A_STRINGSET_UNSPEC,
161   ETHTOOL_A_STRINGSET_ID,
162   ETHTOOL_A_STRINGSET_COUNT,
163   ETHTOOL_A_STRINGSET_STRINGS,
164   __ETHTOOL_A_STRINGSET_CNT,
165   ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
166 };
167 enum {
168   ETHTOOL_A_STRINGSETS_UNSPEC,
169   ETHTOOL_A_STRINGSETS_STRINGSET,
170   __ETHTOOL_A_STRINGSETS_CNT,
171   ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
172 };
173 enum {
174   ETHTOOL_A_STRSET_UNSPEC,
175   ETHTOOL_A_STRSET_HEADER,
176   ETHTOOL_A_STRSET_STRINGSETS,
177   ETHTOOL_A_STRSET_COUNTS_ONLY,
178   __ETHTOOL_A_STRSET_CNT,
179   ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
180 };
181 enum {
182   ETHTOOL_A_LINKINFO_UNSPEC,
183   ETHTOOL_A_LINKINFO_HEADER,
184   ETHTOOL_A_LINKINFO_PORT,
185   ETHTOOL_A_LINKINFO_PHYADDR,
186   ETHTOOL_A_LINKINFO_TP_MDIX,
187   ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
188   ETHTOOL_A_LINKINFO_TRANSCEIVER,
189   __ETHTOOL_A_LINKINFO_CNT,
190   ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
191 };
192 enum {
193   ETHTOOL_A_LINKMODES_UNSPEC,
194   ETHTOOL_A_LINKMODES_HEADER,
195   ETHTOOL_A_LINKMODES_AUTONEG,
196   ETHTOOL_A_LINKMODES_OURS,
197   ETHTOOL_A_LINKMODES_PEER,
198   ETHTOOL_A_LINKMODES_SPEED,
199   ETHTOOL_A_LINKMODES_DUPLEX,
200   ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,
201   ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,
202   ETHTOOL_A_LINKMODES_LANES,
203   ETHTOOL_A_LINKMODES_RATE_MATCHING,
204   __ETHTOOL_A_LINKMODES_CNT,
205   ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
206 };
207 enum {
208   ETHTOOL_A_LINKSTATE_UNSPEC,
209   ETHTOOL_A_LINKSTATE_HEADER,
210   ETHTOOL_A_LINKSTATE_LINK,
211   ETHTOOL_A_LINKSTATE_SQI,
212   ETHTOOL_A_LINKSTATE_SQI_MAX,
213   ETHTOOL_A_LINKSTATE_EXT_STATE,
214   ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,
215   ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT,
216   __ETHTOOL_A_LINKSTATE_CNT,
217   ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
218 };
219 enum {
220   ETHTOOL_A_DEBUG_UNSPEC,
221   ETHTOOL_A_DEBUG_HEADER,
222   ETHTOOL_A_DEBUG_MSGMASK,
223   __ETHTOOL_A_DEBUG_CNT,
224   ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
225 };
226 enum {
227   ETHTOOL_A_WOL_UNSPEC,
228   ETHTOOL_A_WOL_HEADER,
229   ETHTOOL_A_WOL_MODES,
230   ETHTOOL_A_WOL_SOPASS,
231   __ETHTOOL_A_WOL_CNT,
232   ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
233 };
234 enum {
235   ETHTOOL_A_FEATURES_UNSPEC,
236   ETHTOOL_A_FEATURES_HEADER,
237   ETHTOOL_A_FEATURES_HW,
238   ETHTOOL_A_FEATURES_WANTED,
239   ETHTOOL_A_FEATURES_ACTIVE,
240   ETHTOOL_A_FEATURES_NOCHANGE,
241   __ETHTOOL_A_FEATURES_CNT,
242   ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
243 };
244 enum {
245   ETHTOOL_A_PRIVFLAGS_UNSPEC,
246   ETHTOOL_A_PRIVFLAGS_HEADER,
247   ETHTOOL_A_PRIVFLAGS_FLAGS,
248   __ETHTOOL_A_PRIVFLAGS_CNT,
249   ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
250 };
251 enum {
252   ETHTOOL_TCP_DATA_SPLIT_UNKNOWN = 0,
253   ETHTOOL_TCP_DATA_SPLIT_DISABLED,
254   ETHTOOL_TCP_DATA_SPLIT_ENABLED,
255 };
256 enum {
257   ETHTOOL_A_RINGS_UNSPEC,
258   ETHTOOL_A_RINGS_HEADER,
259   ETHTOOL_A_RINGS_RX_MAX,
260   ETHTOOL_A_RINGS_RX_MINI_MAX,
261   ETHTOOL_A_RINGS_RX_JUMBO_MAX,
262   ETHTOOL_A_RINGS_TX_MAX,
263   ETHTOOL_A_RINGS_RX,
264   ETHTOOL_A_RINGS_RX_MINI,
265   ETHTOOL_A_RINGS_RX_JUMBO,
266   ETHTOOL_A_RINGS_TX,
267   ETHTOOL_A_RINGS_RX_BUF_LEN,
268   ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
269   ETHTOOL_A_RINGS_CQE_SIZE,
270   ETHTOOL_A_RINGS_TX_PUSH,
271   ETHTOOL_A_RINGS_RX_PUSH,
272   ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
273   ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
274   __ETHTOOL_A_RINGS_CNT,
275   ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
276 };
277 enum {
278   ETHTOOL_A_CHANNELS_UNSPEC,
279   ETHTOOL_A_CHANNELS_HEADER,
280   ETHTOOL_A_CHANNELS_RX_MAX,
281   ETHTOOL_A_CHANNELS_TX_MAX,
282   ETHTOOL_A_CHANNELS_OTHER_MAX,
283   ETHTOOL_A_CHANNELS_COMBINED_MAX,
284   ETHTOOL_A_CHANNELS_RX_COUNT,
285   ETHTOOL_A_CHANNELS_TX_COUNT,
286   ETHTOOL_A_CHANNELS_OTHER_COUNT,
287   ETHTOOL_A_CHANNELS_COMBINED_COUNT,
288   __ETHTOOL_A_CHANNELS_CNT,
289   ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
290 };
291 enum {
292   ETHTOOL_A_COALESCE_UNSPEC,
293   ETHTOOL_A_COALESCE_HEADER,
294   ETHTOOL_A_COALESCE_RX_USECS,
295   ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
296   ETHTOOL_A_COALESCE_RX_USECS_IRQ,
297   ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
298   ETHTOOL_A_COALESCE_TX_USECS,
299   ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
300   ETHTOOL_A_COALESCE_TX_USECS_IRQ,
301   ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
302   ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
303   ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
304   ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
305   ETHTOOL_A_COALESCE_PKT_RATE_LOW,
306   ETHTOOL_A_COALESCE_RX_USECS_LOW,
307   ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
308   ETHTOOL_A_COALESCE_TX_USECS_LOW,
309   ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
310   ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
311   ETHTOOL_A_COALESCE_RX_USECS_HIGH,
312   ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
313   ETHTOOL_A_COALESCE_TX_USECS_HIGH,
314   ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
315   ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
316   ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
317   ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
318   ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
319   ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
320   ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
321   ETHTOOL_A_COALESCE_RX_PROFILE,
322   ETHTOOL_A_COALESCE_TX_PROFILE,
323   __ETHTOOL_A_COALESCE_CNT,
324   ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
325 };
326 enum {
327   ETHTOOL_A_PROFILE_UNSPEC,
328   ETHTOOL_A_PROFILE_IRQ_MODERATION,
329   __ETHTOOL_A_PROFILE_CNT,
330   ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
331 };
332 enum {
333   ETHTOOL_A_IRQ_MODERATION_UNSPEC,
334   ETHTOOL_A_IRQ_MODERATION_USEC,
335   ETHTOOL_A_IRQ_MODERATION_PKTS,
336   ETHTOOL_A_IRQ_MODERATION_COMPS,
337   __ETHTOOL_A_IRQ_MODERATION_CNT,
338   ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
339 };
340 enum {
341   ETHTOOL_A_PAUSE_UNSPEC,
342   ETHTOOL_A_PAUSE_HEADER,
343   ETHTOOL_A_PAUSE_AUTONEG,
344   ETHTOOL_A_PAUSE_RX,
345   ETHTOOL_A_PAUSE_TX,
346   ETHTOOL_A_PAUSE_STATS,
347   ETHTOOL_A_PAUSE_STATS_SRC,
348   __ETHTOOL_A_PAUSE_CNT,
349   ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
350 };
351 enum {
352   ETHTOOL_A_PAUSE_STAT_UNSPEC,
353   ETHTOOL_A_PAUSE_STAT_PAD,
354   ETHTOOL_A_PAUSE_STAT_TX_FRAMES,
355   ETHTOOL_A_PAUSE_STAT_RX_FRAMES,
356   __ETHTOOL_A_PAUSE_STAT_CNT,
357   ETHTOOL_A_PAUSE_STAT_MAX = (__ETHTOOL_A_PAUSE_STAT_CNT - 1)
358 };
359 enum {
360   ETHTOOL_A_EEE_UNSPEC,
361   ETHTOOL_A_EEE_HEADER,
362   ETHTOOL_A_EEE_MODES_OURS,
363   ETHTOOL_A_EEE_MODES_PEER,
364   ETHTOOL_A_EEE_ACTIVE,
365   ETHTOOL_A_EEE_ENABLED,
366   ETHTOOL_A_EEE_TX_LPI_ENABLED,
367   ETHTOOL_A_EEE_TX_LPI_TIMER,
368   __ETHTOOL_A_EEE_CNT,
369   ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
370 };
371 enum {
372   ETHTOOL_A_TSINFO_UNSPEC,
373   ETHTOOL_A_TSINFO_HEADER,
374   ETHTOOL_A_TSINFO_TIMESTAMPING,
375   ETHTOOL_A_TSINFO_TX_TYPES,
376   ETHTOOL_A_TSINFO_RX_FILTERS,
377   ETHTOOL_A_TSINFO_PHC_INDEX,
378   ETHTOOL_A_TSINFO_STATS,
379   __ETHTOOL_A_TSINFO_CNT,
380   ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
381 };
382 enum {
383   ETHTOOL_A_TS_STAT_UNSPEC,
384   ETHTOOL_A_TS_STAT_TX_PKTS,
385   ETHTOOL_A_TS_STAT_TX_LOST,
386   ETHTOOL_A_TS_STAT_TX_ERR,
387   __ETHTOOL_A_TS_STAT_CNT,
388   ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
389 };
390 enum {
391   ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
392   ETHTOOL_A_PHC_VCLOCKS_HEADER,
393   ETHTOOL_A_PHC_VCLOCKS_NUM,
394   ETHTOOL_A_PHC_VCLOCKS_INDEX,
395   __ETHTOOL_A_PHC_VCLOCKS_CNT,
396   ETHTOOL_A_PHC_VCLOCKS_MAX = (__ETHTOOL_A_PHC_VCLOCKS_CNT - 1)
397 };
398 enum {
399   ETHTOOL_A_CABLE_TEST_UNSPEC,
400   ETHTOOL_A_CABLE_TEST_HEADER,
401   __ETHTOOL_A_CABLE_TEST_CNT,
402   ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
403 };
404 enum {
405   ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
406   ETHTOOL_A_CABLE_RESULT_CODE_OK,
407   ETHTOOL_A_CABLE_RESULT_CODE_OPEN,
408   ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT,
409   ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT,
410   ETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH,
411 };
412 enum {
413   ETHTOOL_A_CABLE_PAIR_A,
414   ETHTOOL_A_CABLE_PAIR_B,
415   ETHTOOL_A_CABLE_PAIR_C,
416   ETHTOOL_A_CABLE_PAIR_D,
417 };
418 enum {
419   ETHTOOL_A_CABLE_RESULT_UNSPEC,
420   ETHTOOL_A_CABLE_RESULT_PAIR,
421   ETHTOOL_A_CABLE_RESULT_CODE,
422   __ETHTOOL_A_CABLE_RESULT_CNT,
423   ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
424 };
425 enum {
426   ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
427   ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,
428   ETHTOOL_A_CABLE_FAULT_LENGTH_CM,
429   __ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
430   ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
431 };
432 enum {
433   ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
434   ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
435   ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
436 };
437 enum {
438   ETHTOOL_A_CABLE_NEST_UNSPEC,
439   ETHTOOL_A_CABLE_NEST_RESULT,
440   ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,
441   __ETHTOOL_A_CABLE_NEST_CNT,
442   ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
443 };
444 enum {
445   ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
446   ETHTOOL_A_CABLE_TEST_NTF_HEADER,
447   ETHTOOL_A_CABLE_TEST_NTF_STATUS,
448   ETHTOOL_A_CABLE_TEST_NTF_NEST,
449   __ETHTOOL_A_CABLE_TEST_NTF_CNT,
450   ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
451 };
452 enum {
453   ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
454   ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,
455   ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,
456   ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,
457   ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,
458   __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
459   ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
460 };
461 enum {
462   ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
463   ETHTOOL_A_CABLE_TEST_TDR_HEADER,
464   ETHTOOL_A_CABLE_TEST_TDR_CFG,
465   __ETHTOOL_A_CABLE_TEST_TDR_CNT,
466   ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
467 };
468 enum {
469   ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC,
470   ETHTOOL_A_CABLE_AMPLITUDE_PAIR,
471   ETHTOOL_A_CABLE_AMPLITUDE_mV,
472   __ETHTOOL_A_CABLE_AMPLITUDE_CNT,
473   ETHTOOL_A_CABLE_AMPLITUDE_MAX = (__ETHTOOL_A_CABLE_AMPLITUDE_CNT - 1)
474 };
475 enum {
476   ETHTOOL_A_CABLE_PULSE_UNSPEC,
477   ETHTOOL_A_CABLE_PULSE_mV,
478   __ETHTOOL_A_CABLE_PULSE_CNT,
479   ETHTOOL_A_CABLE_PULSE_MAX = (__ETHTOOL_A_CABLE_PULSE_CNT - 1)
480 };
481 enum {
482   ETHTOOL_A_CABLE_STEP_UNSPEC,
483   ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE,
484   ETHTOOL_A_CABLE_STEP_LAST_DISTANCE,
485   ETHTOOL_A_CABLE_STEP_STEP_DISTANCE,
486   __ETHTOOL_A_CABLE_STEP_CNT,
487   ETHTOOL_A_CABLE_STEP_MAX = (__ETHTOOL_A_CABLE_STEP_CNT - 1)
488 };
489 enum {
490   ETHTOOL_A_CABLE_TDR_NEST_UNSPEC,
491   ETHTOOL_A_CABLE_TDR_NEST_STEP,
492   ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE,
493   ETHTOOL_A_CABLE_TDR_NEST_PULSE,
494   __ETHTOOL_A_CABLE_TDR_NEST_CNT,
495   ETHTOOL_A_CABLE_TDR_NEST_MAX = (__ETHTOOL_A_CABLE_TDR_NEST_CNT - 1)
496 };
497 enum {
498   ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
499   ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,
500   ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,
501   ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,
502   __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
503   ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1
504 };
505 enum {
506   ETHTOOL_UDP_TUNNEL_TYPE_VXLAN,
507   ETHTOOL_UDP_TUNNEL_TYPE_GENEVE,
508   ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE,
509   __ETHTOOL_UDP_TUNNEL_TYPE_CNT
510 };
511 enum {
512   ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC,
513   ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT,
514   ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE,
515   __ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT,
516   ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = (__ETHTOOL_A_TUNNEL_UDP_ENTRY_CNT - 1)
517 };
518 enum {
519   ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC,
520   ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE,
521   ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES,
522   ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY,
523   __ETHTOOL_A_TUNNEL_UDP_TABLE_CNT,
524   ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = (__ETHTOOL_A_TUNNEL_UDP_TABLE_CNT - 1)
525 };
526 enum {
527   ETHTOOL_A_TUNNEL_UDP_UNSPEC,
528   ETHTOOL_A_TUNNEL_UDP_TABLE,
529   __ETHTOOL_A_TUNNEL_UDP_CNT,
530   ETHTOOL_A_TUNNEL_UDP_MAX = (__ETHTOOL_A_TUNNEL_UDP_CNT - 1)
531 };
532 enum {
533   ETHTOOL_A_TUNNEL_INFO_UNSPEC,
534   ETHTOOL_A_TUNNEL_INFO_HEADER,
535   ETHTOOL_A_TUNNEL_INFO_UDP_PORTS,
536   __ETHTOOL_A_TUNNEL_INFO_CNT,
537   ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
538 };
539 enum {
540   ETHTOOL_A_FEC_UNSPEC,
541   ETHTOOL_A_FEC_HEADER,
542   ETHTOOL_A_FEC_MODES,
543   ETHTOOL_A_FEC_AUTO,
544   ETHTOOL_A_FEC_ACTIVE,
545   ETHTOOL_A_FEC_STATS,
546   __ETHTOOL_A_FEC_CNT,
547   ETHTOOL_A_FEC_MAX = (__ETHTOOL_A_FEC_CNT - 1)
548 };
549 enum {
550   ETHTOOL_A_FEC_STAT_UNSPEC,
551   ETHTOOL_A_FEC_STAT_PAD,
552   ETHTOOL_A_FEC_STAT_CORRECTED,
553   ETHTOOL_A_FEC_STAT_UNCORR,
554   ETHTOOL_A_FEC_STAT_CORR_BITS,
555   __ETHTOOL_A_FEC_STAT_CNT,
556   ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
557 };
558 enum {
559   ETHTOOL_A_MODULE_EEPROM_UNSPEC,
560   ETHTOOL_A_MODULE_EEPROM_HEADER,
561   ETHTOOL_A_MODULE_EEPROM_OFFSET,
562   ETHTOOL_A_MODULE_EEPROM_LENGTH,
563   ETHTOOL_A_MODULE_EEPROM_PAGE,
564   ETHTOOL_A_MODULE_EEPROM_BANK,
565   ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS,
566   ETHTOOL_A_MODULE_EEPROM_DATA,
567   __ETHTOOL_A_MODULE_EEPROM_CNT,
568   ETHTOOL_A_MODULE_EEPROM_MAX = (__ETHTOOL_A_MODULE_EEPROM_CNT - 1)
569 };
570 enum {
571   ETHTOOL_A_STATS_UNSPEC,
572   ETHTOOL_A_STATS_PAD,
573   ETHTOOL_A_STATS_HEADER,
574   ETHTOOL_A_STATS_GROUPS,
575   ETHTOOL_A_STATS_GRP,
576   ETHTOOL_A_STATS_SRC,
577   __ETHTOOL_A_STATS_CNT,
578   ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
579 };
580 enum {
581   ETHTOOL_STATS_ETH_PHY,
582   ETHTOOL_STATS_ETH_MAC,
583   ETHTOOL_STATS_ETH_CTRL,
584   ETHTOOL_STATS_RMON,
585   __ETHTOOL_STATS_CNT
586 };
587 enum {
588   ETHTOOL_A_STATS_GRP_UNSPEC,
589   ETHTOOL_A_STATS_GRP_PAD,
590   ETHTOOL_A_STATS_GRP_ID,
591   ETHTOOL_A_STATS_GRP_SS_ID,
592   ETHTOOL_A_STATS_GRP_STAT,
593   ETHTOOL_A_STATS_GRP_HIST_RX,
594   ETHTOOL_A_STATS_GRP_HIST_TX,
595   ETHTOOL_A_STATS_GRP_HIST_BKT_LOW,
596   ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
597   ETHTOOL_A_STATS_GRP_HIST_VAL,
598   __ETHTOOL_A_STATS_GRP_CNT,
599   ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
600 };
601 enum {
602   ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
603   __ETHTOOL_A_STATS_ETH_PHY_CNT,
604   ETHTOOL_A_STATS_ETH_PHY_MAX = (__ETHTOOL_A_STATS_ETH_PHY_CNT - 1)
605 };
606 enum {
607   ETHTOOL_A_STATS_ETH_MAC_2_TX_PKT,
608   ETHTOOL_A_STATS_ETH_MAC_3_SINGLE_COL,
609   ETHTOOL_A_STATS_ETH_MAC_4_MULTI_COL,
610   ETHTOOL_A_STATS_ETH_MAC_5_RX_PKT,
611   ETHTOOL_A_STATS_ETH_MAC_6_FCS_ERR,
612   ETHTOOL_A_STATS_ETH_MAC_7_ALIGN_ERR,
613   ETHTOOL_A_STATS_ETH_MAC_8_TX_BYTES,
614   ETHTOOL_A_STATS_ETH_MAC_9_TX_DEFER,
615   ETHTOOL_A_STATS_ETH_MAC_10_LATE_COL,
616   ETHTOOL_A_STATS_ETH_MAC_11_XS_COL,
617   ETHTOOL_A_STATS_ETH_MAC_12_TX_INT_ERR,
618   ETHTOOL_A_STATS_ETH_MAC_13_CS_ERR,
619   ETHTOOL_A_STATS_ETH_MAC_14_RX_BYTES,
620   ETHTOOL_A_STATS_ETH_MAC_15_RX_INT_ERR,
621   ETHTOOL_A_STATS_ETH_MAC_18_TX_MCAST,
622   ETHTOOL_A_STATS_ETH_MAC_19_TX_BCAST,
623   ETHTOOL_A_STATS_ETH_MAC_20_XS_DEFER,
624   ETHTOOL_A_STATS_ETH_MAC_21_RX_MCAST,
625   ETHTOOL_A_STATS_ETH_MAC_22_RX_BCAST,
626   ETHTOOL_A_STATS_ETH_MAC_23_IR_LEN_ERR,
627   ETHTOOL_A_STATS_ETH_MAC_24_OOR_LEN,
628   ETHTOOL_A_STATS_ETH_MAC_25_TOO_LONG_ERR,
629   __ETHTOOL_A_STATS_ETH_MAC_CNT,
630   ETHTOOL_A_STATS_ETH_MAC_MAX = (__ETHTOOL_A_STATS_ETH_MAC_CNT - 1)
631 };
632 enum {
633   ETHTOOL_A_STATS_ETH_CTRL_3_TX,
634   ETHTOOL_A_STATS_ETH_CTRL_4_RX,
635   ETHTOOL_A_STATS_ETH_CTRL_5_RX_UNSUP,
636   __ETHTOOL_A_STATS_ETH_CTRL_CNT,
637   ETHTOOL_A_STATS_ETH_CTRL_MAX = (__ETHTOOL_A_STATS_ETH_CTRL_CNT - 1)
638 };
639 enum {
640   ETHTOOL_A_STATS_RMON_UNDERSIZE,
641   ETHTOOL_A_STATS_RMON_OVERSIZE,
642   ETHTOOL_A_STATS_RMON_FRAG,
643   ETHTOOL_A_STATS_RMON_JABBER,
644   __ETHTOOL_A_STATS_RMON_CNT,
645   ETHTOOL_A_STATS_RMON_MAX = (__ETHTOOL_A_STATS_RMON_CNT - 1)
646 };
647 enum {
648   ETHTOOL_A_MODULE_UNSPEC,
649   ETHTOOL_A_MODULE_HEADER,
650   ETHTOOL_A_MODULE_POWER_MODE_POLICY,
651   ETHTOOL_A_MODULE_POWER_MODE,
652   __ETHTOOL_A_MODULE_CNT,
653   ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
654 };
655 enum {
656   ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
657   ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
658   ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
659 };
660 enum {
661   ETHTOOL_A_PSE_UNSPEC,
662   ETHTOOL_A_PSE_HEADER,
663   ETHTOOL_A_PODL_PSE_ADMIN_STATE,
664   ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
665   ETHTOOL_A_PODL_PSE_PW_D_STATUS,
666   ETHTOOL_A_C33_PSE_ADMIN_STATE,
667   ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
668   ETHTOOL_A_C33_PSE_PW_D_STATUS,
669   ETHTOOL_A_C33_PSE_PW_CLASS,
670   ETHTOOL_A_C33_PSE_ACTUAL_PW,
671   ETHTOOL_A_C33_PSE_EXT_STATE,
672   ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
673   ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
674   ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
675   __ETHTOOL_A_PSE_CNT,
676   ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
677 };
678 enum {
679   ETHTOOL_A_RSS_UNSPEC,
680   ETHTOOL_A_RSS_HEADER,
681   ETHTOOL_A_RSS_CONTEXT,
682   ETHTOOL_A_RSS_HFUNC,
683   ETHTOOL_A_RSS_INDIR,
684   ETHTOOL_A_RSS_HKEY,
685   ETHTOOL_A_RSS_INPUT_XFRM,
686   __ETHTOOL_A_RSS_CNT,
687   ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
688 };
689 enum {
690   ETHTOOL_A_PLCA_UNSPEC,
691   ETHTOOL_A_PLCA_HEADER,
692   ETHTOOL_A_PLCA_VERSION,
693   ETHTOOL_A_PLCA_ENABLED,
694   ETHTOOL_A_PLCA_STATUS,
695   ETHTOOL_A_PLCA_NODE_CNT,
696   ETHTOOL_A_PLCA_NODE_ID,
697   ETHTOOL_A_PLCA_TO_TMR,
698   ETHTOOL_A_PLCA_BURST_CNT,
699   ETHTOOL_A_PLCA_BURST_TMR,
700   __ETHTOOL_A_PLCA_CNT,
701   ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
702 };
703 enum {
704   ETHTOOL_A_MM_STAT_UNSPEC,
705   ETHTOOL_A_MM_STAT_PAD,
706   ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
707   ETHTOOL_A_MM_STAT_SMD_ERRORS,
708   ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
709   ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
710   ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
711   ETHTOOL_A_MM_STAT_HOLD_COUNT,
712   __ETHTOOL_A_MM_STAT_CNT,
713   ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
714 };
715 enum {
716   ETHTOOL_A_MM_UNSPEC,
717   ETHTOOL_A_MM_HEADER,
718   ETHTOOL_A_MM_PMAC_ENABLED,
719   ETHTOOL_A_MM_TX_ENABLED,
720   ETHTOOL_A_MM_TX_ACTIVE,
721   ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
722   ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
723   ETHTOOL_A_MM_VERIFY_ENABLED,
724   ETHTOOL_A_MM_VERIFY_STATUS,
725   ETHTOOL_A_MM_VERIFY_TIME,
726   ETHTOOL_A_MM_MAX_VERIFY_TIME,
727   ETHTOOL_A_MM_STATS,
728   __ETHTOOL_A_MM_CNT,
729   ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
730 };
731 enum {
732   ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
733   ETHTOOL_A_MODULE_FW_FLASH_HEADER,
734   ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
735   ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
736   ETHTOOL_A_MODULE_FW_FLASH_STATUS,
737   ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
738   ETHTOOL_A_MODULE_FW_FLASH_DONE,
739   ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
740   __ETHTOOL_A_MODULE_FW_FLASH_CNT,
741   ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
742 };
743 #define ETHTOOL_GENL_NAME "ethtool"
744 #define ETHTOOL_GENL_VERSION 1
745 #define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
746 #endif
747