Add support for "ethtool -c <dev> cqe-mode-rx/cqe-mode-tx on/off" for setting coalesce cqe mode.
Signed-off-by: Yufeng Mo moyufeng@huawei.com --- ethtool.c | 2 ++ netlink/coalesce.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+)
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, + }, {} };
sorry, the title description of this patch is incorrect, will resent it.
On 2021/8/27 11:43, 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 moyufeng@huawei.com
ethtool.c | 2 ++ netlink/coalesce.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+)
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"
}, { .opts = "-g|--show-ring"," [cqe-mode-tx on|off]\n"
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,
- }, {}
};