From 7b83388f0cf848c90462b2459db89db09c8a4530 Mon Sep 17 00:00:00 2001 From: Hao Chen 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 Signed-off-by: Guangbin Huang Signed-off-by: David S. Miller Reviewed-by: Yongxin Li Signed-off-by: Junxin Chen Acked-by: Xie XiuQi Signed-off-by: Zheng Zengkai Signed-off-by: Xiaodong Li --- 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