Implement COALESCE_GET request to get coalescing parameters of a network device. These are traditionally available via ETHTOOL_GCOALESCE ioctl request. This commit adds only support for device coalescing parameters, not per queue coalescing parameters. Omit attributes with zero values unless they are declared as supported (i.e. the corresponding bit in ethtool_ops::supported_coalesce_params is set).
Showing the changes to include/uapi/linux (1 of 6 files). Show all
Unified · Split
| @@ -32,6 +32,7 @@ enum { · 31 unmodified lines | ||
| 32 | 32 | ETHTOOL_MSG_RINGS_SET, |
| 33 | 33 | ETHTOOL_MSG_CHANNELS_GET, |
| 34 | 34 | ETHTOOL_MSG_CHANNELS_SET, |
| 35 | + ETHTOOL_MSG_COALESCE_GET, | |
| 35 | 36 | |
| 36 | 37 | /* add new constants above here */ |
| 37 | 38 | __ETHTOOL_MSG_USER_CNT, |
| @@ -60,6 +61,7 @@ enum { · 22 unmodified lines | ||
| 60 | 61 | ETHTOOL_MSG_RINGS_NTF, |
| 61 | 62 | ETHTOOL_MSG_CHANNELS_GET_REPLY, |
| 62 | 63 | ETHTOOL_MSG_CHANNELS_NTF, |
| 64 | + ETHTOOL_MSG_COALESCE_GET_REPLY, | |
| 63 | 65 | |
| 64 | 66 | /* add new constants above here */ |
| 65 | 67 | __ETHTOOL_MSG_KERNEL_CNT, |
| @@ -310,6 +312,39 @@ enum { · 244 unmodified lines | ||
| 310 | 312 | ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1) |
| 311 | 313 | }; |
| 312 | 314 | |
| 315 | +/* COALESCE */ | |
| 316 | + | |
| 317 | +enum { | |
| 318 | + ETHTOOL_A_COALESCE_UNSPEC, | |
| 319 | + ETHTOOL_A_COALESCE_HEADER, /* nest - _A_HEADER_* */ | |
| 320 | + ETHTOOL_A_COALESCE_RX_USECS, /* u32 */ | |
| 321 | + ETHTOOL_A_COALESCE_RX_MAX_FRAMES, /* u32 */ | |
| 322 | + ETHTOOL_A_COALESCE_RX_USECS_IRQ, /* u32 */ | |
| 323 | + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ, /* u32 */ | |
| 324 | + ETHTOOL_A_COALESCE_TX_USECS, /* u32 */ | |
| 325 | + ETHTOOL_A_COALESCE_TX_MAX_FRAMES, /* u32 */ | |
| 326 | + ETHTOOL_A_COALESCE_TX_USECS_IRQ, /* u32 */ | |
| 327 | + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ, /* u32 */ | |
| 328 | + ETHTOOL_A_COALESCE_STATS_BLOCK_USECS, /* u32 */ | |
| 329 | + ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX, /* u8 */ | |
| 330 | + ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX, /* u8 */ | |
| 331 | + ETHTOOL_A_COALESCE_PKT_RATE_LOW, /* u32 */ | |
| 332 | + ETHTOOL_A_COALESCE_RX_USECS_LOW, /* u32 */ | |
| 333 | + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW, /* u32 */ | |
| 334 | + ETHTOOL_A_COALESCE_TX_USECS_LOW, /* u32 */ | |
| 335 | + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW, /* u32 */ | |
| 336 | + ETHTOOL_A_COALESCE_PKT_RATE_HIGH, /* u32 */ | |
| 337 | + ETHTOOL_A_COALESCE_RX_USECS_HIGH, /* u32 */ | |
| 338 | + ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH, /* u32 */ | |
| 339 | + ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */ | |
| 340 | + ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */ | |
| 341 | + ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */ | |
| 342 | + | |
| 343 | + /* add new constants above here */ | |
| 344 | + __ETHTOOL_A_COALESCE_CNT, | |
| 345 | + ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1) | |
| 346 | +}; | |
| 347 | + | |
| 313 | 348 | /* generic netlink info */ |
| 314 | 349 | #define ETHTOOL_GENL_NAME "ethtool" |
| 315 | 350 | #define ETHTOOL_GENL_VERSION 1 |