aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Kubecek <mkubecek@suse.cz>2022-06-14 01:24:10 +0200
committerMichal Kubecek <mkubecek@suse.cz>2022-06-14 01:28:19 +0200
commit7164651f8dae198b01d9cd2182050c4a6f8e5d5a (patch)
treeb35e1bb8891fe82a43d821f39d173f77c011d858
parent9eabf30a9fe607b90ccaf1f7a24615c0b873b283 (diff)
parentd77251806eaaa51ffea8043951a2dd05f8b4fc2b (diff)
downloadethtool-7164651f8dae198b01d9cd2182050c4a6f8e5d5a.tar.gz
Merge branch 'next' into master
Merge material staged for 5.19 cycle. Update UAPI header copies to kernel v5.19-rc1.
-rw-r--r--ethtool.8.in4
-rw-r--r--ethtool.c1
-rw-r--r--netlink/rings.c7
-rw-r--r--uapi/linux/ethtool.h1
-rw-r--r--uapi/linux/ethtool_netlink.h1
-rw-r--r--uapi/linux/if_link.h7
-rw-r--r--uapi/linux/netlink.h1
7 files changed, 22 insertions, 0 deletions
diff --git a/ethtool.8.in b/ethtool.8.in
index fc26b6a..2b27552 100644
--- a/ethtool.8.in
+++ b/ethtool.8.in
@@ -200,6 +200,7 @@ ethtool \- query or control network driver and hardware settings
.BN tx
.BN rx\-buf\-len
.BN cqe\-size
+.BN tx\-push
.HP
.B ethtool \-i|\-\-driver
.I devname
@@ -577,6 +578,9 @@ Changes the size of a buffer in the Rx ring.
.TP
.BI cqe\-size \ N
Changes the size of completion queue event.
+.TP
+.BI tx\-push \ on|off
+Specifies whether TX push should be enabled.
.RE
.TP
.B \-i \-\-driver
diff --git a/ethtool.c b/ethtool.c
index db95553..911f26b 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -5734,6 +5734,7 @@ static const struct option args[] = {
" [ tx N ]\n"
" [ rx-buf-len N]\n"
" [ cqe-size N]\n"
+ " [ tx-push on|off]\n"
},
{
.opts = "-k|--show-features|--show-offload",
diff --git a/netlink/rings.c b/netlink/rings.c
index becb1cd..d50bbac 100644
--- a/netlink/rings.c
+++ b/netlink/rings.c
@@ -48,6 +48,7 @@ int rings_reply_cb(const struct nlmsghdr *nlhdr, void *data)
show_u32(tb[ETHTOOL_A_RINGS_TX], "TX:\t\t");
show_u32(tb[ETHTOOL_A_RINGS_RX_BUF_LEN], "RX Buf Len:\t\t");
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]);
return MNL_CB_OK;
}
@@ -112,6 +113,12 @@ static const struct param_parser sring_params[] = {
.handler = nl_parse_direct_u32,
.min_argc = 1,
},
+ {
+ .arg = "tx-push",
+ .type = ETHTOOL_A_RINGS_TX_PUSH,
+ .handler = nl_parse_u8bool,
+ .min_argc = 1,
+ },
{}
};
diff --git a/uapi/linux/ethtool.h b/uapi/linux/ethtool.h
index 85548f9..f2ddf55 100644
--- a/uapi/linux/ethtool.h
+++ b/uapi/linux/ethtool.h
@@ -1689,6 +1689,7 @@ enum ethtool_link_mode_bit_indices {
ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,
ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,
ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,
+ ETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,
/* must be last entry */
__ETHTOOL_LINK_MODE_MASK_NBITS
};
diff --git a/uapi/linux/ethtool_netlink.h b/uapi/linux/ethtool_netlink.h
index 9e42ea4..378ad7d 100644
--- a/uapi/linux/ethtool_netlink.h
+++ b/uapi/linux/ethtool_netlink.h
@@ -338,6 +338,7 @@ enum {
ETHTOOL_A_RINGS_RX_BUF_LEN, /* u32 */
ETHTOOL_A_RINGS_TCP_DATA_SPLIT, /* u8 */
ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */
+ ETHTOOL_A_RINGS_TX_PUSH, /* u8 */
/* add new constants above here */
__ETHTOOL_A_RINGS_CNT,
diff --git a/uapi/linux/if_link.h b/uapi/linux/if_link.h
index 22e21e5..da99b64 100644
--- a/uapi/linux/if_link.h
+++ b/uapi/linux/if_link.h
@@ -211,6 +211,9 @@ struct rtnl_link_stats {
* @rx_nohandler: Number of packets received on the interface
* but dropped by the networking stack because the device is
* not designated to receive packets (e.g. backup link in a bond).
+ *
+ * @rx_otherhost_dropped: Number of packets dropped due to mismatch
+ * in destination MAC address.
*/
struct rtnl_link_stats64 {
__u64 rx_packets;
@@ -243,6 +246,8 @@ struct rtnl_link_stats64 {
__u64 rx_compressed;
__u64 tx_compressed;
__u64 rx_nohandler;
+
+ __u64 rx_otherhost_dropped;
};
/* Subset of link stats useful for in-HW collection. Meaning of the fields is as
@@ -363,6 +368,8 @@ enum {
IFLA_PARENT_DEV_NAME,
IFLA_PARENT_DEV_BUS_NAME,
IFLA_GRO_MAX_SIZE,
+ IFLA_TSO_MAX_SIZE,
+ IFLA_TSO_MAX_SEGS,
__IFLA_MAX
};
diff --git a/uapi/linux/netlink.h b/uapi/linux/netlink.h
index e83e2e3..105b79f 100644
--- a/uapi/linux/netlink.h
+++ b/uapi/linux/netlink.h
@@ -72,6 +72,7 @@ struct nlmsghdr {
/* Modifiers to DELETE request */
#define NLM_F_NONREC 0x100 /* Do not delete recursively */
+#define NLM_F_BULK 0x200 /* Delete multiple objects */
/* Flags for ACK message */
#define NLM_F_CAPPED 0x100 /* request was capped */