import ethtool-5.8-7.el8

This commit is contained in:
CentOS Sources 2021-08-24 22:26:41 +00:00 committed by Andrew Lukoshko
parent e4557fd56c
commit 6ee4551e5d
6 changed files with 353 additions and 1 deletions

View File

@ -0,0 +1,152 @@
From b70c39e968db6cb67d64526cafd72fc0763d959a Mon Sep 17 00:00:00 2001
From: Danielle Ratson <danieller@nvidia.com>
Date: Wed, 10 Feb 2021 15:48:36 +0200
Subject: [PATCH 38/42] update UAPI header copies
Update to kernel commit 012ce4dd3102.
Signed-off-by: Danielle Ratson <danieller@nvidia.com>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
(cherry picked from commit 18e509526a727c594c29622489437c7376f44d32)
---
uapi/linux/ethtool.h | 2 +-
uapi/linux/ethtool_netlink.h | 1 +
uapi/linux/if_link.h | 10 ++++++++--
uapi/linux/netlink.h | 2 +-
uapi/linux/rtnetlink.h | 20 +++++++++++++++-----
5 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/uapi/linux/ethtool.h b/uapi/linux/ethtool.h
index 052689bcc90c..a951137bdba9 100644
--- a/uapi/linux/ethtool.h
+++ b/uapi/linux/ethtool.h
@@ -14,7 +14,7 @@
#ifndef _LINUX_ETHTOOL_H
#define _LINUX_ETHTOOL_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/types.h>
#include <linux/if_ether.h>
diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h
index c022883cdb22..0cd6906aa5d5 100644
--- a/uapi/linux/ethtool_netlink.h
+++ b/uapi/linux/ethtool_netlink.h
@@ -227,6 +227,7 @@ enum {
ETHTOOL_A_LINKMODES_DUPLEX, /* u8 */
ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
+ ETHTOOL_A_LINKMODES_LANES, /* u32 */
/* add new constants above here */
__ETHTOOL_A_LINKMODES_CNT,
diff --git a/uapi/linux/if_link.h b/uapi/linux/if_link.h
index 307e5c245e9f..c96880c51c93 100644
--- a/uapi/linux/if_link.h
+++ b/uapi/linux/if_link.h
@@ -75,8 +75,9 @@ struct rtnl_link_stats {
*
* @rx_dropped: Number of packets received but not processed,
* e.g. due to lack of resources or unsupported protocol.
- * For hardware interfaces this counter should not include packets
- * dropped by the device which are counted separately in
+ * For hardware interfaces this counter may include packets discarded
+ * due to L2 address filtering but should not include packets dropped
+ * by the device due to buffer exhaustion which are counted separately in
* @rx_missed_errors (since procfs folds those two counters together).
*
* @tx_dropped: Number of packets dropped on their way to transmission,
@@ -522,6 +523,8 @@ enum {
IFLA_BRPORT_BACKUP_PORT,
IFLA_BRPORT_MRP_RING_OPEN,
IFLA_BRPORT_MRP_IN_OPEN,
+ IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,
+ IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
__IFLA_BRPORT_MAX
};
#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -586,6 +589,8 @@ enum {
IFLA_MACVLAN_MACADDR,
IFLA_MACVLAN_MACADDR_DATA,
IFLA_MACVLAN_MACADDR_COUNT,
+ IFLA_MACVLAN_BC_QUEUE_LEN,
+ IFLA_MACVLAN_BC_QUEUE_LEN_USED,
__IFLA_MACVLAN_MAX,
};
@@ -804,6 +809,7 @@ enum {
IFLA_GTP_FD1,
IFLA_GTP_PDP_HASHSIZE,
IFLA_GTP_ROLE,
+ IFLA_GTP_COLLECT_METADATA,
__IFLA_GTP_MAX,
};
#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
diff --git a/uapi/linux/netlink.h b/uapi/linux/netlink.h
index dfef006be9f9..5024c5435749 100644
--- a/uapi/linux/netlink.h
+++ b/uapi/linux/netlink.h
@@ -2,7 +2,7 @@
#ifndef __LINUX_NETLINK_H
#define __LINUX_NETLINK_H
-#include <linux/kernel.h>
+#include <linux/const.h>
#include <linux/socket.h> /* for __kernel_sa_family_t */
#include <linux/types.h>
diff --git a/uapi/linux/rtnetlink.h b/uapi/linux/rtnetlink.h
index 5ad84e663d01..c66fd247d90a 100644
--- a/uapi/linux/rtnetlink.h
+++ b/uapi/linux/rtnetlink.h
@@ -396,11 +396,13 @@ struct rtnexthop {
#define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
#define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
#define RTNH_F_ONLINK 4 /* Gateway is forced on link */
-#define RTNH_F_OFFLOAD 8 /* offloaded route */
+#define RTNH_F_OFFLOAD 8 /* Nexthop is offloaded */
#define RTNH_F_LINKDOWN 16 /* carrier-down on nexthop */
#define RTNH_F_UNRESOLVED 32 /* The entry is unresolved (ipmr) */
+#define RTNH_F_TRAP 64 /* Nexthop is trapping packets */
-#define RTNH_COMPARE_MASK (RTNH_F_DEAD | RTNH_F_LINKDOWN | RTNH_F_OFFLOAD)
+#define RTNH_COMPARE_MASK (RTNH_F_DEAD | RTNH_F_LINKDOWN | \
+ RTNH_F_OFFLOAD | RTNH_F_TRAP)
/* Macros to handle hexthops */
@@ -764,12 +766,18 @@ enum {
#define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg))
/* tcamsg flags stored in attribute TCA_ROOT_FLAGS
*
- * TCA_FLAG_LARGE_DUMP_ON user->kernel to request for larger than TCA_ACT_MAX_PRIO
- * actions in a dump. All dump responses will contain the number of actions
- * being dumped stored in for user app's consumption in TCA_ROOT_COUNT
+ * TCA_ACT_FLAG_LARGE_DUMP_ON user->kernel to request for larger than
+ * TCA_ACT_MAX_PRIO actions in a dump. All dump responses will contain the
+ * number of actions being dumped stored in for user app's consumption in
+ * TCA_ROOT_COUNT
+ *
+ * TCA_ACT_FLAG_TERSE_DUMP user->kernel to request terse (brief) dump that only
+ * includes essential action info (kind, index, etc.)
*
*/
#define TCA_FLAG_LARGE_DUMP_ON (1 << 0)
+#define TCA_ACT_FLAG_LARGE_DUMP_ON TCA_FLAG_LARGE_DUMP_ON
+#define TCA_ACT_FLAG_TERSE_DUMP (1 << 1)
/* New extended info filters for IFLA_EXT_MASK */
#define RTEXT_FILTER_VF (1 << 0)
@@ -777,6 +785,8 @@ enum {
#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
#define RTEXT_FILTER_SKIP_STATS (1 << 3)
#define RTEXT_FILTER_MRP (1 << 4)
+#define RTEXT_FILTER_CFM_CONFIG (1 << 5)
+#define RTEXT_FILTER_CFM_STATUS (1 << 6)
/* End of information exported to user level */
--
2.31.1

View File

@ -0,0 +1,63 @@
From e9ee8ed549fbc02527356c3c82cec23434fc2f56 Mon Sep 17 00:00:00 2001
From: Danielle Ratson <danieller@mellanox.com>
Date: Wed, 10 Feb 2021 15:48:37 +0200
Subject: [PATCH 39/42] netlink: settings: Add netlink support for lanes
parameter
Add support for "ethtool -s <dev> lanes N ..." for setting a specific
number of lanes.
Signed-off-by: Danielle Ratson <danieller@mellanox.com>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
(cherry picked from commit 107ee330ec7bf83e8c3938375f3466bc8e102b93)
---
ethtool.c | 1 +
netlink/desc-ethtool.c | 1 +
netlink/settings.c | 7 +++++++
3 files changed, 9 insertions(+)
diff --git a/ethtool.c b/ethtool.c
index f5fbb01e553a..61f136c5bf2c 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -5568,6 +5568,7 @@ static const struct option args[] = {
.nlfunc = nl_sset,
.help = "Change generic options",
.xhelp = " [ speed %d ]\n"
+ " [ lanes %d ]\n"
" [ duplex half|full ]\n"
" [ port tp|aui|bnc|mii|fibre|da ]\n"
" [ mdix auto|on|off ]\n"
diff --git a/netlink/desc-ethtool.c b/netlink/desc-ethtool.c
index 8dd4a91ad0d7..c8447ce33f4d 100644
--- a/netlink/desc-ethtool.c
+++ b/netlink/desc-ethtool.c
@@ -87,6 +87,7 @@ static const struct pretty_nla_desc __linkmodes_desc[] = {
NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_DUPLEX),
NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG),
NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE),
+ NLATTR_DESC_U32(ETHTOOL_A_LINKMODES_LANES),
};
static const struct pretty_nla_desc __linkstate_desc[] = {
diff --git a/netlink/settings.c b/netlink/settings.c
index 01c1d38d323f..37222db5c833 100644
--- a/netlink/settings.c
+++ b/netlink/settings.c
@@ -1065,6 +1065,13 @@ static const struct param_parser sset_params[] = {
.handler = nl_parse_direct_u32,
.min_argc = 1,
},
+ {
+ .arg = "lanes",
+ .group = ETHTOOL_MSG_LINKMODES_SET,
+ .type = ETHTOOL_A_LINKMODES_LANES,
+ .handler = nl_parse_direct_u32,
+ .min_argc = 1,
+ },
{
.arg = "duplex",
.group = ETHTOOL_MSG_LINKMODES_SET,
--
2.31.1

View File

@ -0,0 +1,41 @@
From 53e33fe5f4f982afe13e45677d134eb1b11d4d2a Mon Sep 17 00:00:00 2001
From: Danielle Ratson <danieller@nvidia.com>
Date: Wed, 10 Feb 2021 15:48:38 +0200
Subject: [PATCH 40/42] netlink: settings: Expose the number of lanes in use
Currently, the user does not have the information regarding how many lanes
are used when the link is up.
After adding a possibility to advertise or force a specific number of
lanes this information becomes helpful.
Expose the number of lanes in use if the information is passed from
kernel.
Signed-off-by: Danielle Ratson <danieller@nvidia.com>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
(cherry picked from commit db7d457e49833d8a68be03d48cffa1d617498adc)
---
netlink/settings.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/netlink/settings.c b/netlink/settings.c
index 37222db5c833..2835805667d2 100644
--- a/netlink/settings.c
+++ b/netlink/settings.c
@@ -471,6 +471,12 @@ int linkmodes_reply_cb(const struct nlmsghdr *nlhdr, void *data)
else
printf("\tSpeed: %uMb/s\n", val);
}
+ if (tb[ETHTOOL_A_LINKMODES_LANES]) {
+ uint32_t val = mnl_attr_get_u32(tb[ETHTOOL_A_LINKMODES_LANES]);
+
+ print_banner(nlctx);
+ printf("\tLanes: %u\n", val);
+ }
if (tb[ETHTOOL_A_LINKMODES_DUPLEX]) {
uint8_t val = mnl_attr_get_u8(tb[ETHTOOL_A_LINKMODES_DUPLEX]);
--
2.31.1

View File

@ -0,0 +1,42 @@
From 68c18af78f4e5eac30ed4fd4c6f3bb0ca8dc347e Mon Sep 17 00:00:00 2001
From: Danielle Ratson <danieller@mellanox.com>
Date: Wed, 10 Feb 2021 15:48:39 +0200
Subject: [PATCH 41/42] shell-completion: Add completion for lanes
Lanes was added as a new link mode setting in ethtool.
Support completion for lanes when setting parameters.
Signed-off-by: Danielle Ratson <danieller@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
(cherry picked from commit c323bcb248c2424cebe533cb2607283aa4538a0b)
---
shell-completion/bash/ethtool | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/shell-completion/bash/ethtool b/shell-completion/bash/ethtool
index 53055594b649..45573413985d 100644
--- a/shell-completion/bash/ethtool
+++ b/shell-completion/bash/ethtool
@@ -97,6 +97,7 @@ _ethtool_change()
[speed]=notseen
[wol]=notseen
[xcvr]=notseen
+ [lanes]=notseen
)
local -A msgtypes=(
@@ -175,6 +176,9 @@ _ethtool_change()
xcvr)
COMPREPLY=( $( compgen -W 'internal external' -- "$cur" ) )
return ;;
+ lanes)
+ # Number
+ return ;;
esac
local -a comp_words=()
--
2.31.1

View File

@ -0,0 +1,41 @@
From c8883327ddbbdcc8241104a98800bd50c0a667e1 Mon Sep 17 00:00:00 2001
From: Danielle Ratson <danieller@nvidia.com>
Date: Wed, 10 Feb 2021 15:48:40 +0200
Subject: [PATCH 42/42] man: Add man page for setting lanes parameter
Lanes parameter was added for setting using ethtool.
Update the man page to include the new parameter.
Signed-off-by: Danielle Ratson <danieller@nvidia.com>
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
(cherry picked from commit e2a120e1d44e6c4d64f53ac78c9c08427922b33b)
---
ethtool.8.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ethtool.8.in b/ethtool.8.in
index e0601b3db0cf..3a7a8f947cc1 100644
--- a/ethtool.8.in
+++ b/ethtool.8.in
@@ -251,6 +251,7 @@ ethtool \- query or control network driver and hardware settings
.B ethtool \-s
.I devname
.BN speed
+.BN lanes
.B2 duplex half full
.B4 port tp aui bnc mii fibre da
.B3 mdix auto on off
@@ -682,6 +683,9 @@ Set speed in Mb/s.
.B ethtool
with just the device name as an argument will show you the supported device speeds.
.TP
+.BI lanes \ N
+Set number of lanes.
+.TP
.A2 duplex half full
Sets full or half duplex mode.
.TP
--
2.31.1

View File

@ -1,7 +1,7 @@
Name: ethtool
Epoch: 2
Version: 5.8
Release: 6%{?dist}
Release: 7%{?dist}
Summary: Settings tool for Ethernet NICs
License: GPLv2
Group: Applications/System
@ -44,6 +44,11 @@ Patch34: 0034-netlink-support-u32-enumerated-types-in-pretty-print.patch
Patch35: 0035-netlink-support-64-bit-attribute-types-in-pretty-pri.patch
Patch36: 0036-netlink-add-descriptions-for-genetlink-policy-dumps.patch
Patch37: 0037-netlink-add-message-descriptions-for-pause-stats.patch
Patch38: 0038-update-UAPI-header-copies.patch
Patch39: 0039-netlink-settings-Add-netlink-support-for-lanes-param.patch
Patch40: 0040-netlink-settings-Expose-the-number-of-lanes-in-use.patch
Patch41: 0041-shell-completion-Add-completion-for-lanes.patch
Patch42: 0042-man-Add-man-page-for-setting-lanes-parameter.patch
BuildRequires: libmnl-devel
Conflicts: filesystem < 3
@ -91,6 +96,11 @@ network devices, especially of Ethernet devices.
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%build
%configure
@ -107,6 +117,9 @@ make DESTDIR=%{buildroot} INSTALL='install -p' install
%{_datadir}/bash-completion/completions/ethtool
%changelog
* Thu Jun 03 2021 Ivan Vecera <ivecera@redhat.com> - 2:5.8-7
- Added support for lanes
* Thu Mar 11 2021 Ivan Vecera <ivecera@redhat.com> - 2:5.8-6
- Added support for pause frame statistics