more ethernet media types

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

more ethernet media types

David Gwynne-5
apparently active optical cables are distinct from direct attached
cables, so here's a bunch of extra media types for them.

you can also get LR and ER(?) optics for 25g.

ok?

Index: if_media.h
===================================================================
RCS file: /cvs/src/sys/net/if_media.h,v
retrieving revision 1.39
diff -u -p -r1.39 if_media.h
--- if_media.h 24 Jan 2017 10:08:30 -0000 1.39
+++ if_media.h 14 Nov 2017 03:37:46 -0000
@@ -196,6 +196,13 @@ uint64_t ifmedia_baudrate(uint64_t);
 #define IFM_25G_SR 49 /* 25GBase-SR */
 #define IFM_50G_CR2 50 /* 50GBase-CR2 */
 #define IFM_50G_KR2 51 /* 50GBase-KR2 */
+#define IFM_25G_LR 52 /* 25GBase-LR */
+#define IFM_25G_ER 53 /* 25GBase-ER */
+#define IFM_10G_AOC 54 /* 10G Active Optical Cable */
+#define IFM_25G_AOC 55 /* 25G Active Optical Cable */
+#define IFM_40G_AOC 56 /* 40G Active Optical Cable */
+#define IFM_100G_AOC 57 /* 100G Active Optical Cable */
+#define IFM_25G_SFP_CU 58 /* 25G SFP28 direct attached cable */
 
 #define IFM_ETH_MASTER 0x0000000000010000ULL /* master mode (1000baseT) */
 #define IFM_ETH_RXPAUSE 0x0000000000020000ULL /* receive PAUSE frames */
@@ -541,6 +548,7 @@ struct ifmedia_description {
  { IFM_ETHER|IFM_10G_KR, "10GBASE-KR" }, \
  { IFM_ETHER|IFM_10G_CR1, "10GbaseCR1" }, \
  { IFM_ETHER|IFM_10G_CR1, "10GBASE-CR1" }, \
+ { IFM_ETHER|IFM_10G_AOC, "10G-AOC" }, \
  { IFM_ETHER|IFM_20G_KR2, "20GbaseKR2" }, \
  { IFM_ETHER|IFM_20G_KR2, "20GBASE-KR2" }, \
  { IFM_ETHER|IFM_2500_KX, "2500baseKX" }, \
@@ -559,6 +567,7 @@ struct ifmedia_description {
  { IFM_ETHER|IFM_1000_CX_SGMII, "1000BASE-CX-SGMII" }, \
  { IFM_ETHER|IFM_40G_KR4, "40GbaseKR4" }, \
  { IFM_ETHER|IFM_40G_KR4, "40GBASE-KR4" }, \
+ { IFM_ETHER|IFM_40G_AOC, "40G-AOC" }, \
  { IFM_ETHER|IFM_10G_ER, "10GbaseER" }, \
  { IFM_ETHER|IFM_10G_ER, "10GBASE-ER" }, \
  { IFM_ETHER|IFM_100G_CR4, "100GbaseCR4" }, \
@@ -569,6 +578,7 @@ struct ifmedia_description {
  { IFM_ETHER|IFM_100G_KR4, "100GBASE-KR4" }, \
  { IFM_ETHER|IFM_100G_LR4, "100GbaseLR4" }, \
  { IFM_ETHER|IFM_100G_LR4, "100GBASE-LR4" }, \
+ { IFM_ETHER|IFM_100G_AOC, "100G-AOC" }, \
  { IFM_ETHER|IFM_56G_R4, "56GbaseR4" }, \
  { IFM_ETHER|IFM_56G_R4, "56GBASE-R4" }, \
  { IFM_ETHER|IFM_25G_CR, "25GbaseCR" }, \
@@ -577,6 +587,12 @@ struct ifmedia_description {
  { IFM_ETHER|IFM_25G_KR, "25GBASE-KR" }, \
  { IFM_ETHER|IFM_25G_SR, "25GbaseSR" }, \
  { IFM_ETHER|IFM_25G_SR, "25GBASE-SR" }, \
+ { IFM_ETHER|IFM_25G_LR, "25GbaseLR" }, \
+ { IFM_ETHER|IFM_25G_LR, "25GBASE-LR" }, \
+ { IFM_ETHER|IFM_25G_ER, "25GbaseER" }, \
+ { IFM_ETHER|IFM_25G_ER, "25GBASE-ER" }, \
+ { IFM_ETHER|IFM_25G_SFP_CU "25GSFP28" }, \
+ { IFM_ETHER|IFM_10G_AOC, "25G-AOC" }, \
  { IFM_ETHER|IFM_50G_CR2, "50GbaseCR2" }, \
  { IFM_ETHER|IFM_50G_CR2, "50GBASE-CR2" }, \
  { IFM_ETHER|IFM_50G_KR2, "50GbaseKR2" }, \