xref: /linux/include/uapi/linux/ethtool_netlink.h (revision ecc31c60240b9808a274befc5db6b8a249a6ade1)
12b4a8990SMichal Kubecek /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
22b4a8990SMichal Kubecek /*
32b4a8990SMichal Kubecek  * include/uapi/linux/ethtool_netlink.h - netlink interface for ethtool
42b4a8990SMichal Kubecek  *
572ef5e52SMauro Carvalho Chehab  * See Documentation/networking/ethtool-netlink.rst in kernel source tree for
62b4a8990SMichal Kubecek  * doucumentation of the interface.
72b4a8990SMichal Kubecek  */
82b4a8990SMichal Kubecek 
92b4a8990SMichal Kubecek #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_
102b4a8990SMichal Kubecek #define _UAPI_LINUX_ETHTOOL_NETLINK_H_
112b4a8990SMichal Kubecek 
122b4a8990SMichal Kubecek #include <linux/ethtool.h>
132b4a8990SMichal Kubecek 
142b4a8990SMichal Kubecek /* message types - userspace to kernel */
152b4a8990SMichal Kubecek enum {
162b4a8990SMichal Kubecek 	ETHTOOL_MSG_USER_NONE,
1771921690SMichal Kubecek 	ETHTOOL_MSG_STRSET_GET,
18459e0b81SMichal Kubecek 	ETHTOOL_MSG_LINKINFO_GET,
19a53f3d41SMichal Kubecek 	ETHTOOL_MSG_LINKINFO_SET,
20f625aa9bSMichal Kubecek 	ETHTOOL_MSG_LINKMODES_GET,
21bfbcfe20SMichal Kubecek 	ETHTOOL_MSG_LINKMODES_SET,
223d2b847fSMichal Kubecek 	ETHTOOL_MSG_LINKSTATE_GET,
236a94b8ccSMichal Kubecek 	ETHTOOL_MSG_DEBUG_GET,
24e54d04e3SMichal Kubecek 	ETHTOOL_MSG_DEBUG_SET,
2551ea22b0SMichal Kubecek 	ETHTOOL_MSG_WOL_GET,
268d425b19SMichal Kubecek 	ETHTOOL_MSG_WOL_SET,
270524399dSMichal Kubecek 	ETHTOOL_MSG_FEATURES_GET,
280980bfcdSMichal Kubecek 	ETHTOOL_MSG_FEATURES_SET,
29e16c3386SMichal Kubecek 	ETHTOOL_MSG_PRIVFLAGS_GET,
30f265d799SMichal Kubecek 	ETHTOOL_MSG_PRIVFLAGS_SET,
31e4a1717bSMichal Kubecek 	ETHTOOL_MSG_RINGS_GET,
322fc2929eSMichal Kubecek 	ETHTOOL_MSG_RINGS_SET,
330c84979cSMichal Kubecek 	ETHTOOL_MSG_CHANNELS_GET,
34e19c591eSMichal Kubecek 	ETHTOOL_MSG_CHANNELS_SET,
3521727545SMichal Kubecek 	ETHTOOL_MSG_COALESCE_GET,
369881418cSMichal Kubecek 	ETHTOOL_MSG_COALESCE_SET,
377f59fb32SMichal Kubecek 	ETHTOOL_MSG_PAUSE_GET,
383ab87993SMichal Kubecek 	ETHTOOL_MSG_PAUSE_SET,
39b7eeefe7SMichal Kubecek 	ETHTOOL_MSG_EEE_GET,
40fd77be7bSMichal Kubecek 	ETHTOOL_MSG_EEE_SET,
415b071c59SMichal Kubecek 	ETHTOOL_MSG_TSINFO_GET,
4211ca3c42SAndrew Lunn 	ETHTOOL_MSG_CABLE_TEST_ACT,
43a331172bSAndrew Lunn 	ETHTOOL_MSG_CABLE_TEST_TDR_ACT,
442b4a8990SMichal Kubecek 
452b4a8990SMichal Kubecek 	/* add new constants above here */
462b4a8990SMichal Kubecek 	__ETHTOOL_MSG_USER_CNT,
472b4a8990SMichal Kubecek 	ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
482b4a8990SMichal Kubecek };
492b4a8990SMichal Kubecek 
502b4a8990SMichal Kubecek /* message types - kernel to userspace */
512b4a8990SMichal Kubecek enum {
522b4a8990SMichal Kubecek 	ETHTOOL_MSG_KERNEL_NONE,
5371921690SMichal Kubecek 	ETHTOOL_MSG_STRSET_GET_REPLY,
54459e0b81SMichal Kubecek 	ETHTOOL_MSG_LINKINFO_GET_REPLY,
5573286734SMichal Kubecek 	ETHTOOL_MSG_LINKINFO_NTF,
56f625aa9bSMichal Kubecek 	ETHTOOL_MSG_LINKMODES_GET_REPLY,
571b1b1847SMichal Kubecek 	ETHTOOL_MSG_LINKMODES_NTF,
583d2b847fSMichal Kubecek 	ETHTOOL_MSG_LINKSTATE_GET_REPLY,
596a94b8ccSMichal Kubecek 	ETHTOOL_MSG_DEBUG_GET_REPLY,
600bda7af3SMichal Kubecek 	ETHTOOL_MSG_DEBUG_NTF,
6151ea22b0SMichal Kubecek 	ETHTOOL_MSG_WOL_GET_REPLY,
6267bffa79SMichal Kubecek 	ETHTOOL_MSG_WOL_NTF,
630524399dSMichal Kubecek 	ETHTOOL_MSG_FEATURES_GET_REPLY,
640980bfcdSMichal Kubecek 	ETHTOOL_MSG_FEATURES_SET_REPLY,
659c6451efSMichal Kubecek 	ETHTOOL_MSG_FEATURES_NTF,
66e16c3386SMichal Kubecek 	ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
67111dcba3SMichal Kubecek 	ETHTOOL_MSG_PRIVFLAGS_NTF,
68e4a1717bSMichal Kubecek 	ETHTOOL_MSG_RINGS_GET_REPLY,
69bc9d1c99SMichal Kubecek 	ETHTOOL_MSG_RINGS_NTF,
700c84979cSMichal Kubecek 	ETHTOOL_MSG_CHANNELS_GET_REPLY,
71546379b9SMichal Kubecek 	ETHTOOL_MSG_CHANNELS_NTF,
7221727545SMichal Kubecek 	ETHTOOL_MSG_COALESCE_GET_REPLY,
730cf3eac8SMichal Kubecek 	ETHTOOL_MSG_COALESCE_NTF,
747f59fb32SMichal Kubecek 	ETHTOOL_MSG_PAUSE_GET_REPLY,
75bf37faa3SMichal Kubecek 	ETHTOOL_MSG_PAUSE_NTF,
76b7eeefe7SMichal Kubecek 	ETHTOOL_MSG_EEE_GET_REPLY,
776c5bc8feSMichal Kubecek 	ETHTOOL_MSG_EEE_NTF,
785b071c59SMichal Kubecek 	ETHTOOL_MSG_TSINFO_GET_REPLY,
79b28efb93SAndrew Lunn 	ETHTOOL_MSG_CABLE_TEST_NTF,
80a331172bSAndrew Lunn 	ETHTOOL_MSG_CABLE_TEST_TDR_NTF,
812b4a8990SMichal Kubecek 
822b4a8990SMichal Kubecek 	/* add new constants above here */
832b4a8990SMichal Kubecek 	__ETHTOOL_MSG_KERNEL_CNT,
842b4a8990SMichal Kubecek 	ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
852b4a8990SMichal Kubecek };
862b4a8990SMichal Kubecek 
87041b1c5dSMichal Kubecek /* request header */
88041b1c5dSMichal Kubecek 
89041b1c5dSMichal Kubecek /* use compact bitsets in reply */
90041b1c5dSMichal Kubecek #define ETHTOOL_FLAG_COMPACT_BITSETS	(1 << 0)
91041b1c5dSMichal Kubecek /* provide optional reply for SET or ACT requests */
92041b1c5dSMichal Kubecek #define ETHTOOL_FLAG_OMIT_REPLY	(1 << 1)
93041b1c5dSMichal Kubecek 
94041b1c5dSMichal Kubecek #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | \
95041b1c5dSMichal Kubecek 			  ETHTOOL_FLAG_OMIT_REPLY)
96041b1c5dSMichal Kubecek 
97041b1c5dSMichal Kubecek enum {
98041b1c5dSMichal Kubecek 	ETHTOOL_A_HEADER_UNSPEC,
99041b1c5dSMichal Kubecek 	ETHTOOL_A_HEADER_DEV_INDEX,		/* u32 */
100041b1c5dSMichal Kubecek 	ETHTOOL_A_HEADER_DEV_NAME,		/* string */
101041b1c5dSMichal Kubecek 	ETHTOOL_A_HEADER_FLAGS,			/* u32 - ETHTOOL_FLAG_* */
102041b1c5dSMichal Kubecek 
103041b1c5dSMichal Kubecek 	/* add new constants above here */
104041b1c5dSMichal Kubecek 	__ETHTOOL_A_HEADER_CNT,
105041b1c5dSMichal Kubecek 	ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
106041b1c5dSMichal Kubecek };
107041b1c5dSMichal Kubecek 
10810b518d4SMichal Kubecek /* bit sets */
10910b518d4SMichal Kubecek 
11010b518d4SMichal Kubecek enum {
11110b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BIT_UNSPEC,
11210b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BIT_INDEX,		/* u32 */
11310b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BIT_NAME,		/* string */
11410b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BIT_VALUE,		/* flag */
11510b518d4SMichal Kubecek 
11610b518d4SMichal Kubecek 	/* add new constants above here */
11710b518d4SMichal Kubecek 	__ETHTOOL_A_BITSET_BIT_CNT,
11810b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
11910b518d4SMichal Kubecek };
12010b518d4SMichal Kubecek 
12110b518d4SMichal Kubecek enum {
12210b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BITS_UNSPEC,
12310b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BITS_BIT,		/* nest - _A_BITSET_BIT_* */
12410b518d4SMichal Kubecek 
12510b518d4SMichal Kubecek 	/* add new constants above here */
12610b518d4SMichal Kubecek 	__ETHTOOL_A_BITSET_BITS_CNT,
12710b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
12810b518d4SMichal Kubecek };
12910b518d4SMichal Kubecek 
13010b518d4SMichal Kubecek enum {
13110b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_UNSPEC,
13210b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_NOMASK,		/* flag */
13310b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_SIZE,			/* u32 */
13410b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_BITS,			/* nest - _A_BITSET_BITS_* */
13510b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_VALUE,			/* binary */
13610b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_MASK,			/* binary */
13710b518d4SMichal Kubecek 
13810b518d4SMichal Kubecek 	/* add new constants above here */
13910b518d4SMichal Kubecek 	__ETHTOOL_A_BITSET_CNT,
14010b518d4SMichal Kubecek 	ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
14110b518d4SMichal Kubecek };
14210b518d4SMichal Kubecek 
14371921690SMichal Kubecek /* string sets */
14471921690SMichal Kubecek 
14571921690SMichal Kubecek enum {
14671921690SMichal Kubecek 	ETHTOOL_A_STRING_UNSPEC,
14771921690SMichal Kubecek 	ETHTOOL_A_STRING_INDEX,			/* u32 */
14871921690SMichal Kubecek 	ETHTOOL_A_STRING_VALUE,			/* string */
14971921690SMichal Kubecek 
15071921690SMichal Kubecek 	/* add new constants above here */
15171921690SMichal Kubecek 	__ETHTOOL_A_STRING_CNT,
15271921690SMichal Kubecek 	ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
15371921690SMichal Kubecek };
15471921690SMichal Kubecek 
15571921690SMichal Kubecek enum {
15671921690SMichal Kubecek 	ETHTOOL_A_STRINGS_UNSPEC,
15771921690SMichal Kubecek 	ETHTOOL_A_STRINGS_STRING,		/* nest - _A_STRINGS_* */
15871921690SMichal Kubecek 
15971921690SMichal Kubecek 	/* add new constants above here */
16071921690SMichal Kubecek 	__ETHTOOL_A_STRINGS_CNT,
16171921690SMichal Kubecek 	ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
16271921690SMichal Kubecek };
16371921690SMichal Kubecek 
16471921690SMichal Kubecek enum {
16571921690SMichal Kubecek 	ETHTOOL_A_STRINGSET_UNSPEC,
16671921690SMichal Kubecek 	ETHTOOL_A_STRINGSET_ID,			/* u32 */
16771921690SMichal Kubecek 	ETHTOOL_A_STRINGSET_COUNT,		/* u32 */
16871921690SMichal Kubecek 	ETHTOOL_A_STRINGSET_STRINGS,		/* nest - _A_STRINGS_* */
16971921690SMichal Kubecek 
17071921690SMichal Kubecek 	/* add new constants above here */
17171921690SMichal Kubecek 	__ETHTOOL_A_STRINGSET_CNT,
17271921690SMichal Kubecek 	ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
17371921690SMichal Kubecek };
17471921690SMichal Kubecek 
17571921690SMichal Kubecek enum {
17671921690SMichal Kubecek 	ETHTOOL_A_STRINGSETS_UNSPEC,
17771921690SMichal Kubecek 	ETHTOOL_A_STRINGSETS_STRINGSET,		/* nest - _A_STRINGSET_* */
17871921690SMichal Kubecek 
17971921690SMichal Kubecek 	/* add new constants above here */
18071921690SMichal Kubecek 	__ETHTOOL_A_STRINGSETS_CNT,
18171921690SMichal Kubecek 	ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
18271921690SMichal Kubecek };
18371921690SMichal Kubecek 
18471921690SMichal Kubecek /* STRSET */
18571921690SMichal Kubecek 
18671921690SMichal Kubecek enum {
18771921690SMichal Kubecek 	ETHTOOL_A_STRSET_UNSPEC,
18871921690SMichal Kubecek 	ETHTOOL_A_STRSET_HEADER,		/* nest - _A_HEADER_* */
18971921690SMichal Kubecek 	ETHTOOL_A_STRSET_STRINGSETS,		/* nest - _A_STRINGSETS_* */
19071921690SMichal Kubecek 	ETHTOOL_A_STRSET_COUNTS_ONLY,		/* flag */
19171921690SMichal Kubecek 
19271921690SMichal Kubecek 	/* add new constants above here */
19371921690SMichal Kubecek 	__ETHTOOL_A_STRSET_CNT,
19471921690SMichal Kubecek 	ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
19571921690SMichal Kubecek };
19671921690SMichal Kubecek 
197459e0b81SMichal Kubecek /* LINKINFO */
198459e0b81SMichal Kubecek 
199459e0b81SMichal Kubecek enum {
200459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_UNSPEC,
201459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_HEADER,		/* nest - _A_HEADER_* */
202459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_PORT,		/* u8 */
203459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_PHYADDR,		/* u8 */
204459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_TP_MDIX,		/* u8 */
205459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,	/* u8 */
206459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_TRANSCEIVER,		/* u8 */
207459e0b81SMichal Kubecek 
208459e0b81SMichal Kubecek 	/* add new constants above here */
209459e0b81SMichal Kubecek 	__ETHTOOL_A_LINKINFO_CNT,
210459e0b81SMichal Kubecek 	ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
211459e0b81SMichal Kubecek };
212459e0b81SMichal Kubecek 
213f625aa9bSMichal Kubecek /* LINKMODES */
214f625aa9bSMichal Kubecek 
215f625aa9bSMichal Kubecek enum {
216f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_UNSPEC,
217f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_HEADER,		/* nest - _A_HEADER_* */
218f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_AUTONEG,		/* u8 */
219f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_OURS,		/* bitset */
220f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_PEER,		/* bitset */
221f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_SPEED,		/* u32 */
222f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_DUPLEX,		/* u8 */
223bdbdac76SOleksij Rempel 	ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,	/* u8 */
224bdbdac76SOleksij Rempel 	ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE,	/* u8 */
225f625aa9bSMichal Kubecek 
226f625aa9bSMichal Kubecek 	/* add new constants above here */
227f625aa9bSMichal Kubecek 	__ETHTOOL_A_LINKMODES_CNT,
228f625aa9bSMichal Kubecek 	ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
229f625aa9bSMichal Kubecek };
230f625aa9bSMichal Kubecek 
2313d2b847fSMichal Kubecek /* LINKSTATE */
2323d2b847fSMichal Kubecek 
2333d2b847fSMichal Kubecek enum {
2343d2b847fSMichal Kubecek 	ETHTOOL_A_LINKSTATE_UNSPEC,
2353d2b847fSMichal Kubecek 	ETHTOOL_A_LINKSTATE_HEADER,		/* nest - _A_HEADER_* */
2363d2b847fSMichal Kubecek 	ETHTOOL_A_LINKSTATE_LINK,		/* u8 */
23780660219SOleksij Rempel 	ETHTOOL_A_LINKSTATE_SQI,		/* u32 */
23880660219SOleksij Rempel 	ETHTOOL_A_LINKSTATE_SQI_MAX,		/* u32 */
239*ecc31c60SAmit Cohen 	ETHTOOL_A_LINKSTATE_EXT_STATE,		/* u8 */
240*ecc31c60SAmit Cohen 	ETHTOOL_A_LINKSTATE_EXT_SUBSTATE,	/* u8 */
2413d2b847fSMichal Kubecek 
2423d2b847fSMichal Kubecek 	/* add new constants above here */
2433d2b847fSMichal Kubecek 	__ETHTOOL_A_LINKSTATE_CNT,
2443d2b847fSMichal Kubecek 	ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
2453d2b847fSMichal Kubecek };
2463d2b847fSMichal Kubecek 
2476a94b8ccSMichal Kubecek /* DEBUG */
2486a94b8ccSMichal Kubecek 
2496a94b8ccSMichal Kubecek enum {
2506a94b8ccSMichal Kubecek 	ETHTOOL_A_DEBUG_UNSPEC,
2516a94b8ccSMichal Kubecek 	ETHTOOL_A_DEBUG_HEADER,			/* nest - _A_HEADER_* */
2526a94b8ccSMichal Kubecek 	ETHTOOL_A_DEBUG_MSGMASK,		/* bitset */
2536a94b8ccSMichal Kubecek 
2546a94b8ccSMichal Kubecek 	/* add new constants above here */
2556a94b8ccSMichal Kubecek 	__ETHTOOL_A_DEBUG_CNT,
2566a94b8ccSMichal Kubecek 	ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
2576a94b8ccSMichal Kubecek };
2586a94b8ccSMichal Kubecek 
25951ea22b0SMichal Kubecek /* WOL */
26051ea22b0SMichal Kubecek 
26151ea22b0SMichal Kubecek enum {
26251ea22b0SMichal Kubecek 	ETHTOOL_A_WOL_UNSPEC,
26351ea22b0SMichal Kubecek 	ETHTOOL_A_WOL_HEADER,			/* nest - _A_HEADER_* */
26451ea22b0SMichal Kubecek 	ETHTOOL_A_WOL_MODES,			/* bitset */
26551ea22b0SMichal Kubecek 	ETHTOOL_A_WOL_SOPASS,			/* binary */
26651ea22b0SMichal Kubecek 
26751ea22b0SMichal Kubecek 	/* add new constants above here */
26851ea22b0SMichal Kubecek 	__ETHTOOL_A_WOL_CNT,
26951ea22b0SMichal Kubecek 	ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
27051ea22b0SMichal Kubecek };
27151ea22b0SMichal Kubecek 
2720524399dSMichal Kubecek /* FEATURES */
2730524399dSMichal Kubecek 
2740524399dSMichal Kubecek enum {
2750524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_UNSPEC,
2760524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_HEADER,			/* nest - _A_HEADER_* */
2770524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_HW,				/* bitset */
2780524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_WANTED,			/* bitset */
2790524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_ACTIVE,			/* bitset */
2800524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_NOCHANGE,			/* bitset */
2810524399dSMichal Kubecek 
2820524399dSMichal Kubecek 	/* add new constants above here */
2830524399dSMichal Kubecek 	__ETHTOOL_A_FEATURES_CNT,
2840524399dSMichal Kubecek 	ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
2850524399dSMichal Kubecek };
2860524399dSMichal Kubecek 
287e16c3386SMichal Kubecek /* PRIVFLAGS */
288e16c3386SMichal Kubecek 
289e16c3386SMichal Kubecek enum {
290e16c3386SMichal Kubecek 	ETHTOOL_A_PRIVFLAGS_UNSPEC,
291e16c3386SMichal Kubecek 	ETHTOOL_A_PRIVFLAGS_HEADER,			/* nest - _A_HEADER_* */
292e16c3386SMichal Kubecek 	ETHTOOL_A_PRIVFLAGS_FLAGS,			/* bitset */
293e16c3386SMichal Kubecek 
294e16c3386SMichal Kubecek 	/* add new constants above here */
295e16c3386SMichal Kubecek 	__ETHTOOL_A_PRIVFLAGS_CNT,
296e16c3386SMichal Kubecek 	ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
297e16c3386SMichal Kubecek };
298e16c3386SMichal Kubecek 
299e4a1717bSMichal Kubecek /* RINGS */
300e4a1717bSMichal Kubecek 
301e4a1717bSMichal Kubecek enum {
302e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_UNSPEC,
303e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_HEADER,				/* nest - _A_HEADER_* */
304e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_RX_MAX,				/* u32 */
305e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_RX_MINI_MAX,			/* u32 */
306e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_RX_JUMBO_MAX,			/* u32 */
307e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_TX_MAX,				/* u32 */
308e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_RX,				/* u32 */
309e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_RX_MINI,			/* u32 */
310e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_RX_JUMBO,			/* u32 */
311e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_TX,				/* u32 */
312e4a1717bSMichal Kubecek 
313e4a1717bSMichal Kubecek 	/* add new constants above here */
314e4a1717bSMichal Kubecek 	__ETHTOOL_A_RINGS_CNT,
315e4a1717bSMichal Kubecek 	ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
316e4a1717bSMichal Kubecek };
317e4a1717bSMichal Kubecek 
3180c84979cSMichal Kubecek /* CHANNELS */
3190c84979cSMichal Kubecek 
3200c84979cSMichal Kubecek enum {
3210c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_UNSPEC,
3220c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_HEADER,			/* nest - _A_HEADER_* */
3230c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_RX_MAX,			/* u32 */
3240c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_TX_MAX,			/* u32 */
3250c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_OTHER_MAX,			/* u32 */
3260c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_COMBINED_MAX,		/* u32 */
3270c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_RX_COUNT,			/* u32 */
3280c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_TX_COUNT,			/* u32 */
3290c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_OTHER_COUNT,			/* u32 */
3300c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_COMBINED_COUNT,		/* u32 */
3310c84979cSMichal Kubecek 
3320c84979cSMichal Kubecek 	/* add new constants above here */
3330c84979cSMichal Kubecek 	__ETHTOOL_A_CHANNELS_CNT,
3340c84979cSMichal Kubecek 	ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
3350c84979cSMichal Kubecek };
3360c84979cSMichal Kubecek 
33721727545SMichal Kubecek /* COALESCE */
33821727545SMichal Kubecek 
33921727545SMichal Kubecek enum {
34021727545SMichal Kubecek 	ETHTOOL_A_COALESCE_UNSPEC,
34121727545SMichal Kubecek 	ETHTOOL_A_COALESCE_HEADER,			/* nest - _A_HEADER_* */
34221727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_USECS,			/* u32 */
34321727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_MAX_FRAMES,		/* u32 */
34421727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_USECS_IRQ,		/* u32 */
34521727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,		/* u32 */
34621727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_USECS,			/* u32 */
34721727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_MAX_FRAMES,		/* u32 */
34821727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_USECS_IRQ,		/* u32 */
34921727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,		/* u32 */
35021727545SMichal Kubecek 	ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,		/* u32 */
35121727545SMichal Kubecek 	ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,		/* u8 */
35221727545SMichal Kubecek 	ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,		/* u8 */
35321727545SMichal Kubecek 	ETHTOOL_A_COALESCE_PKT_RATE_LOW,		/* u32 */
35421727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_USECS_LOW,		/* u32 */
35521727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,		/* u32 */
35621727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_USECS_LOW,		/* u32 */
35721727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,		/* u32 */
35821727545SMichal Kubecek 	ETHTOOL_A_COALESCE_PKT_RATE_HIGH,		/* u32 */
35921727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_USECS_HIGH,		/* u32 */
36021727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,		/* u32 */
36121727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_USECS_HIGH,		/* u32 */
36221727545SMichal Kubecek 	ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,		/* u32 */
36321727545SMichal Kubecek 	ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,	/* u32 */
36421727545SMichal Kubecek 
36521727545SMichal Kubecek 	/* add new constants above here */
36621727545SMichal Kubecek 	__ETHTOOL_A_COALESCE_CNT,
36721727545SMichal Kubecek 	ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
36821727545SMichal Kubecek };
36921727545SMichal Kubecek 
3707f59fb32SMichal Kubecek /* PAUSE */
3717f59fb32SMichal Kubecek 
3727f59fb32SMichal Kubecek enum {
3737f59fb32SMichal Kubecek 	ETHTOOL_A_PAUSE_UNSPEC,
3747f59fb32SMichal Kubecek 	ETHTOOL_A_PAUSE_HEADER,				/* nest - _A_HEADER_* */
3757f59fb32SMichal Kubecek 	ETHTOOL_A_PAUSE_AUTONEG,			/* u8 */
3767f59fb32SMichal Kubecek 	ETHTOOL_A_PAUSE_RX,				/* u8 */
3777f59fb32SMichal Kubecek 	ETHTOOL_A_PAUSE_TX,				/* u8 */
3787f59fb32SMichal Kubecek 
3797f59fb32SMichal Kubecek 	/* add new constants above here */
3807f59fb32SMichal Kubecek 	__ETHTOOL_A_PAUSE_CNT,
3817f59fb32SMichal Kubecek 	ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
3827f59fb32SMichal Kubecek };
3837f59fb32SMichal Kubecek 
384b7eeefe7SMichal Kubecek /* EEE */
385b7eeefe7SMichal Kubecek 
386b7eeefe7SMichal Kubecek enum {
387b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_UNSPEC,
388b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_HEADER,				/* nest - _A_HEADER_* */
389b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_MODES_OURS,			/* bitset */
390b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_MODES_PEER,			/* bitset */
391b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_ACTIVE,				/* u8 */
392b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_ENABLED,				/* u8 */
393b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_TX_LPI_ENABLED,			/* u8 */
394b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_TX_LPI_TIMER,			/* u32 */
395b7eeefe7SMichal Kubecek 
396b7eeefe7SMichal Kubecek 	/* add new constants above here */
397b7eeefe7SMichal Kubecek 	__ETHTOOL_A_EEE_CNT,
398b7eeefe7SMichal Kubecek 	ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
399b7eeefe7SMichal Kubecek };
400b7eeefe7SMichal Kubecek 
4015b071c59SMichal Kubecek /* TSINFO */
4025b071c59SMichal Kubecek 
4035b071c59SMichal Kubecek enum {
4045b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_UNSPEC,
4055b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_HEADER,			/* nest - _A_HEADER_* */
4065b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_TIMESTAMPING,			/* bitset */
4075b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_TX_TYPES,			/* bitset */
4085b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_RX_FILTERS,			/* bitset */
4095b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_PHC_INDEX,			/* u32 */
4105b071c59SMichal Kubecek 
4115b071c59SMichal Kubecek 	/* add new constants above here */
4125b071c59SMichal Kubecek 	__ETHTOOL_A_TSINFO_CNT,
4135b071c59SMichal Kubecek 	ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
4145b071c59SMichal Kubecek };
4155b071c59SMichal Kubecek 
41611ca3c42SAndrew Lunn /* CABLE TEST */
41711ca3c42SAndrew Lunn 
41811ca3c42SAndrew Lunn enum {
41911ca3c42SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_UNSPEC,
42011ca3c42SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_HEADER,		/* nest - _A_HEADER_* */
42111ca3c42SAndrew Lunn 
42211ca3c42SAndrew Lunn 	/* add new constants above here */
42311ca3c42SAndrew Lunn 	__ETHTOOL_A_CABLE_TEST_CNT,
42411ca3c42SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_MAX = __ETHTOOL_A_CABLE_TEST_CNT - 1
42511ca3c42SAndrew Lunn };
42611ca3c42SAndrew Lunn 
427b28efb93SAndrew Lunn /* CABLE TEST NOTIFY */
428b28efb93SAndrew Lunn enum {
429b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC,
430b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_CODE_OK,
431b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_CODE_OPEN,
432b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT,
433b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT,
434b28efb93SAndrew Lunn };
435b28efb93SAndrew Lunn 
436b28efb93SAndrew Lunn enum {
437b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_PAIR_A,
438b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_PAIR_B,
439b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_PAIR_C,
440b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_PAIR_D,
441b28efb93SAndrew Lunn };
442b28efb93SAndrew Lunn 
443b28efb93SAndrew Lunn enum {
444b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_UNSPEC,
445b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_PAIR,		/* u8 ETHTOOL_A_CABLE_PAIR_ */
446b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_CODE,		/* u8 ETHTOOL_A_CABLE_RESULT_CODE_ */
447b28efb93SAndrew Lunn 
448b28efb93SAndrew Lunn 	__ETHTOOL_A_CABLE_RESULT_CNT,
449b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_RESULT_MAX = (__ETHTOOL_A_CABLE_RESULT_CNT - 1)
450b28efb93SAndrew Lunn };
451b28efb93SAndrew Lunn 
452b28efb93SAndrew Lunn enum {
453b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC,
454b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR,	/* u8 ETHTOOL_A_CABLE_PAIR_ */
455b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_FAULT_LENGTH_CM,	/* u32 */
456b28efb93SAndrew Lunn 
457b28efb93SAndrew Lunn 	__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT,
458b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = (__ETHTOOL_A_CABLE_FAULT_LENGTH_CNT - 1)
459b28efb93SAndrew Lunn };
460b28efb93SAndrew Lunn 
461b28efb93SAndrew Lunn enum {
462b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC,
463b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED,
464b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED
465b28efb93SAndrew Lunn };
466b28efb93SAndrew Lunn 
467b28efb93SAndrew Lunn enum {
468b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_NEST_UNSPEC,
469b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_NEST_RESULT,		/* nest - ETHTOOL_A_CABLE_RESULT_ */
470b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_NEST_FAULT_LENGTH,	/* nest - ETHTOOL_A_CABLE_FAULT_LENGTH_ */
471b28efb93SAndrew Lunn 	__ETHTOOL_A_CABLE_NEST_CNT,
472b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_NEST_MAX = (__ETHTOOL_A_CABLE_NEST_CNT - 1)
473b28efb93SAndrew Lunn };
474b28efb93SAndrew Lunn 
475b28efb93SAndrew Lunn enum {
476b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_UNSPEC,
477b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_HEADER,	/* nest - ETHTOOL_A_HEADER_* */
478b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_STATUS,	/* u8 - _STARTED/_COMPLETE */
479b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_NEST,		/* nest - of results: */
480b28efb93SAndrew Lunn 
481b28efb93SAndrew Lunn 	__ETHTOOL_A_CABLE_TEST_NTF_CNT,
482b28efb93SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_NTF_MAX = (__ETHTOOL_A_CABLE_TEST_NTF_CNT - 1)
483b28efb93SAndrew Lunn };
484b28efb93SAndrew Lunn 
485a331172bSAndrew Lunn /* CABLE TEST TDR */
486a331172bSAndrew Lunn 
487a331172bSAndrew Lunn enum {
488f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC,
489f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST,		/* u32 */
490f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST,		/* u32 */
491f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP,		/* u32 */
492f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR,		/* u8 */
493f2bc8ad3SAndrew Lunn 
494f2bc8ad3SAndrew Lunn 	/* add new constants above here */
495f2bc8ad3SAndrew Lunn 	__ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT,
496f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CFG_CNT - 1
497f2bc8ad3SAndrew Lunn };
498f2bc8ad3SAndrew Lunn 
499f2bc8ad3SAndrew Lunn enum {
500a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_UNSPEC,
501a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_HEADER,	/* nest - _A_HEADER_* */
502f2bc8ad3SAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_CFG,		/* nest - *_TDR_CFG_* */
503a331172bSAndrew Lunn 
504a331172bSAndrew Lunn 	/* add new constants above here */
505a331172bSAndrew Lunn 	__ETHTOOL_A_CABLE_TEST_TDR_CNT,
506a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_MAX = __ETHTOOL_A_CABLE_TEST_TDR_CNT - 1
507a331172bSAndrew Lunn };
508a331172bSAndrew Lunn 
509a331172bSAndrew Lunn /* CABLE TEST TDR NOTIFY */
510a331172bSAndrew Lunn 
511a331172bSAndrew Lunn enum {
512a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC,
513a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_AMPLITUDE_PAIR,         /* u8 */
514a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_AMPLITUDE_mV,           /* s16 */
515a331172bSAndrew Lunn 
516a331172bSAndrew Lunn 	__ETHTOOL_A_CABLE_AMPLITUDE_CNT,
517a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_AMPLITUDE_MAX = (__ETHTOOL_A_CABLE_AMPLITUDE_CNT - 1)
518a331172bSAndrew Lunn };
519a331172bSAndrew Lunn 
520a331172bSAndrew Lunn enum {
521a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_PULSE_UNSPEC,
522a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_PULSE_mV,		/* s16 */
523a331172bSAndrew Lunn 
524a331172bSAndrew Lunn 	__ETHTOOL_A_CABLE_PULSE_CNT,
525a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_PULSE_MAX = (__ETHTOOL_A_CABLE_PULSE_CNT - 1)
526a331172bSAndrew Lunn };
527a331172bSAndrew Lunn 
528a331172bSAndrew Lunn enum {
529a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_STEP_UNSPEC,
530a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE,	/* u32 */
531a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_STEP_LAST_DISTANCE,	/* u32 */
532a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_STEP_STEP_DISTANCE,	/* u32 */
533a331172bSAndrew Lunn 
534a331172bSAndrew Lunn 	__ETHTOOL_A_CABLE_STEP_CNT,
535a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_STEP_MAX = (__ETHTOOL_A_CABLE_STEP_CNT - 1)
536a331172bSAndrew Lunn };
537a331172bSAndrew Lunn 
538a331172bSAndrew Lunn enum {
539a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TDR_NEST_UNSPEC,
540a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TDR_NEST_STEP,		/* nest - ETHTTOOL_A_CABLE_STEP */
541a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE,	/* nest - ETHTOOL_A_CABLE_AMPLITUDE */
542a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TDR_NEST_PULSE,		/* nest - ETHTOOL_A_CABLE_PULSE */
543a331172bSAndrew Lunn 
544a331172bSAndrew Lunn 	__ETHTOOL_A_CABLE_TDR_NEST_CNT,
545a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TDR_NEST_MAX = (__ETHTOOL_A_CABLE_TDR_NEST_CNT - 1)
546a331172bSAndrew Lunn };
547a331172bSAndrew Lunn 
548a331172bSAndrew Lunn enum {
549a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC,
550a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER,	/* nest - ETHTOOL_A_HEADER_* */
551a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS,	/* u8 - _STARTED/_COMPLETE */
552a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST,	/* nest - of results: */
553a331172bSAndrew Lunn 
554a331172bSAndrew Lunn 	/* add new constants above here */
555a331172bSAndrew Lunn 	__ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT,
556a331172bSAndrew Lunn 	ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = __ETHTOOL_A_CABLE_TEST_TDR_NTF_CNT - 1
557a331172bSAndrew Lunn };
558a331172bSAndrew Lunn 
5592b4a8990SMichal Kubecek /* generic netlink info */
5602b4a8990SMichal Kubecek #define ETHTOOL_GENL_NAME "ethtool"
5612b4a8990SMichal Kubecek #define ETHTOOL_GENL_VERSION 1
5622b4a8990SMichal Kubecek 
5636b08d6c1SMichal Kubecek #define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
5646b08d6c1SMichal Kubecek 
5652b4a8990SMichal Kubecek #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */
566