Implement LINKSTATE_GET netlink request to get link state information. At the moment, only link up flag as provided by ETHTOOL_GLINK ioctl command is returned. LINKSTATE_GET request can be used with NLM_F_DUMP (without device identification) to request the information for all devices in current network namespace providing the data.
Showing the changes to include/uapi/linux (1 of 9 files). Show all
Unified · Split
| @@ -19,6 +19,7 @@ enum { · 18 unmodified lines | |||
| 19 | ETHTOOL_MSG_LINKINFO_SET, | 19 | ETHTOOL_MSG_LINKINFO_SET, |
| 20 | ETHTOOL_MSG_LINKMODES_GET, | 20 | ETHTOOL_MSG_LINKMODES_GET, |
| 21 | ETHTOOL_MSG_LINKMODES_SET, | 21 | ETHTOOL_MSG_LINKMODES_SET, |
| 22 | ETHTOOL_MSG_LINKSTATE_GET, | ||
| 22 | 23 | ||
| 23 | /* add new constants above here */ | 24 | /* add new constants above here */ |
| 24 | __ETHTOOL_MSG_USER_CNT, | 25 | __ETHTOOL_MSG_USER_CNT, |
| @@ -33,6 +34,7 @@ enum { · 8 unmodified lines | |||
| 33 | ETHTOOL_MSG_LINKINFO_NTF, | 34 | ETHTOOL_MSG_LINKINFO_NTF, |
| 34 | ETHTOOL_MSG_LINKMODES_GET_REPLY, | 35 | ETHTOOL_MSG_LINKMODES_GET_REPLY, |
| 35 | ETHTOOL_MSG_LINKMODES_NTF, | 36 | ETHTOOL_MSG_LINKMODES_NTF, |
| 37 | ETHTOOL_MSG_LINKSTATE_GET_REPLY, | ||
| 36 | 38 | ||
| 37 | /* add new constants above here */ | 39 | /* add new constants above here */ |
| 38 | __ETHTOOL_MSG_KERNEL_CNT, | 40 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -181,6 +183,18 @@ enum { · 142 unmodified lines | |||
| 181 | ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 | 183 | ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 |
| 182 | }; | 184 | }; |
| 183 | 185 | ||
| 186 | /* LINKSTATE */ | ||
| 187 | |||
| 188 | enum { | ||
| 189 | ETHTOOL_A_LINKSTATE_UNSPEC, | ||
| 190 | ETHTOOL_A_LINKSTATE_HEADER, /* nest - _A_HEADER_* */ | ||
| 191 | ETHTOOL_A_LINKSTATE_LINK, /* u8 */ | ||
| 192 | |||
| 193 | /* add new constants above here */ | ||
| 194 | __ETHTOOL_A_LINKSTATE_CNT, | ||
| 195 | ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1 | ||
| 196 | }; | ||
| 197 | |||
| 184 | /* generic netlink info */ | 198 | /* generic netlink info */ |
| 185 | #define ETHTOOL_GENL_NAME "ethtool" | 199 | #define ETHTOOL_GENL_NAME "ethtool" |
| 186 | #define ETHTOOL_GENL_VERSION 1 | 200 | #define ETHTOOL_GENL_VERSION 1 |