* [PATCH ethtool-next] ethtool: netlink: add support to get/set tx push by ethtool -G/g
@ 2022-04-19 12:50 Guangbin Huang
2022-04-19 13:07 ` Michal Kubecek
0 siblings, 1 reply; 3+ messages in thread
From: Guangbin Huang @ 2022-04-19 12:50 UTC (permalink / raw)
To: mkubecek, davem, kuba; +Cc: netdev, lipeng321, huangguangbin2
From: Jie Wang <wangjie125@huawei.com>
Currently tx push is a standard feature for NICs such as Mellanox, HNS3.
But there is no command to set or get this feature.
So this patch adds support for "ethtool -G <dev> tx-push on|off" and
"ethtool -g <dev>" to set/get tx push mode.
Signed-off-by: Jie Wang <wangjie125@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
---
ethtool.8.in | 4 ++++
ethtool.c | 1 +
netlink/rings.c | 7 +++++++
uapi/linux/ethtool_netlink.h | 1 +
4 files changed, 13 insertions(+)
diff --git a/ethtool.8.in b/ethtool.8.in
index 12940e1b32aa..a87f31f90077 100644
--- a/ethtool.8.in
+++ b/ethtool.8.in
@@ -199,6 +199,7 @@ ethtool \- query or control network driver and hardware settings
.BN rx\-jumbo
.BN tx
.BN rx\-buf\-len
+.BN tx\-push
.HP
.B ethtool \-i|\-\-driver
.I devname
@@ -573,6 +574,9 @@ Changes the number of ring entries for the Tx ring.
.TP
.BI rx\-buf\-len \ N
Changes the size of a buffer in the Rx ring.
+.TP
+.BI tx\-push \ on|off
+Specifies whether TX push should be enabled.
.RE
.TP
.B \-i \-\-driver
diff --git a/ethtool.c b/ethtool.c
index 4f5c234304be..4d2a475051a7 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -5733,6 +5733,7 @@ static const struct option args[] = {
" [ rx-jumbo N ]\n"
" [ tx N ]\n"
" [ rx-buf-len N]\n"
+ " [ tx-push on|off]\n"
},
{
.opts = "-k|--show-features|--show-offload",
diff --git a/netlink/rings.c b/netlink/rings.c
index 119178ea336b..a53eed5dbc60 100644
--- a/netlink/rings.c
+++ b/netlink/rings.c
@@ -47,6 +47,7 @@ int rings_reply_cb(const struct nlmsghdr *nlhdr, void *data)
show_u32(tb[ETHTOOL_A_RINGS_RX_JUMBO], "RX Jumbo:\t");
show_u32(tb[ETHTOOL_A_RINGS_TX], "TX:\t\t");
show_u32(tb[ETHTOOL_A_RINGS_RX_BUF_LEN], "RX Buf Len:\t\t");
+ show_bool("tx-push", "TX Push:\t%s\n", tb[ETHTOOL_A_RINGS_TX_PUSH]);
return MNL_CB_OK;
}
@@ -105,6 +106,12 @@ static const struct param_parser sring_params[] = {
.handler = nl_parse_direct_u32,
.min_argc = 1,
},
+ {
+ .arg = "tx-push",
+ .type = ETHTOOL_A_RINGS_TX_PUSH,
+ .handler = nl_parse_u8bool,
+ .min_argc = 0,
+ },
{}
};
diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h
index d8b19cf98003..79fe0bf686f3 100644
--- a/uapi/linux/ethtool_netlink.h
+++ b/uapi/linux/ethtool_netlink.h
@@ -330,6 +330,7 @@ enum {
ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
ETHTOOL_A_RINGS_TX, /* u32 */
ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
+ ETHTOOL_A_RINGS_TX_PUSH = 13, /* u8 */
/* add new constants above here */
__ETHTOOL_A_RINGS_CNT,
--
2.33.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH ethtool-next] ethtool: netlink: add support to get/set tx push by ethtool -G/g
2022-04-19 12:50 [PATCH ethtool-next] ethtool: netlink: add support to get/set tx push by ethtool -G/g Guangbin Huang
@ 2022-04-19 13:07 ` Michal Kubecek
2022-04-19 13:20 ` wangjie (L)
0 siblings, 1 reply; 3+ messages in thread
From: Michal Kubecek @ 2022-04-19 13:07 UTC (permalink / raw)
To: Guangbin Huang; +Cc: davem, kuba, netdev, lipeng321
[-- Attachment #1: Type: text/plain, Size: 1245 bytes --]
On Tue, Apr 19, 2022 at 08:50:30PM +0800, Guangbin Huang wrote:
> From: Jie Wang <wangjie125@huawei.com>
>
> Currently tx push is a standard feature for NICs such as Mellanox, HNS3.
> But there is no command to set or get this feature.
>
> So this patch adds support for "ethtool -G <dev> tx-push on|off" and
> "ethtool -g <dev>" to set/get tx push mode.
>
> Signed-off-by: Jie Wang <wangjie125@huawei.com>
> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
> ---
[...]
> diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h
> index d8b19cf98003..79fe0bf686f3 100644
> --- a/uapi/linux/ethtool_netlink.h
> +++ b/uapi/linux/ethtool_netlink.h
> @@ -330,6 +330,7 @@ enum {
> ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
> ETHTOOL_A_RINGS_TX, /* u32 */
> ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
> + ETHTOOL_A_RINGS_TX_PUSH = 13, /* u8 */
>
> /* add new constants above here */
> __ETHTOOL_A_RINGS_CNT,
Please update the uapi headers from sanitized kernel headers as
described here:
https://www.kernel.org/pub/software/network/ethtool/devel.html
(the paragraph starting "If you need new or updated definitions..." near
the end of the page).
Michal
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH ethtool-next] ethtool: netlink: add support to get/set tx push by ethtool -G/g
2022-04-19 13:07 ` Michal Kubecek
@ 2022-04-19 13:20 ` wangjie (L)
0 siblings, 0 replies; 3+ messages in thread
From: wangjie (L) @ 2022-04-19 13:20 UTC (permalink / raw)
To: Michal Kubecek, Guangbin Huang; +Cc: davem, kuba, netdev, lipeng321
On 2022/4/19 21:07, Michal Kubecek wrote:
> On Tue, Apr 19, 2022 at 08:50:30PM +0800, Guangbin Huang wrote:
>> From: Jie Wang <wangjie125@huawei.com>
>>
>> Currently tx push is a standard feature for NICs such as Mellanox, HNS3.
>> But there is no command to set or get this feature.
>>
>> So this patch adds support for "ethtool -G <dev> tx-push on|off" and
>> "ethtool -g <dev>" to set/get tx push mode.
>>
>> Signed-off-by: Jie Wang <wangjie125@huawei.com>
>> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
>> ---
> [...]
>> diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h
>> index d8b19cf98003..79fe0bf686f3 100644
>> --- a/uapi/linux/ethtool_netlink.h
>> +++ b/uapi/linux/ethtool_netlink.h
>> @@ -330,6 +330,7 @@ enum {
>> ETHTOOL_A_RINGS_RX_JUMBO, /* u32 */
>> ETHTOOL_A_RINGS_TX, /* u32 */
>> ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
>> + ETHTOOL_A_RINGS_TX_PUSH = 13, /* u8 */
>>
>> /* add new constants above here */
>> __ETHTOOL_A_RINGS_CNT,
>
> Please update the uapi headers from sanitized kernel headers as
> described here:
>
> https://www.kernel.org/pub/software/network/ethtool/devel.html
>
> (the paragraph starting "If you need new or updated definitions..." near
> the end of the page).
>
> Michal
Thank you for your guidance. I will use the method to update the uapi
headers in patch v2
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-04-19 13:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-19 12:50 [PATCH ethtool-next] ethtool: netlink: add support to get/set tx push by ethtool -G/g Guangbin Huang
2022-04-19 13:07 ` Michal Kubecek
2022-04-19 13:20 ` wangjie (L)
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.