#define __PUBLIC_H\r
\r
#define BUS_HARDWARE_IDS L"MLX4\\ConnectX_Hca\0"\r
-#define BUSENUM_COMPATIBLE_IDS L"MLX4\\ConnectX_Hca\0"\r
+#define ETH_HARDWARE_IDS L"MLX4\\ConnectX_Eth\0"\r
+#define BUS_HARDWARE_DESCRIPTION L"Mellanox ConnectX Virtual Infiniband Adapter (#%02d)"\r
+#define ETH_HARDWARE_DESCRIPTION L"Mellanox ConnectX Virtual Ethernet Adapter (#%02d)"\r
\r
#endif\r
\r
+\r
\r
/* get MLX4_BUS IB interface */\r
status = __get_ifc( Device, &MLX4_BUS_IB_INTERFACE_GUID,\r
- sizeof(MLX4_BUS_IB_INTERFACE), 1, NULL, (PINTERFACE)&p_fdo->bus_ib_ifc);\r
+ sizeof(MLX4_BUS_IB_INTERFACE), MLX4_BUS_IB_INTERFACE_VERSION, NULL, (PINTERFACE)&p_fdo->bus_ib_ifc);\r
if( !NT_SUCCESS( status ) ) {\r
HCA_PRINT(TRACE_LEVEL_ERROR, HCA_DBG_PNP, ("Getting MLX4 BUS interface failed: status=0x%x\n", status));\r
return status;\r
\r
/* get MLX4_BUS IB interface */\r
status = __get_ifc( p_dev_obj, &MLX4_BUS_IB_INTERFACE_GUID,\r
- sizeof(MLX4_BUS_IB_INTERFACE), 1, NULL, (PINTERFACE)&p_fdo->bus_ib_ifc);\r
+ sizeof(MLX4_BUS_IB_INTERFACE), MLX4_BUS_IB_INTERFACE_VERSION, NULL, (PINTERFACE)&p_fdo->bus_ib_ifc);\r
if( !NT_SUCCESS( status ) ) {\r
HCA_PRINT(TRACE_LEVEL_ERROR, HCA_DBG_PNP, ("Getting MLX4 BUS interface failed: status=0x%x\n", status));\r
goto end;\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 1999 Microsoft Corporation\r
+\r
+Module Name:\r
+ mtnic_dev.h\r
+\r
+Abstract:\r
+ define the essential structure that is common to mxe_bus and the connectx driver\r
+ \r
+Revision History:\r
+\r
+Notes:\r
+\r
+--*/\r
+\r
+#pragma once\r
+\r
+#pragma warning( disable : 4214)\r
+#pragma warning( disable : 4324)\r
+#include <ndis.h>\r
+#pragma warning( default : 4214)\r
+#pragma warning( default : 4324)\r
+\r
+\r
+#define MTNIC_MAX_PORTS 2\r
+\r
+#define MAX_PORT_SIZE 91000\r
+#define MXE_INTERFACE_VERSION 2\r
+\r
+enum mtnic_state {\r
+ CARD_DOWN,\r
+ CARD_UP,\r
+ CARD_GOING_DOWN,\r
+ CARD_DISABLED\r
+};\r
+\r
+typedef struct {\r
+ enum mtnic_state state;\r
+ LONG fPortStateScheuled;\r
+ KDPC PortStateDpc;\r
+ NDIS_WORK_ITEM PortStateWorkItem;\r
+ NDIS_WORK_ITEM ResetWorkItem;\r
+ KEVENT ConfigChangeEvent; \r
+ NDIS_SPIN_LOCK DoorBellLock; // Used only on 32 bits systems\r
+ KTIMER HeardBeatTimer; \r
+ LONG ResetCount;\r
+} NicData_t;\r
+\r
+//typedef struct _VipBusIfc\r
+struct VipBusIfc\r
+{\r
+ PVOID Context;\r
+ LONG NoOfConnectedPorts;\r
+ ULONG ulAllocatePortObjSize;\r
+ NicData_t NicData; \r
+#ifndef _WIN64 \r
+// UCHAR pad[0x8];\r
+#else\r
+ UCHAR pad[8]; \r
+#endif \r
+#ifdef MTNIC\r
+ C_ASSERT(MAX_PORT_SIZE >= sizeof(struct _MP_PORT));\r
+ MP_PORT ports[MTNIC_MAX_PORTS];\r
+#else\r
+ UCHAR ports[MAX_PORT_SIZE * MTNIC_MAX_PORTS];\r
+#endif \r
+};\r
+\r
+C_ASSERT((FIELD_OFFSET(struct VipBusIfc, ports) % 16) == 0);\r
+\r
+\r