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 | 17 | ETHTOOL_MSG_STRSET_GET, |
| 18 | 18 | ETHTOOL_MSG_LINKINFO_GET, |
| 19 | 19 | ETHTOOL_MSG_LINKINFO_SET, |
| 20 | + ETHTOOL_MSG_LINKMODES_GET, | |
| 20 | 21 | |
| 21 | 22 | /* add new constants above here */ |
| 22 | 23 | __ETHTOOL_MSG_USER_CNT, |
| @@ -29,6 +30,7 @@ enum { · 6 unmodified lines | ||
| 29 | 30 | ETHTOOL_MSG_STRSET_GET_REPLY, |
| 30 | 31 | ETHTOOL_MSG_LINKINFO_GET_REPLY, |
| 31 | 32 | ETHTOOL_MSG_LINKINFO_NTF, |
| 33 | + ETHTOOL_MSG_LINKMODES_GET_REPLY, | |
| 32 | 34 | |
| 33 | 35 | /* add new constants above here */ |
| 34 | 36 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -161,6 +163,22 @@ enum { · 126 unmodified lines | ||
| 161 | 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 | 182 | /* generic netlink info */ |
| 165 | 183 | #define ETHTOOL_GENL_NAME "ethtool" |
| 166 | 184 | #define ETHTOOL_GENL_VERSION 1 |