* [PATCH ethtool 1/2] update UAPI header copies
2025-06-10 12:50 [PATCH ethtool 0/2] Add support for PTP hardware source Kory Maincent
@ 2025-06-10 12:50 ` Kory Maincent
0 siblings, 0 replies; 7+ messages in thread
From: Kory Maincent @ 2025-06-10 12:50 UTC (permalink / raw)
To: Michal Kubecek, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Andrew Lunn, Willem de Bruijn, Jason Xing, Russell King,
Maxime Chevallier, Thomas Petazzoni, netdev, linux-kernel,
Kory Maincent
Update to kernel commit 2c7e4a2663a1.
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
uapi/linux/ethtool.h | 134 +++++++++++++++++----------------
uapi/linux/ethtool_netlink_generated.h | 19 +++--
uapi/linux/if_link.h | 15 ++++
3 files changed, 98 insertions(+), 70 deletions(-)
diff --git a/uapi/linux/ethtool.h b/uapi/linux/ethtool.h
index 506e086..253df22 100644
--- a/uapi/linux/ethtool.h
+++ b/uapi/linux/ethtool.h
@@ -2293,71 +2293,75 @@ static __inline__ int ethtool_validate_duplex(__u8 duplex)
#define RXH_XFRM_SYM_OR_XOR (1 << 1)
#define RXH_XFRM_NO_CHANGE 0xff
-/* L2-L4 network traffic flow types */
-#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
-#define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
-#define SCTP_V4_FLOW 0x03 /* hash or spec (sctp_ip4_spec) */
-#define AH_ESP_V4_FLOW 0x04 /* hash only */
-#define TCP_V6_FLOW 0x05 /* hash or spec (tcp_ip6_spec; nfc only) */
-#define UDP_V6_FLOW 0x06 /* hash or spec (udp_ip6_spec; nfc only) */
-#define SCTP_V6_FLOW 0x07 /* hash or spec (sctp_ip6_spec; nfc only) */
-#define AH_ESP_V6_FLOW 0x08 /* hash only */
-#define AH_V4_FLOW 0x09 /* hash or spec (ah_ip4_spec) */
-#define ESP_V4_FLOW 0x0a /* hash or spec (esp_ip4_spec) */
-#define AH_V6_FLOW 0x0b /* hash or spec (ah_ip6_spec; nfc only) */
-#define ESP_V6_FLOW 0x0c /* hash or spec (esp_ip6_spec; nfc only) */
-#define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
-#define IP_USER_FLOW IPV4_USER_FLOW
-#define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
-#define IPV4_FLOW 0x10 /* hash only */
-#define IPV6_FLOW 0x11 /* hash only */
-#define ETHER_FLOW 0x12 /* spec only (ether_spec) */
-
-/* Used for GTP-U IPv4 and IPv6.
- * The format of GTP packets only includes
- * elements such as TEID and GTP version.
- * It is primarily intended for data communication of the UE.
- */
-#define GTPU_V4_FLOW 0x13 /* hash only */
-#define GTPU_V6_FLOW 0x14 /* hash only */
-
-/* Use for GTP-C IPv4 and v6.
- * The format of these GTP packets does not include TEID.
- * Primarily expected to be used for communication
- * to create sessions for UE data communication,
- * commonly referred to as CSR (Create Session Request).
- */
-#define GTPC_V4_FLOW 0x15 /* hash only */
-#define GTPC_V6_FLOW 0x16 /* hash only */
-
-/* Use for GTP-C IPv4 and v6.
- * Unlike GTPC_V4_FLOW, the format of these GTP packets includes TEID.
- * After session creation, it becomes this packet.
- * This is mainly used for requests to realize UE handover.
- */
-#define GTPC_TEID_V4_FLOW 0x17 /* hash only */
-#define GTPC_TEID_V6_FLOW 0x18 /* hash only */
-
-/* Use for GTP-U and extended headers for the PSC (PDU Session Container).
- * The format of these GTP packets includes TEID and QFI.
- * In 5G communication using UPF (User Plane Function),
- * data communication with this extended header is performed.
- */
-#define GTPU_EH_V4_FLOW 0x19 /* hash only */
-#define GTPU_EH_V6_FLOW 0x1a /* hash only */
-
-/* Use for GTP-U IPv4 and v6 PSC (PDU Session Container) extended headers.
- * This differs from GTPU_EH_V(4|6)_FLOW in that it is distinguished by
- * UL/DL included in the PSC.
- * There are differences in the data included based on Downlink/Uplink,
- * and can be used to distinguish packets.
- * The functions described so far are useful when you want to
- * handle communication from the mobile network in UPF, PGW, etc.
- */
-#define GTPU_UL_V4_FLOW 0x1b /* hash only */
-#define GTPU_UL_V6_FLOW 0x1c /* hash only */
-#define GTPU_DL_V4_FLOW 0x1d /* hash only */
-#define GTPU_DL_V6_FLOW 0x1e /* hash only */
+enum {
+ /* L2-L4 network traffic flow types */
+ TCP_V4_FLOW = 0x01, /* hash or spec (tcp_ip4_spec) */
+ UDP_V4_FLOW = 0x02, /* hash or spec (udp_ip4_spec) */
+ SCTP_V4_FLOW = 0x03, /* hash or spec (sctp_ip4_spec) */
+ AH_ESP_V4_FLOW = 0x04, /* hash only */
+ TCP_V6_FLOW = 0x05, /* hash or spec (tcp_ip6_spec; nfc only) */
+ UDP_V6_FLOW = 0x06, /* hash or spec (udp_ip6_spec; nfc only) */
+ SCTP_V6_FLOW = 0x07, /* hash or spec (sctp_ip6_spec; nfc only) */
+ AH_ESP_V6_FLOW = 0x08, /* hash only */
+ AH_V4_FLOW = 0x09, /* hash or spec (ah_ip4_spec) */
+ ESP_V4_FLOW = 0x0a, /* hash or spec (esp_ip4_spec) */
+ AH_V6_FLOW = 0x0b, /* hash or spec (ah_ip6_spec; nfc only) */
+ ESP_V6_FLOW = 0x0c, /* hash or spec (esp_ip6_spec; nfc only) */
+ IPV4_USER_FLOW = 0x0d, /* spec only (usr_ip4_spec) */
+ IP_USER_FLOW = IPV4_USER_FLOW,
+ IPV6_USER_FLOW = 0x0e, /* spec only (usr_ip6_spec; nfc only) */
+ IPV4_FLOW = 0x10, /* hash only */
+ IPV6_FLOW = 0x11, /* hash only */
+ ETHER_FLOW = 0x12, /* spec only (ether_spec) */
+
+ /* Used for GTP-U IPv4 and IPv6.
+ * The format of GTP packets only includes
+ * elements such as TEID and GTP version.
+ * It is primarily intended for data communication of the UE.
+ */
+ GTPU_V4_FLOW = 0x13, /* hash only */
+ GTPU_V6_FLOW = 0x14, /* hash only */
+
+ /* Use for GTP-C IPv4 and v6.
+ * The format of these GTP packets does not include TEID.
+ * Primarily expected to be used for communication
+ * to create sessions for UE data communication,
+ * commonly referred to as CSR (Create Session Request).
+ */
+ GTPC_V4_FLOW = 0x15, /* hash only */
+ GTPC_V6_FLOW = 0x16, /* hash only */
+
+ /* Use for GTP-C IPv4 and v6.
+ * Unlike GTPC_V4_FLOW, the format of these GTP packets includes TEID.
+ * After session creation, it becomes this packet.
+ * This is mainly used for requests to realize UE handover.
+ */
+ GTPC_TEID_V4_FLOW = 0x17, /* hash only */
+ GTPC_TEID_V6_FLOW = 0x18, /* hash only */
+
+ /* Use for GTP-U and extended headers for the PSC (PDU Session Container).
+ * The format of these GTP packets includes TEID and QFI.
+ * In 5G communication using UPF (User Plane Function),
+ * data communication with this extended header is performed.
+ */
+ GTPU_EH_V4_FLOW = 0x19, /* hash only */
+ GTPU_EH_V6_FLOW = 0x1a, /* hash only */
+
+ /* Use for GTP-U IPv4 and v6 PSC (PDU Session Container) extended headers.
+ * This differs from GTPU_EH_V(4|6)_FLOW in that it is distinguished by
+ * UL/DL included in the PSC.
+ * There are differences in the data included based on Downlink/Uplink,
+ * and can be used to distinguish packets.
+ * The functions described so far are useful when you want to
+ * handle communication from the mobile network in UPF, PGW, etc.
+ */
+ GTPU_UL_V4_FLOW = 0x1b, /* hash only */
+ GTPU_UL_V6_FLOW = 0x1c, /* hash only */
+ GTPU_DL_V4_FLOW = 0x1d, /* hash only */
+ GTPU_DL_V6_FLOW = 0x1e, /* hash only */
+
+ __FLOW_TYPE_COUNT,
+};
/* Flag to enable additional fields in struct ethtool_rx_flow_spec */
#define FLOW_EXT 0x80000000
diff --git a/uapi/linux/ethtool_netlink_generated.h b/uapi/linux/ethtool_netlink_generated.h
index fa0522b..fb973c3 100644
--- a/uapi/linux/ethtool_netlink_generated.h
+++ b/uapi/linux/ethtool_netlink_generated.h
@@ -31,17 +31,24 @@ enum ethtool_header_flags {
ETHTOOL_FLAG_STATS = 4,
};
-enum {
- ETHTOOL_PHY_UPSTREAM_TYPE_MAC,
- ETHTOOL_PHY_UPSTREAM_TYPE_PHY,
-};
-
enum ethtool_tcp_data_split {
ETHTOOL_TCP_DATA_SPLIT_UNKNOWN,
ETHTOOL_TCP_DATA_SPLIT_DISABLED,
ETHTOOL_TCP_DATA_SPLIT_ENABLED,
};
+/**
+ * enum hwtstamp_source - Source of the hardware timestamp
+ * @HWTSTAMP_SOURCE_NETDEV: Hardware timestamp comes from a MAC or a device
+ * which has MAC and PHY integrated
+ * @HWTSTAMP_SOURCE_PHYLIB: Hardware timestamp comes from one PHY device of the
+ * network topology
+ */
+enum hwtstamp_source {
+ HWTSTAMP_SOURCE_NETDEV = 1,
+ HWTSTAMP_SOURCE_PHYLIB,
+};
+
enum {
ETHTOOL_A_HEADER_UNSPEC,
ETHTOOL_A_HEADER_DEV_INDEX,
@@ -406,6 +413,8 @@ enum {
ETHTOOL_A_TSINFO_PHC_INDEX,
ETHTOOL_A_TSINFO_STATS,
ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
+ ETHTOOL_A_TSINFO_HWTSTAMP_SOURCE,
+ ETHTOOL_A_TSINFO_HWTSTAMP_PHYINDEX,
__ETHTOOL_A_TSINFO_CNT,
ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
diff --git a/uapi/linux/if_link.h b/uapi/linux/if_link.h
index ceff2f2..bb94d88 100644
--- a/uapi/linux/if_link.h
+++ b/uapi/linux/if_link.h
@@ -1984,4 +1984,19 @@ enum {
#define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1)
+/* OVPN section */
+
+enum ovpn_mode {
+ OVPN_MODE_P2P,
+ OVPN_MODE_MP,
+};
+
+enum {
+ IFLA_OVPN_UNSPEC,
+ IFLA_OVPN_MODE,
+ __IFLA_OVPN_MAX,
+};
+
+#define IFLA_OVPN_MAX (__IFLA_OVPN_MAX - 1)
+
#endif /* _LINUX_IF_LINK_H */
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes
@ 2025-12-04 7:59 Carolina Jubran
2025-12-04 7:59 ` [PATCH ethtool 1/2] update UAPI header copies Carolina Jubran
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Carolina Jubran @ 2025-12-04 7:59 UTC (permalink / raw)
To: Michal Kubecek, John W . Linville; +Cc: netdev, Carolina Jubran
Hi,
This series by Yael updates the UAPI header copies from the kernel and
adds support in ethtool for the new 1600G link modes.
Thanks,
Carolina
Yael Chemla (2):
update UAPI header copies
ethtool: add new 1600G modes to link mode tables
ethtool.8.in | 4 +++
ethtool.c | 12 +++++++
netlink/settings.c | 4 +++
uapi/linux/ethtool.h | 6 ++++
uapi/linux/ethtool_netlink_generated.h | 47 ++++++++++++++++++++++++++
uapi/linux/if_ether.h | 2 ++
uapi/linux/if_link.h | 3 ++
uapi/linux/stddef.h | 1 -
8 files changed, 78 insertions(+), 1 deletion(-)
--
2.38.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH ethtool 1/2] update UAPI header copies
2025-12-04 7:59 [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
@ 2025-12-04 7:59 ` Carolina Jubran
2025-12-11 13:24 ` Hariprasad Kelam
2025-12-04 7:59 ` [PATCH ethtool 2/2] ethtool: add new 1600G modes to link mode tables Carolina Jubran
2025-12-23 21:04 ` [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
2 siblings, 1 reply; 7+ messages in thread
From: Carolina Jubran @ 2025-12-04 7:59 UTC (permalink / raw)
To: Michal Kubecek, John W . Linville; +Cc: netdev, Yael Chemla, Carolina Jubran
From: Yael Chemla <ychemla@nvidia.com>
Update to kernel commit 491c5dc98b84.
Signed-off-by: Yael Chemla <ychemla@nvidia.com>
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
---
uapi/linux/ethtool.h | 6 ++++
uapi/linux/ethtool_netlink_generated.h | 47 ++++++++++++++++++++++++++
uapi/linux/if_ether.h | 2 ++
uapi/linux/if_link.h | 3 ++
uapi/linux/stddef.h | 1 -
5 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/uapi/linux/ethtool.h b/uapi/linux/ethtool.h
index 4a4b77b..046eb22 100644
--- a/uapi/linux/ethtool.h
+++ b/uapi/linux/ethtool.h
@@ -2075,6 +2075,10 @@ enum ethtool_link_mode_bit_indices {
ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118,
ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119,
ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120,
+ ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT = 121,
+ ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT = 122,
+ ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT = 123,
+ ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT = 124,
/* must be last entry */
__ETHTOOL_LINK_MODE_MASK_NBITS
@@ -2188,6 +2192,7 @@ enum ethtool_link_mode_bit_indices {
#define SPEED_200000 200000
#define SPEED_400000 400000
#define SPEED_800000 800000
+#define SPEED_1600000 1600000
#define SPEED_UNKNOWN -1
@@ -2378,6 +2383,7 @@ enum {
#define RXH_L4_B_0_1 (1 << 6) /* src port in case of TCP/UDP/SCTP */
#define RXH_L4_B_2_3 (1 << 7) /* dst port in case of TCP/UDP/SCTP */
#define RXH_GTP_TEID (1 << 8) /* teid in case of GTP */
+#define RXH_IP6_FL (1 << 9) /* IPv6 flow label */
#define RXH_DISCARD (1 << 31)
#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL
diff --git a/uapi/linux/ethtool_netlink_generated.h b/uapi/linux/ethtool_netlink_generated.h
index 98d12b0..4a84b21 100644
--- a/uapi/linux/ethtool_netlink_generated.h
+++ b/uapi/linux/ethtool_netlink_generated.h
@@ -561,12 +561,24 @@ enum {
ETHTOOL_A_TUNNEL_INFO_MAX = (__ETHTOOL_A_TUNNEL_INFO_CNT - 1)
};
+enum {
+ ETHTOOL_A_FEC_HIST_PAD = 1,
+ ETHTOOL_A_FEC_HIST_BIN_LOW,
+ ETHTOOL_A_FEC_HIST_BIN_HIGH,
+ ETHTOOL_A_FEC_HIST_BIN_VAL,
+ ETHTOOL_A_FEC_HIST_BIN_VAL_PER_LANE,
+
+ __ETHTOOL_A_FEC_HIST_CNT,
+ ETHTOOL_A_FEC_HIST_MAX = (__ETHTOOL_A_FEC_HIST_CNT - 1)
+};
+
enum {
ETHTOOL_A_FEC_STAT_UNSPEC,
ETHTOOL_A_FEC_STAT_PAD,
ETHTOOL_A_FEC_STAT_CORRECTED,
ETHTOOL_A_FEC_STAT_UNCORR,
ETHTOOL_A_FEC_STAT_CORR_BITS,
+ ETHTOOL_A_FEC_STAT_HIST,
__ETHTOOL_A_FEC_STAT_CNT,
ETHTOOL_A_FEC_STAT_MAX = (__ETHTOOL_A_FEC_STAT_CNT - 1)
@@ -791,6 +803,39 @@ enum {
ETHTOOL_A_PSE_NTF_MAX = (__ETHTOOL_A_PSE_NTF_CNT - 1)
};
+enum {
+ ETHTOOL_A_MSE_CAPABILITIES_MAX_AVERAGE_MSE = 1,
+ ETHTOOL_A_MSE_CAPABILITIES_MAX_PEAK_MSE,
+ ETHTOOL_A_MSE_CAPABILITIES_REFRESH_RATE_PS,
+ ETHTOOL_A_MSE_CAPABILITIES_NUM_SYMBOLS,
+
+ __ETHTOOL_A_MSE_CAPABILITIES_CNT,
+ ETHTOOL_A_MSE_CAPABILITIES_MAX = (__ETHTOOL_A_MSE_CAPABILITIES_CNT - 1)
+};
+
+enum {
+ ETHTOOL_A_MSE_SNAPSHOT_AVERAGE_MSE = 1,
+ ETHTOOL_A_MSE_SNAPSHOT_PEAK_MSE,
+ ETHTOOL_A_MSE_SNAPSHOT_WORST_PEAK_MSE,
+
+ __ETHTOOL_A_MSE_SNAPSHOT_CNT,
+ ETHTOOL_A_MSE_SNAPSHOT_MAX = (__ETHTOOL_A_MSE_SNAPSHOT_CNT - 1)
+};
+
+enum {
+ ETHTOOL_A_MSE_HEADER = 1,
+ ETHTOOL_A_MSE_CAPABILITIES,
+ ETHTOOL_A_MSE_CHANNEL_A,
+ ETHTOOL_A_MSE_CHANNEL_B,
+ ETHTOOL_A_MSE_CHANNEL_C,
+ ETHTOOL_A_MSE_CHANNEL_D,
+ ETHTOOL_A_MSE_WORST_CHANNEL,
+ ETHTOOL_A_MSE_LINK,
+
+ __ETHTOOL_A_MSE_CNT,
+ ETHTOOL_A_MSE_MAX = (__ETHTOOL_A_MSE_CNT - 1)
+};
+
enum {
ETHTOOL_MSG_USER_NONE = 0,
ETHTOOL_MSG_STRSET_GET = 1,
@@ -843,6 +888,7 @@ enum {
ETHTOOL_MSG_RSS_SET,
ETHTOOL_MSG_RSS_CREATE_ACT,
ETHTOOL_MSG_RSS_DELETE_ACT,
+ ETHTOOL_MSG_MSE_GET,
__ETHTOOL_MSG_USER_CNT,
ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1)
@@ -903,6 +949,7 @@ enum {
ETHTOOL_MSG_RSS_CREATE_ACT_REPLY,
ETHTOOL_MSG_RSS_CREATE_NTF,
ETHTOOL_MSG_RSS_DELETE_NTF,
+ ETHTOOL_MSG_MSE_GET_REPLY,
__ETHTOOL_MSG_KERNEL_CNT,
ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1)
diff --git a/uapi/linux/if_ether.h b/uapi/linux/if_ether.h
index a1aff8e..2c0ca40 100644
--- a/uapi/linux/if_ether.h
+++ b/uapi/linux/if_ether.h
@@ -92,6 +92,7 @@
#define ETH_P_ETHERCAT 0x88A4 /* EtherCAT */
#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
+#define ETH_P_MXLGSW 0x88C3 /* MaxLinear GSW DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_PREAUTH 0x88C7 /* 802.11 Preauthentication */
#define ETH_P_TIPC 0x88CA /* TIPC */
#define ETH_P_LLDP 0x88CC /* Link Layer Discovery Protocol */
@@ -114,6 +115,7 @@
#define ETH_P_QINQ1 0x9100 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_QINQ2 0x9200 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
+#define ETH_P_YT921X 0x9988 /* Motorcomm YT921x DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_DSA_8021Q 0xDADB /* Fake VLAN Header for DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_DSA_A5PSW 0xE001 /* A5PSW Tag Value [ NOT AN OFFICIALLY REGISTERED ID ] */
diff --git a/uapi/linux/if_link.h b/uapi/linux/if_link.h
index b450757..d05f5cc 100644
--- a/uapi/linux/if_link.h
+++ b/uapi/linux/if_link.h
@@ -379,6 +379,8 @@ enum {
IFLA_DPLL_PIN,
IFLA_MAX_PACING_OFFLOAD_HORIZON,
IFLA_NETNS_IMMUTABLE,
+ IFLA_HEADROOM,
+ IFLA_TAILROOM,
__IFLA_MAX
};
@@ -1562,6 +1564,7 @@ enum {
IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
IFLA_BOND_SLAVE_PRIO,
+ IFLA_BOND_SLAVE_ACTOR_PORT_PRIO,
__IFLA_BOND_SLAVE_MAX,
};
diff --git a/uapi/linux/stddef.h b/uapi/linux/stddef.h
index e1fcfcf..48ee443 100644
--- a/uapi/linux/stddef.h
+++ b/uapi/linux/stddef.h
@@ -3,7 +3,6 @@
#define _LINUX_STDDEF_H
-
#ifndef __always_inline
#define __always_inline __inline__
#endif
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH ethtool 2/2] ethtool: add new 1600G modes to link mode tables
2025-12-04 7:59 [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
2025-12-04 7:59 ` [PATCH ethtool 1/2] update UAPI header copies Carolina Jubran
@ 2025-12-04 7:59 ` Carolina Jubran
2025-12-23 21:04 ` [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
2 siblings, 0 replies; 7+ messages in thread
From: Carolina Jubran @ 2025-12-04 7:59 UTC (permalink / raw)
To: Michal Kubecek, John W . Linville; +Cc: netdev, Yael Chemla, Carolina Jubran
From: Yael Chemla <ychemla@nvidia.com>
Add the 1600G link mode bits, include them in capability dumps and
ioctl fallback, and update the man page.
Signed-off-by: Yael Chemla <ychemla@nvidia.com>
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
---
ethtool.8.in | 4 ++++
ethtool.c | 12 ++++++++++++
netlink/settings.c | 4 ++++
3 files changed, 20 insertions(+)
diff --git a/ethtool.8.in b/ethtool.8.in
index 553592b..2a3fc14 100644
--- a/ethtool.8.in
+++ b/ethtool.8.in
@@ -1013,6 +1013,10 @@ lB l lB.
0x400000000000000000000000000000 800000baseDR4_2 Full
0x800000000000000000000000000000 800000baseSR4 Full
0x1000000000000000000000000000000 800000baseVR4 Full
+0x2000000000000000000000000000000 1600000baseCR8 Full
+0x4000000000000000000000000000000 1600000baseKR8 Full
+0x8000000000000000000000000000000 1600000baseDR8 Full
+0x10000000000000000000000000000000 1600000baseDR8_2 Full
.TE
.TP
.BI phyad \ N
diff --git a/ethtool.c b/ethtool.c
index 948d551..21dea0b 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -538,6 +538,10 @@ static void init_global_link_mode_masks(void)
ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT,
ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT,
ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT,
+ ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT,
+ ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT,
+ ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT,
+ ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT,
};
static const enum ethtool_link_mode_bit_indices
additional_advertised_flags_bits[] = {
@@ -836,6 +840,14 @@ static void dump_link_caps(const char *prefix, const char *an_prefix,
"800000baseSR4/Full" },
{ 0, ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT,
"800000baseVR4/Full" },
+ { 0, ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT,
+ "1600000baseCR8/Full" },
+ { 0, ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT,
+ "1600000baseKR8/Full" },
+ { 0, ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT,
+ "1600000baseDR8/Full" },
+ { 0, ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT,
+ "1600000baseDR8_2/Full" },
};
int indent;
int did1, new_line_pend;
diff --git a/netlink/settings.c b/netlink/settings.c
index 84b2da8..05d215e 100644
--- a/netlink/settings.c
+++ b/netlink/settings.c
@@ -196,6 +196,10 @@ static const struct link_mode_info link_modes[] = {
[ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT] = __REAL(800000),
[ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT] = __REAL(800000),
[ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT] = __REAL(800000),
+ [ETHTOOL_LINK_MODE_1600000baseCR8_Full_BIT] = __REAL(1600000),
+ [ETHTOOL_LINK_MODE_1600000baseKR8_Full_BIT] = __REAL(1600000),
+ [ETHTOOL_LINK_MODE_1600000baseDR8_Full_BIT] = __REAL(1600000),
+ [ETHTOOL_LINK_MODE_1600000baseDR8_2_Full_BIT] = __REAL(1600000),
};
const unsigned int link_modes_count = ARRAY_SIZE(link_modes);
--
2.38.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH ethtool 1/2] update UAPI header copies
2025-12-04 7:59 ` [PATCH ethtool 1/2] update UAPI header copies Carolina Jubran
@ 2025-12-11 13:24 ` Hariprasad Kelam
2025-12-11 13:41 ` Michal Kubecek
0 siblings, 1 reply; 7+ messages in thread
From: Hariprasad Kelam @ 2025-12-11 13:24 UTC (permalink / raw)
To: Carolina Jubran; +Cc: Michal Kubecek, John W . Linville, netdev, Yael Chemla
On 2025-12-04 at 13:29:29, Carolina Jubran (cjubran@nvidia.com) wrote:
> From: Yael Chemla <ychemla@nvidia.com>
>
> Update to kernel commit 491c5dc98b84.
>
> Signed-off-by: Yael Chemla <ychemla@nvidia.com>
> Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
> ---
> uapi/linux/ethtool.h | 6 ++++
> uapi/linux/ethtool_netlink_generated.h | 47 ++++++++++++++++++++++++++
> uapi/linux/if_ether.h | 2 ++
> uapi/linux/if_link.h | 3 ++
> uapi/linux/stddef.h | 1 -
> 5 files changed, 58 insertions(+), 1 deletion(-)
>
looks like there are no changes in "stddef.h", but its part of this patch.
Thanks,
Hariprasad k
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH ethtool 1/2] update UAPI header copies
2025-12-11 13:24 ` Hariprasad Kelam
@ 2025-12-11 13:41 ` Michal Kubecek
0 siblings, 0 replies; 7+ messages in thread
From: Michal Kubecek @ 2025-12-11 13:41 UTC (permalink / raw)
To: Hariprasad Kelam; +Cc: Carolina Jubran, John W . Linville, netdev, Yael Chemla
On Thu, Dec 11, 2025 at 06:54:33PM GMT, Hariprasad Kelam wrote:
> On 2025-12-04 at 13:29:29, Carolina Jubran (cjubran@nvidia.com) wrote:
> > From: Yael Chemla <ychemla@nvidia.com>
> >
> > Update to kernel commit 491c5dc98b84.
> >
> > Signed-off-by: Yael Chemla <ychemla@nvidia.com>
> > Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
> > ---
> > uapi/linux/ethtool.h | 6 ++++
> > uapi/linux/ethtool_netlink_generated.h | 47 ++++++++++++++++++++++++++
> > uapi/linux/if_ether.h | 2 ++
> > uapi/linux/if_link.h | 3 ++
> > uapi/linux/stddef.h | 1 -
> > 5 files changed, 58 insertions(+), 1 deletion(-)
> >
>
> looks like there are no changes in "stddef.h", but its part of
> this patch.
It's whitespace only, AFAICS (one empty line removed).
Michal
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes
2025-12-04 7:59 [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
2025-12-04 7:59 ` [PATCH ethtool 1/2] update UAPI header copies Carolina Jubran
2025-12-04 7:59 ` [PATCH ethtool 2/2] ethtool: add new 1600G modes to link mode tables Carolina Jubran
@ 2025-12-23 21:04 ` Carolina Jubran
2 siblings, 0 replies; 7+ messages in thread
From: Carolina Jubran @ 2025-12-23 21:04 UTC (permalink / raw)
To: Michal Kubecek, John W . Linville; +Cc: netdev
On 04/12/2025 9:59, Carolina Jubran wrote:
> Hi,
>
> This series by Yael updates the UAPI header copies from the kernel and
> adds support in ethtool for the new 1600G link modes.
>
> Thanks,
> Carolina
>
> Yael Chemla (2):
> update UAPI header copies
> ethtool: add new 1600G modes to link mode tables
>
> ethtool.8.in | 4 +++
> ethtool.c | 12 +++++++
> netlink/settings.c | 4 +++
> uapi/linux/ethtool.h | 6 ++++
> uapi/linux/ethtool_netlink_generated.h | 47 ++++++++++++++++++++++++++
> uapi/linux/if_ether.h | 2 ++
> uapi/linux/if_link.h | 3 ++
> uapi/linux/stddef.h | 1 -
> 8 files changed, 78 insertions(+), 1 deletion(-)
Hi,
Sending a kind reminder on this series.
Thanks!
Carolina
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-12-23 21:04 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-04 7:59 [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
2025-12-04 7:59 ` [PATCH ethtool 1/2] update UAPI header copies Carolina Jubran
2025-12-11 13:24 ` Hariprasad Kelam
2025-12-11 13:41 ` Michal Kubecek
2025-12-04 7:59 ` [PATCH ethtool 2/2] ethtool: add new 1600G modes to link mode tables Carolina Jubran
2025-12-23 21:04 ` [PATCH ethtool 0/2] ethtool: Add support for 1600G link modes Carolina Jubran
-- strict thread matches above, loose matches on Subject: below --
2025-06-10 12:50 [PATCH ethtool 0/2] Add support for PTP hardware source Kory Maincent
2025-06-10 12:50 ` [PATCH ethtool 1/2] update UAPI header copies Kory Maincent
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).