# Re: \[PATCH RESEND ethtool-next\] netlink: settings: add netlink support for coalesce cqe mode parameter

- From: moyufeng \<hidden\>
- Date: 2021-08-30 01:46:27 
- List: netdev
- Page: https://ratatoskr.run/netdev/2021/08/11210467
- Thread: https://ratatoskr.run/netdev/2021/08/11210301/t.md

```text


On 2021/8/30 0:57, Michal Kubecek wrote:
> On Fri, Aug 27, 2021 at 02:06:48PM +0800, Yufeng Mo wrote:
>> Add support for "ethtool -c <dev> cqe-mode-rx/cqe-mode-tx on/off"
>> for setting coalesce cqe mode.
>>
>> Signed-off-by: Yufeng Mo <redacted>
>> ---
>>  ethtool.c          |  2 ++
>>  netlink/coalesce.c | 15 +++++++++++++++
>>  2 files changed, 17 insertions(+)
> 
> Please update also the man page (file ethtool.8.in) to show the new
> parameters.
> 
> Michal
> 
ok, thanks

>> diff --git a/ethtool.c b/ethtool.c
>> index 2486caa..a6826e9 100644
>> --- a/ethtool.c
>> +++ b/ethtool.c
>> @@ -5703,6 +5703,8 @@ static const struct option args[] = {
>>  			  "		[tx-usecs-high N]\n"
>>  			  "		[tx-frames-high N]\n"
>>  			  "		[sample-interval N]\n"
>> +			  "		[cqe-mode-rx on|off]\n"
>> +			  "		[cqe-mode-tx on|off]\n"
>>  	},
>>  	{
>>  		.opts	= "-g|--show-ring",
>> diff --git a/netlink/coalesce.c b/netlink/coalesce.c
>> index 75922a9..762d0e3 100644
>> --- a/netlink/coalesce.c
>> +++ b/netlink/coalesce.c
>> @@ -66,6 +66,9 @@ int coalesce_reply_cb(const struct nlmsghdr *nlhdr, void *data)
>>  	show_u32(tb[ETHTOOL_A_COALESCE_TX_USECS_HIGH], "tx-usecs-high: ");
>>  	show_u32(tb[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH], "tx-frame-high: ");
>>  	putchar('\n');
>> +	show_bool("rx", "CQE mode RX: %s  ",
>> +		  tb[ETHTOOL_A_COALESCE_USE_CQE_MODE_RX]);
>> +	show_bool("tx", "TX: %s\n", tb[ETHTOOL_A_COALESCE_USE_CQE_MODE_TX]);
>>  
>>  	return MNL_CB_OK;
>>  }
>> @@ -226,6 +229,18 @@ static const struct param_parser scoalesce_params[] = {
>>  		.handler	= nl_parse_direct_u32,
>>  		.min_argc	= 1,
>>  	},
>> +	{
>> +		.arg		= "cqe-mode-rx",
>> +		.type		= ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
>> +		.handler	= nl_parse_u8bool,
>> +		.min_argc	= 1,
>> +	},
>> +	{
>> +		.arg		= "cqe-mode-tx",
>> +		.type		= ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
>> +		.handler	= nl_parse_u8bool,
>> +		.min_argc	= 1,
>> +	},
>>  	{}
>>  };
>>  
>> -- 
>> 2.8.1
>>
```
