73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
From 7b83388f0cf848c90462b2459db89db09c8a4530 Mon Sep 17 00:00:00 2001
|
|
From: Hao Chen <chenhao288@hisilicon.com>
|
|
Date: Mon, 27 Dec 2021 19:41:38 +0800
|
|
Subject: [PATCH 165/283] ethtool: add support to set/get tx copybreak buf size
|
|
via ethtool
|
|
|
|
mainline inclusion
|
|
from mainline-v5.17-rc1
|
|
commit 448f413a8bdc727d25d9a786ccbdb974fb85d973
|
|
category: feature
|
|
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I8EN3D
|
|
CVE: NA
|
|
|
|
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=448f413a8bdc727d25d9a786ccbdb974fb85d973
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Add support for ethtool to set/get tx copybreak buf size.
|
|
|
|
Signed-off-by: Hao Chen <chenhao288@hisilicon.com>
|
|
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Reviewed-by: Yongxin Li <liyongxin1@huawei.com>
|
|
Signed-off-by: Junxin Chen <chenjunxin1@huawei.com>
|
|
Acked-by: Xie XiuQi <xiexiuqi@huawei.com>
|
|
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
|
|
Signed-off-by: Xiaodong Li <lixiaodong67@huawei.com>
|
|
---
|
|
include/uapi/linux/ethtool.h | 1 +
|
|
net/ethtool/common.c | 1 +
|
|
net/ethtool/ioctl.c | 1 +
|
|
3 files changed, 3 insertions(+)
|
|
|
|
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
|
|
index e519138e2a38..047f880edff9 100644
|
|
--- a/include/uapi/linux/ethtool.h
|
|
+++ b/include/uapi/linux/ethtool.h
|
|
@@ -225,6 +225,7 @@ enum tunable_id {
|
|
ETHTOOL_RX_COPYBREAK,
|
|
ETHTOOL_TX_COPYBREAK,
|
|
ETHTOOL_PFC_PREVENTION_TOUT, /* timeout in msecs */
|
|
+ ETHTOOL_TX_COPYBREAK_BUF_SIZE,
|
|
/*
|
|
* Add your fresh new tunable attribute above and remember to update
|
|
* tunable_strings[] in net/core/ethtool.c
|
|
diff --git a/net/ethtool/common.c b/net/ethtool/common.c
|
|
index 11a12af88165..61f326eb844e 100644
|
|
--- a/net/ethtool/common.c
|
|
+++ b/net/ethtool/common.c
|
|
@@ -74,6 +74,7 @@ tunable_strings[__ETHTOOL_TUNABLE_COUNT][ETH_GSTRING_LEN] = {
|
|
[ETHTOOL_RX_COPYBREAK] = "rx-copybreak",
|
|
[ETHTOOL_TX_COPYBREAK] = "tx-copybreak",
|
|
[ETHTOOL_PFC_PREVENTION_TOUT] = "pfc-prevention-tout",
|
|
+ [ETHTOOL_TX_COPYBREAK_BUF_SIZE] = "tx-copybreak-buf-size",
|
|
};
|
|
|
|
const char
|
|
diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
|
|
index 7799062c2b97..4fdfb3e40dea 100644
|
|
--- a/net/ethtool/ioctl.c
|
|
+++ b/net/ethtool/ioctl.c
|
|
@@ -2270,6 +2270,7 @@ static int ethtool_tunable_valid(const struct ethtool_tunable *tuna)
|
|
switch (tuna->id) {
|
|
case ETHTOOL_RX_COPYBREAK:
|
|
case ETHTOOL_TX_COPYBREAK:
|
|
+ case ETHTOOL_TX_COPYBREAK_BUF_SIZE:
|
|
if (tuna->len != sizeof(u32) ||
|
|
tuna->type_id != ETHTOOL_TUNABLE_U32)
|
|
return -EINVAL;
|
|
--
|
|
2.34.1
|
|
|