Hi,

recently, we have bought servers with Mellanox Ethernet Adaptors of the
MT2894
Family [ConnectX‑6 Lx] :
 - OCP3 form factor : MCX631432AS-ADAI
 - PCIe form factor : MCX631102AS-ADAT

We want to run OpenBSD on those servers.
But, looking at the source code, we figured out that the MT2894 family is
not
supported.

I wrote these "quick and dirty patch", hopping that sys/dev/pci/if_mcx.c
includes
everything that ConnectX-6 LX cards need to operate :

===================================================================
--- sys/dev/pci/if_mcx.c Mon Nov 21 23:48:32 2022
+++ sys/dev/pci/if_mcx.c Thu Aug 10 09:44:21 2023
@@ -2657,6 +2657,7 @@ static const struct pci_matchid mcx_devices[] = {
  { PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT28800VF },
  { PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT28908 },
  { PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT2892  },
+ { PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT2894  },
 };

 struct mcx_eth_proto_capability {

===================================================================
--- sys/dev/pci/pcidevs.h Sun Mar 19 03:38:43 2023
+++ sys/dev/pci/pcidevs.h Thu Aug 10 09:44:21 2023
@@ -7261,6 +7261,7 @@
 #define PCI_PRODUCT_MELLANOX_MT28908 0x101b /* ConnectX-6 */
 #define PCI_PRODUCT_MELLANOX_MT28908VF 0x101c /* ConnectX-6 VF */
 #define PCI_PRODUCT_MELLANOX_MT2892 0x101d /* ConnectX-6 Dx */
+#define PCI_PRODUCT_MELLANOX_MT2894 0x101f /* ConnectX-6 Lx */
 #define PCI_PRODUCT_MELLANOX_CONNECTX_EN 0x6368 /* ConnectX EN */

 /* Mentor */

===================================================================
--- sys/dev/pci/pcidevs_data.h Sun Mar 19 03:38:43 2023
+++ sys/dev/pci/pcidevs_data.h Thu Aug 10 09:44:21 2023
@@ -26184,6 +26184,10 @@ static const struct pci_known_product
pci_known_produc
     "ConnectX-6 Dx",
  },
  {
+    PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_MT2894,
+    "ConnectX-6 Lx",
+ },
+ {
     PCI_VENDOR_MELLANOX, PCI_PRODUCT_MELLANOX_CONNECTX_EN,
     "ConnectX EN",
  },

Thanks to this patch, the cards are recognized by the system. The first
tests
don't show any problem. But I'm not sure of anything, because I didn't
check
if_mcx.c with the datasheet of the cards (and I'm not able to do this).

I would like to know if it could be possible to add an official support
of the Mellanox MT2894 family (ConnectX-6 Lx) in the upcoming OpenBSD
release ?

Best regards
Olivier.

PS : for your information, already posted this morning on misc mailing list
(https://marc.info/?l=openbsd-misc&m=169398814929531&w=2) but it wasn't
maybe the best mailing list.

Reply via email to