~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/ethtool_netlink.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php