On Fri, Aug 27, 2021 at 02:06:48PM +0800, Yufeng Mo wrote: > Add support for "ethtool -c cqe-mode-rx/cqe-mode-tx on/off" > for setting coalesce cqe mode. > > Signed-off-by: Yufeng Mo > --- > ethtool.c | 2 ++ > netlink/coalesce.c | 15 +++++++++++++++ > 2 files changed, 17 insertions(+) Please update also the man page (file ethtool.8.in) to show the new parameters. Michal > 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, > + }, > {} > }; > > -- > 2.8.1 >