git: 51f313dbc7a2 - main - net/if_media.h: Add 800GBase-X and 200Gbit/s per lane support
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 17 Jun 2026 18:23:48 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=51f313dbc7a28a7bd2013c205261f29f115eb0a7
commit 51f313dbc7a28a7bd2013c205261f29f115eb0a7
Author: Slava Shwartsman <slavash@nvidia.com>
AuthorDate: 2026-05-13 10:10:50 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-06-17 18:23:14 +0000
net/if_media.h: Add 800GBase-X and 200Gbit/s per lane support
Reviewed by: kib
Tested by: Wafa Hamzah <wafah@nvidia.com>
MFC after: 1 week
Sponsored by: Nvidia networking
Differential revision: https://reviews.freebsd.org/D57083
---
sys/net/ieee8023ad_lacp.c | 3 +++
sys/net/if_media.h | 42 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+)
diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c
index 99eee570c2a2..5d5fc88f205f 100644
--- a/sys/net/ieee8023ad_lacp.c
+++ b/sys/net/ieee8023ad_lacp.c
@@ -1198,6 +1198,9 @@ lacp_compose_key(struct lacp_port *lp)
case IF_Gbps(400):
key = 14;
break;
+ case IF_Gbps(800):
+ key = 15;
+ break;
default:
key = subtype;
if (!warned) {
diff --git a/sys/net/if_media.h b/sys/net/if_media.h
index 5cc8714219c8..5e2548d844c9 100644
--- a/sys/net/if_media.h
+++ b/sys/net/if_media.h
@@ -264,6 +264,20 @@ uint64_t ifmedia_baudrate(int);
#define IFM_400G_CR8 IFM_X(123) /* 400GBase-CR8 */
#define IFM_10_T1S IFM_X(124) /* 10BASE-T1S */
#define IFM_10_T1L IFM_X(125) /* 10BASE-T1L */
+#define IFM_400G_KR2_PAM4 IFM_X(126) /* 400GBase-KR2 PAM4 */
+#define IFM_400G_CR2 IFM_X(127) /* 400GBase-CR2 */
+#define IFM_400G_SR2 IFM_X(128) /* 400GBase-SR2 */
+#define IFM_800G_FR8 IFM_X(129) /* 800GBase-FR8 */
+#define IFM_800G_LR8 IFM_X(130) /* 800GBase-LR8 */
+#define IFM_800G_DR8 IFM_X(131) /* 800GBase-DR8 */
+#define IFM_800G_AUI8_AC IFM_X(132) /* 800G-AUI8 active copper/optical */
+#define IFM_800G_AUI8 IFM_X(133) /* 800G-AUI8 */
+#define IFM_800G_SR8 IFM_X(134) /* 800GBase-SR8 */
+#define IFM_800G_CR8 IFM_X(135) /* 800GBase-CR8 */
+#define IFM_800G_KR8 IFM_X(136) /* 800GBase-KR8 (KR8) */
+#define IFM_800G_CR4 IFM_X(137) /* 800GBase-CR4 */
+#define IFM_800G_SR4 IFM_X(138) /* 800GBase-SR4 */
+#define IFM_800G_KR4_PAM4 IFM_X(139) /* 800GBase-KR4 PAM4 */
/*
* Please update ieee8023ad_lacp.c:lacp_compose_key()
@@ -558,6 +572,20 @@ struct ifmedia_description {
{ IFM_400G_CR8, "400GBase-CR8" }, \
{ IFM_10_T1S, "10BASE-T1S" }, \
{ IFM_10_T1L, "10BASE-T1L" }, \
+ { IFM_400G_KR2_PAM4, "400GBase-KR2-PAM4" }, \
+ { IFM_400G_CR2, "400GBase-CR2" }, \
+ { IFM_400G_SR2, "400GBase-SR2" }, \
+ { IFM_800G_FR8, "800GBase-FR8" }, \
+ { IFM_800G_LR8, "800GBase-LR8" }, \
+ { IFM_800G_DR8, "800GBase-DR8" }, \
+ { IFM_800G_AUI8_AC, "800G-AUI8-AC" }, \
+ { IFM_800G_AUI8, "800G-AUI8" }, \
+ { IFM_800G_SR8, "800GBase-SR8" }, \
+ { IFM_800G_KR8, "800GBase-KR8" }, \
+ { IFM_800G_CR8, "800GBase-CR8" }, \
+ { IFM_800G_CR4, "800GBase-CR4" }, \
+ { IFM_800G_SR4, "800GBase-SR4" }, \
+ { IFM_800G_KR4_PAM4, "800GBase-KR4-PAM4" }, \
{ 0, NULL }, \
}
@@ -909,6 +937,20 @@ struct ifmedia_baudrate {
{ IFM_ETHER | IFM_400G_CR8, IF_Gbps(400ULL) }, \
{ IFM_ETHER | IFM_10_T1S, IF_Mbps(10) }, \
{ IFM_ETHER | IFM_10_T1L, IF_Mbps(10) }, \
+ { IFM_ETHER | IFM_400G_KR2_PAM4, IF_Gbps(400ULL) }, \
+ { IFM_ETHER | IFM_400G_CR2, IF_Gbps(400ULL) }, \
+ { IFM_ETHER | IFM_400G_SR2, IF_Gbps(400ULL) }, \
+ { IFM_ETHER | IFM_800G_FR8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_LR8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_DR8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_AUI8_AC, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_AUI8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_SR8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_CR8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_KR8, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_CR4, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_SR4, IF_Gbps(800ULL) }, \
+ { IFM_ETHER | IFM_800G_KR4_PAM4, IF_Gbps(800ULL) }, \
\
{ IFM_IEEE80211 | IFM_IEEE80211_FH1, IF_Mbps(1) }, \
{ IFM_IEEE80211 | IFM_IEEE80211_FH2, IF_Mbps(2) }, \