Implement LINKMODES_GET netlink request to get link modes related information provided by ETHTOOL_GLINKSETTINGS and ETHTOOL_GSET ioctl commands. This request provides supported, advertised and peer advertised link modes, autonegotiation flag, speed and duplex. LINKMODES_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 7 files). Show all
Unified · Split
| @@ -17,6 +17,7 @@ enum { · 16 unmodified lines | |||
| 17 | ETHTOOL_MSG_STRSET_GET, | 17 | ETHTOOL_MSG_STRSET_GET, |
| 18 | ETHTOOL_MSG_LINKINFO_GET, | 18 | ETHTOOL_MSG_LINKINFO_GET, |
| 19 | ETHTOOL_MSG_LINKINFO_SET, | 19 | ETHTOOL_MSG_LINKINFO_SET, |
| 20 | ETHTOOL_MSG_LINKMODES_GET, | ||
| 20 | 21 | ||
| 21 | /* add new constants above here */ | 22 | /* add new constants above here */ |
| 22 | __ETHTOOL_MSG_USER_CNT, | 23 | __ETHTOOL_MSG_USER_CNT, |
| @@ -29,6 +30,7 @@ enum { · 6 unmodified lines | |||
| 29 | ETHTOOL_MSG_STRSET_GET_REPLY, | 30 | ETHTOOL_MSG_STRSET_GET_REPLY, |
| 30 | ETHTOOL_MSG_LINKINFO_GET_REPLY, | 31 | ETHTOOL_MSG_LINKINFO_GET_REPLY, |
| 31 | ETHTOOL_MSG_LINKINFO_NTF, | 32 | ETHTOOL_MSG_LINKINFO_NTF, |
| 33 | ETHTOOL_MSG_LINKMODES_GET_REPLY, | ||
| 32 | 34 | ||
| 33 | /* add new constants above here */ | 35 | /* add new constants above here */ |
| 34 | __ETHTOOL_MSG_KERNEL_CNT, | 36 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -161,6 +163,22 @@ enum { · 126 unmodified lines | |||
| 161 | ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1 | 163 | ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1 |
| 162 | }; | 164 | }; |
| 163 | 165 | ||
| 166 | /* LINKMODES */ | ||
| 167 | |||
| 168 | enum { | ||
| 169 | ETHTOOL_A_LINKMODES_UNSPEC, | ||
| 170 | ETHTOOL_A_LINKMODES_HEADER, /* nest - _A_HEADER_* */ | ||
| 171 | ETHTOOL_A_LINKMODES_AUTONEG, /* u8 */ | ||
| 172 | ETHTOOL_A_LINKMODES_OURS, /* bitset */ | ||
| 173 | ETHTOOL_A_LINKMODES_PEER, /* bitset */ | ||
| 174 | ETHTOOL_A_LINKMODES_SPEED, /* u32 */ | ||
| 175 | ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */ | ||
| 176 | |||
| 177 | /* add new constants above here */ | ||
| 178 | __ETHTOOL_A_LINKMODES_CNT, | ||
| 179 | ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1 | ||
| 180 | }; | ||
| 181 | |||
| 164 | /* generic netlink info */ | 182 | /* generic netlink info */ |
| 165 | #define ETHTOOL_GENL_NAME "ethtool" | 183 | #define ETHTOOL_GENL_NAME "ethtool" |
| 166 | #define ETHTOOL_GENL_VERSION 1 | 184 | #define ETHTOOL_GENL_VERSION 1 |