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.