[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b5a0bb41-f29e-69c1-7a4b-6bd72221925e@huawei.com>
Date: Thu, 28 Apr 2022 19:56:25 +0800
From: "wangjie (L)" <wangjie125@...wei.com>
To: sundeep subbaraya <sundeep.lkml@...il.com>,
Guangbin Huang <huangguangbin2@...wei.com>
CC: <mkubecek@...e.cz>, David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, <netdev@...r.kernel.org>,
<lipeng321@...wei.com>, Subbaraya Sundeep <sbhatta@...vell.com>
Subject: Re: [PATCH ethtool-next v2 2/2] ethtool: add support to get/set tx
push by ethtool -G/g
On 2022/4/27 21:46, sundeep subbaraya wrote:
> Hi Guangbin,
>
> On Thu, Apr 21, 2022 at 3:47 PM Guangbin Huang
> <huangguangbin2@...wei.com> wrote:
>>
>> From: Jie Wang <wangjie125@...wei.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@...wei.com>
>> ---
>> ethtool.8.in | 4 ++++
>> ethtool.c | 1 +
>> netlink/rings.c | 7 +++++++
>> 3 files changed, 12 insertions(+)
>>
>> diff --git a/ethtool.8.in b/ethtool.8.in
>> index 12940e1..a87f31f 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 4f5c234..4d2a475 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 119178e..a53eed5 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,
>
> Why min_argc is 0 ? Thanks for syncing kernel headers. I have patch for adding
> cqe-size command and will send after these are merged.
>
> Sundeep
I will revise it in v2.
>> + },
>> {}
>> };
>>
>> --
>> 2.33.0
>>
>
> .
>
Powered by blists - more mailing lists