diff options
author | Jakub Kicinski <kuba@kernel.org> | 2022-11-29 17:35:57 -0800 |
---|---|---|
committer | Michal Kubecek <mkubecek@suse.cz> | 2022-12-04 18:01:36 +0100 |
commit | 3acf7eee7ade666289f98311befe334bb57d3765 (patch) | |
tree | cc96871d360b02c79eda0c4f57cd8d6a026b744b | |
parent | efafc0ad6e6f6fb409dcf5464e448dc872ef5acd (diff) | |
download | ethtool-3acf7eee7ade666289f98311befe334bb57d3765.tar.gz |
rings: report TCP header-data split
Report if device is in HDS compatible mode or not.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | netlink/rings.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/netlink/rings.c b/netlink/rings.c index d50bbac..6284035 100644 --- a/netlink/rings.c +++ b/netlink/rings.c @@ -20,6 +20,7 @@ int rings_reply_cb(const struct nlmsghdr *nlhdr, void *data) const struct nlattr *tb[ETHTOOL_A_RINGS_MAX + 1] = {}; DECLARE_ATTR_TB_INFO(tb); struct nl_context *nlctx = data; + unsigned char tcp_hds; bool silent; int err_ret; int ret; @@ -50,6 +51,24 @@ int rings_reply_cb(const struct nlmsghdr *nlhdr, void *data) show_u32(tb[ETHTOOL_A_RINGS_CQE_SIZE], "CQE Size:\t\t"); show_bool("tx-push", "TX Push:\t%s\n", tb[ETHTOOL_A_RINGS_TX_PUSH]); + tcp_hds = tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT] ? + mnl_attr_get_u8(tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT]) : 0; + printf("TCP data split:\t"); + switch (tcp_hds) { + case ETHTOOL_TCP_DATA_SPLIT_UNKNOWN: + printf("n/a\n"); + break; + case ETHTOOL_TCP_DATA_SPLIT_DISABLED: + printf("off\n"); + break; + case ETHTOOL_TCP_DATA_SPLIT_ENABLED: + printf("on\n"); + break; + default: + printf("unknown(%d)\n", tcp_hds); + break; + } + return MNL_CB_OK; } |