aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTore Amundsen <tore@amundsen.org>2024-11-13 05:08:06 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2024-11-13 05:27:32 +0000
commit78c63ed260fa20b3500aedfe41dc0dcae9593f51 (patch)
treea713d5b3854790650e20f35cbe97fb01e6c23b42
parent7e8f87ca2b9f9e50c5bcd8dbe03ef2b7d18a6574 (diff)
net: if_media for 1000Base-BX BiDi
1000Base-BX uses two wavelengths, commonly 1310nm, 1490nm, 1550nm, or 1590nm, in a Coarse Wavelength Division Multiplexing (CWDM) arrangement so that a single fiber strand may carry both upstream and downstream. It is sometimes referred to as BiDi for bi-directional usage of one fiber. Optics must be paired such that the RX and TX wavelengths cross over, with one side often called U(pstream) and the other D(ownstream). This technology is useful for increasing link density or working around construction issues, and is also frequently used as a last mile delivery technology for FTTx. MFC after: 3 days Sponsored by: BBOX.io (review/commits) Pull Request: https://github.com/freebsd/freebsd-src/pull/1518
-rw-r--r--sys/net/ieee8023ad_lacp.c1
-rw-r--r--sys/net/if_media.h3
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c
index c1e91f7fcb3e..be047c4913fc 100644
--- a/sys/net/ieee8023ad_lacp.c
+++ b/sys/net/ieee8023ad_lacp.c
@@ -1146,6 +1146,7 @@ lacp_compose_key(struct lacp_port *lp)
case IFM_1000_KX:
case IFM_1000_SGMII:
case IFM_1000_CX_SGMII:
+ case IFM_1000_BX:
key = IFM_1000_SX;
break;
case IFM_10G_LR:
diff --git a/sys/net/if_media.h b/sys/net/if_media.h
index c03a4c87b355..2b308ccfea25 100644
--- a/sys/net/if_media.h
+++ b/sys/net/if_media.h
@@ -258,6 +258,7 @@ uint64_t ifmedia_baudrate(int);
#define IFM_400G_AUI8 IFM_X(117) /* 400G-AUI8 */
#define IFM_50G_KR4 IFM_X(118) /* 50GBase-KR4 */
#define IFM_40G_LM4 IFM_X(119) /* 40GBase-LM4 */
+#define IFM_1000_BX IFM_X(120) /* 1000Base-BX */
/*
* Please update ieee8023ad_lacp.c:lacp_compose_key()
@@ -442,6 +443,7 @@ struct ifmedia_description {
{ IFM_1000_SX, "1000baseSX" }, \
{ IFM_1000_LX, "1000baseLX" }, \
{ IFM_1000_CX, "1000baseCX" }, \
+ { IFM_1000_BX, "1000baseBX" }, \
{ IFM_1000_T, "1000baseT" }, \
{ IFM_HPNA_1, "homePNA" }, \
{ IFM_10G_LR, "10Gbase-LR" }, \
@@ -789,6 +791,7 @@ struct ifmedia_baudrate {
{ IFM_ETHER | IFM_10_FL, IF_Mbps(10) }, \
{ IFM_ETHER | IFM_1000_LX, IF_Mbps(1000) }, \
{ IFM_ETHER | IFM_1000_CX, IF_Mbps(1000) }, \
+ { IFM_ETHER | IFM_1000_BX, IF_Mbps(1000) }, \
{ IFM_ETHER | IFM_1000_T, IF_Mbps(1000) }, \
{ IFM_ETHER | IFM_HPNA_1, IF_Mbps(1) }, \
{ IFM_ETHER | IFM_10G_LR, IF_Gbps(10ULL) }, \