History

ethtool: provide netdev features with FEATURES_GET request

Implement FEATURES_GET request to get network device features. These are traditionally available via ETHTOOL_GFEATURES ioctl request. v2: - style cleanup suggested by Jakub Kicinski

Michal Kubecek committed 6 years ago

Commit 05243991 parent f70bb068 files · +202 −12Browse files

Showing the changes to include/uapi/linux (1 of 8 files). Show all

Unified · Split

include/uapi/linux/ethtool_netlink.h+17−0
@@ -24,6 +24,7 @@ enum { · 23 unmodified lines
2424 ETHTOOL_MSG_DEBUG_SET,
2525 ETHTOOL_MSG_WOL_GET,
2626 ETHTOOL_MSG_WOL_SET,
27+ ETHTOOL_MSG_FEATURES_GET,
2728
2829 /* add new constants above here */
2930 __ETHTOOL_MSG_USER_CNT,
@@ -43,6 +44,7 @@ enum { · 13 unmodified lines
4344 ETHTOOL_MSG_DEBUG_NTF,
4445 ETHTOOL_MSG_WOL_GET_REPLY,
4546 ETHTOOL_MSG_WOL_NTF,
47+ ETHTOOL_MSG_FEATURES_GET_REPLY,
4648
4749 /* add new constants above here */
4850 __ETHTOOL_MSG_KERNEL_CNT,
@@ -228,6 +230,21 @@ enum { · 179 unmodified lines
228230 ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
229231 };
230232
233+/* FEATURES */
234+
235+enum {
236+ ETHTOOL_A_FEATURES_UNSPEC,
237+ ETHTOOL_A_FEATURES_HEADER, /* nest - _A_HEADER_* */
238+ ETHTOOL_A_FEATURES_HW, /* bitset */
239+ ETHTOOL_A_FEATURES_WANTED, /* bitset */
240+ ETHTOOL_A_FEATURES_ACTIVE, /* bitset */
241+ ETHTOOL_A_FEATURES_NOCHANGE, /* bitset */
242+
243+ /* add new constants above here */
244+ __ETHTOOL_A_FEATURES_CNT,
245+ ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
246+};
247+
231248 /* generic netlink info */
232249 #define ETHTOOL_GENL_NAME "ethtool"
233250 #define ETHTOOL_GENL_VERSION 1