diff options
author | Michal Kubecek <mkubecek@suse.cz> | 2021-09-12 23:28:33 +0200 |
---|---|---|
committer | Michal Kubecek <mkubecek@suse.cz> | 2021-09-12 23:30:54 +0200 |
commit | a9f2fd197c936d58677b4d700606a8913be6b3a6 (patch) | |
tree | 5fc63d6dd262582e861c916ead2a348440e9441c | |
parent | a53c9dd64d40eeaf309ddf9732ab176194e263b9 (diff) | |
parent | ecfb7302cfe68354ce72762a5cd65e6497929949 (diff) | |
download | ethtool-a9f2fd197c936d58677b4d700606a8913be6b3a6.tar.gz |
Merge branch 'next' into master
Merge material staged for 5.15 cycle.
-rw-r--r-- | ethtool.8.in | 2 | ||||
-rw-r--r-- | ethtool.c | 2 | ||||
-rw-r--r-- | netlink/coalesce.c | 16 | ||||
-rw-r--r-- | netlink/desc-ethtool.c | 2 | ||||
-rw-r--r-- | netlink/settings.c | 4 | ||||
-rw-r--r-- | uapi/linux/ethtool.h | 2 | ||||
-rw-r--r-- | uapi/linux/ethtool_netlink.h | 2 | ||||
-rw-r--r-- | uapi/linux/if_link.h | 12 |
8 files changed, 42 insertions, 0 deletions
diff --git a/ethtool.8.in b/ethtool.8.in index 52c0d17..141494a 100644 --- a/ethtool.8.in +++ b/ethtool.8.in @@ -186,6 +186,8 @@ ethtool \- query or control network driver and hardware settings .BN tx\-usecs\-high .BN tx\-frames\-high .BN sample\-interval +.B2 cqe\-mode\-rx on off +.B2 cqe\-mode\-tx on off .HP .B ethtool \-g|\-\-show\-ring .I devname @@ -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..15037c2 100644 --- a/netlink/coalesce.c +++ b/netlink/coalesce.c @@ -66,6 +66,10 @@ 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]); + putchar('\n'); return MNL_CB_OK; } @@ -226,6 +230,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, + }, {} }; diff --git a/netlink/desc-ethtool.c b/netlink/desc-ethtool.c index 550330d..69f6561 100644 --- a/netlink/desc-ethtool.c +++ b/netlink/desc-ethtool.c @@ -179,6 +179,8 @@ static const struct pretty_nla_desc __coalesce_desc[] = { NLATTR_DESC_U32(ETHTOOL_A_COALESCE_TX_USECS_HIGH), NLATTR_DESC_U32(ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH), NLATTR_DESC_U32(ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL), + NLATTR_DESC_BOOL(ETHTOOL_A_COALESCE_USE_CQE_MODE_TX), + NLATTR_DESC_BOOL(ETHTOOL_A_COALESCE_USE_CQE_MODE_RX), }; static const struct pretty_nla_desc __pause_stats_desc[] = { diff --git a/netlink/settings.c b/netlink/settings.c index e47a38f..6d10a07 100644 --- a/netlink/settings.c +++ b/netlink/settings.c @@ -639,6 +639,10 @@ static const char *const names_bad_signal_integrity_link_ext_substate[] = { "Large number of physical errors", [ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE] = "Unsupported rate", + [ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST] = + "Serdes reference clock lost", + [ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS] = + "Serdes ALOS", }; static const char *const names_cable_issue_link_ext_substate[] = { diff --git a/uapi/linux/ethtool.h b/uapi/linux/ethtool.h index f40b00d..a7f549a 100644 --- a/uapi/linux/ethtool.h +++ b/uapi/linux/ethtool.h @@ -637,6 +637,8 @@ enum ethtool_link_ext_substate_link_logical_mismatch { enum ethtool_link_ext_substate_bad_signal_integrity { ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 1, ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE, + ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST, + ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS, }; /* More information in addition to ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE. */ diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h index f0d1ca5..5665d64 100644 --- a/uapi/linux/ethtool_netlink.h +++ b/uapi/linux/ethtool_netlink.h @@ -377,6 +377,8 @@ enum { ETHTOOL_A_COALESCE_TX_USECS_HIGH, /* u32 */ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH, /* u32 */ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL, /* u32 */ + ETHTOOL_A_COALESCE_USE_CQE_MODE_TX, /* u8 */ + ETHTOOL_A_COALESCE_USE_CQE_MODE_RX, /* u8 */ /* add new constants above here */ __ETHTOOL_A_COALESCE_CNT, diff --git a/uapi/linux/if_link.h b/uapi/linux/if_link.h index 5195ed9..330a3c1 100644 --- a/uapi/linux/if_link.h +++ b/uapi/linux/if_link.h @@ -477,6 +477,7 @@ enum { IFLA_BR_MCAST_MLD_VERSION, IFLA_BR_VLAN_STATS_PER_PORT, IFLA_BR_MULTI_BOOLOPT, + IFLA_BR_MCAST_QUERIER_STATE, __IFLA_BR_MAX, }; @@ -853,6 +854,7 @@ enum { IFLA_BOND_AD_ACTOR_SYSTEM, IFLA_BOND_TLB_DYNAMIC_LB, IFLA_BOND_PEER_NOTIF_DELAY, + IFLA_BOND_AD_LACP_ACTIVE, __IFLA_BOND_MAX, }; @@ -1258,4 +1260,14 @@ struct ifla_rmnet_flags { __u32 mask; }; +/* MCTP section */ + +enum { + IFLA_MCTP_UNSPEC, + IFLA_MCTP_NET, + __IFLA_MCTP_MAX, +}; + +#define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) + #endif /* _LINUX_IF_LINK_H */ |