; /****************************************************************************
; ** COPYRIGHT (C) 2008-2009 Mellanox                                        **
; ****************************************************************************/

[version]
;Layoutfile parameter is reserved for internal Microsoft use only
;LayoutFile = layout.inf
Signature   = "$Chicago$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %Mellanox%
Compatible  = 1
DriverVer=12/23/2012,4.3.11897
CatalogFile=ipoib6x.cat

[Manufacturer]
%Mellanox%     = Mellanox,NTx86,NTia64,NTamd64


[Mellanox.NTx86]
; DisplayName           Section       DeviceID
; -----------           -------       --------
%ipoib6x_CX.DeviceDesc%   = ipoib6x.ndi,    IBA\ConnectX_IPoIB     ; Mellanox ConnectX Internet Protocol over InfiniBand Adapter
%ipoib6x_CX.DeviceDesc%   = ipoib6x.ndi,    IBA\ConnectX_IPoIBP    ; Mellanox ConnectX Internet Protocol over InfiniBand Adapter with partition key
%ipoib6x_CX2.DeviceDesc%  = ipoib6x.ndi,    IBA\ConnectX-2_IPoIB   ; Mellanox ConnectX-2 Internet Protocol over InfiniBand Adapter
%ipoib6x_CX2.DeviceDesc%  = ipoib6x.ndi,    IBA\ConnectX-2_IPoIBP  ; Mellanox ConnectX-2 Internet Protocol over InfiniBand Adapter with partition key
%ipoib6x_CX3.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-3_IPoIB   ; Mellanox ConnectX-3 Internet Protocol over InfiniBand Adapter
%ipoib6x_CX3.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-3_IPoIBP  ; Mellanox ConnectX-3 Internet Protocol over InfiniBand Adapter with partition key

[Mellanox.NTia64]
; DisplayName           Section       DeviceID
; -----------           -------       --------
%ipoib6x_CX.DeviceDesc%   = ipoib6x.ndi,	IBA\ConnectX_IPoIB	   ; Mellanox ConnectX Internet Protocol over InfiniBand Adapter
%ipoib6x_CX.DeviceDesc%   = ipoib6x.ndi,	IBA\ConnectX_IPoIBP    ; Mellanox ConnectX Internet Protocol over InfiniBand Adapter with partition key
%ipoib6x_CX2.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-2_IPoIB   ; Mellanox ConnectX-2 Internet Protocol over InfiniBand Adapter
%ipoib6x_CX2.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-2_IPoIBP  ; Mellanox ConnectX-2 Internet Protocol over InfiniBand Adapter with partition key
%ipoib6x_CX3.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-3_IPoIB   ; Mellanox ConnectX-3 Internet Protocol over InfiniBand Adapter
%ipoib6x_CX3.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-3_IPoIBP  ; Mellanox ConnectX-3 Internet Protocol over InfiniBand Adapter with partition key

[Mellanox.NTamd64]
; DisplayName           Section       DeviceID
; -----------           -------       --------
%ipoib6x_CX.DeviceDesc%   = ipoib6x.ndi,	IBA\ConnectX_IPoIB	   ; Mellanox ConnectX Internet Protocol over InfiniBand Adapter
%ipoib6x_CX.DeviceDesc%   = ipoib6x.ndi,	IBA\ConnectX_IPoIBP    ; Mellanox ConnectX Internet Protocol over InfiniBand Adapter with partition key
%ipoib6x_CX2.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-2_IPoIB   ; Mellanox ConnectX-2 Internet Protocol over InfiniBand Adapter
%ipoib6x_CX2.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-2_IPoIBP  ; Mellanox ConnectX-2 Internet Protocol over InfiniBand Adapter with partition key
%ipoib6x_CX3.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-3_IPoIB   ; Mellanox ConnectX-3 Internet Protocol over InfiniBand Adapter
%ipoib6x_CX3.DeviceDesc%  = ipoib6x.ndi,	IBA\ConnectX-3_IPoIBP  ; Mellanox ConnectX-3 Internet Protocol over InfiniBand Adapter with partition key

;

; Windows NT specific entry
[ipoib6x.ndi.ntx86]
Characteristics = 0x81 ; NCF_HAS_UI | NCF_VIRTUAL
AddReg          = cx.reg, ipoib6x.reg, WinCtxTune_reg
CopyFiles       = WctxtuneCopyFiles
CopyFiles       = IpoibCopyFiles
*IfType         = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType      = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[ipoib6x.ndi.ntamd64]
Characteristics = 0x81 ; NCF_HAS_UI | NCF_VIRTUAL
AddReg          = cx.reg, ipoib6x.reg, WinCtxTune_reg
CopyFiles       = IpoibCopyFiles
CopyFiles       = WctxtuneCopyFiles
*IfType         = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType      = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[ipoib6x.ndi.ntia64]
Characteristics = 0x81 ; NCF_HAS_UI | NCF_VIRTUAL
AddReg          = cx.reg, ipoib6x.reg, WinCtxTune_reg
CopyFiles       = IpoibCopyFiles
CopyFiles       = WctxtuneCopyFiles
*IfType         = 6		; IF_TYPE_ETHERNET_CSMACD 
*MediaType      = 0		; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3


[ipoib6x.ndi.ntx86.Services]
AddService = ipoib6x, 2, ipoib6x.Service, common.EventLog

[ipoib6x.ndi.ntamd64.Services]
AddService = ipoib6x, 2, ipoib6x.Service, common.EventLog

[ipoib6x.ndi.ntia64.Services]
AddService = ipoib6x, 2, ipoib6x.Service, common.EventLog

;-----------------------------------------------------------------------------
; cx common
;
[cx.reg]
HKR, NDI\Params\NumTcb,         ParamDesc,  0, "%TransmitControlBlocks%"
HKR, NDI\Params\NumTcb,         default,    0, "16"
HKR, NDI\Params\NumTcb,         min,        0, "1"
HKR, NDI\Params\NumTcb,         max,        0, "00000064"
HKR, NDI\Params\NumTcb,         step,       0, "1"
HKR, NDI\Params\NumTcb,         Base,       0, "10"
HKR, NDI\Params\NumTcb,         type,       0, "int"
HKR, "",                        NumTcb,     0, "16"

HKR, NDI\Params\LargeSendOffload,  ParamDesc,0, "%LargeSendOffload%"
HKR, NDI\Params\LargeSendOffload,  Type,     0, "enum"
HKR, NDI\Params\LargeSendOffload,  Default,  0, "1"
HKR, NDI\Params\LargeSendOffload,  Optional, 0, "0"
HKR, NDI\Params\LargeSendOffload\enum, "0",  0, "%Disabled%"
HKR, NDI\Params\LargeSendOffload\enum, "1",  0, "%Enabled%"
HKR,  "", LargeSendOffload, 0, "1"     

HKR, NDI\Params\*LsoV1IPv4,  ParamDesc, 0, "%LsoV1IPv4%"
HKR, NDI\Params\*LsoV1IPv4,  Type,      0, "enum"
HKR, NDI\Params\*LsoV1IPv4,  Default,   0, "1"
HKR, NDI\Params\*LsoV1IPv4,  Optional,  0, "0"
HKR, NDI\Params\*LsoV1IPv4\enum,  "0",  0, "%Disabled%"
HKR, NDI\Params\*LsoV1IPv4\enum,  "1",  0, "%Enabled%"
HKR, "", *LsoV1IPv4, 0, "1"

HKR, NDI\Params\*LsoV2IPv4,  ParamDesc, 0, "%LsoV2IPv4%"
HKR, NDI\Params\*LsoV2IPv4,  Type,      0, "enum"
HKR, NDI\Params\*LsoV2IPv4,  Default,   0, "1"
HKR, NDI\Params\*LsoV2IPv4,  Optional,  0, "0"
HKR, NDI\Params\*LsoV2IPv4\enum,  "0",  0, "%Disabled%"
HKR, NDI\Params\*LsoV2IPv4\enum,  "1",  0, "%Enabled%"
HKR, "", *LsoV2IPv4, 0, "1"

HKR, NDI\Params\*LsoV2IPv6,  ParamDesc, 0, "%LsoV2IPv6%"
HKR, NDI\Params\*LsoV2IPv6,  Type,      0, "enum"
HKR, NDI\Params\*LsoV2IPv6,  Default,   0, "1"
HKR, NDI\Params\*LsoV2IPv6,  Optional,  0, "0"
HKR, NDI\Params\*LsoV2IPv6\enum,  "0",  0, "%Disabled%"
HKR, NDI\Params\*LsoV2IPv6\enum,  "1",  0, "%Enabled%"
HKR, "", *LsoV2IPv6, 0, "1"


HKR, NDI\Params\SendCompletionMethod,  ParamDesc, 0, "%SendCompletionMethod%"
HKR, NDI\Params\SendCompletionMethod,  Type,      0, "enum"
HKR, NDI\Params\SendCompletionMethod,  Default,   0, "0"
HKR, NDI\Params\SendCompletionMethod,  Optional,  0, "0"
HKR, NDI\Params\SendCompletionMethod\enum,  "0",  0, "%Polling%"
HKR, NDI\Params\SendCompletionMethod\enum,  "1",  0, "%Interrupts%"
HKR, "", SendCompletionMethod,  0, "0"

HKR, NDI\Params\RecvCompletionMethod,  ParamDesc, 0, "%RecvCompletionMethod%"
HKR, NDI\Params\RecvCompletionMethod,  Type,  0, "enum"
HKR, NDI\Params\RecvCompletionMethod,  Default, 0, "2"
HKR, NDI\Params\RecvCompletionMethod,  Optional, 0, "0"
HKR, NDI\Params\RecvCompletionMethod\enum,  "1", 0, "%Polling%"
HKR, NDI\Params\RecvCompletionMethod\enum,  "2", 0, "%Adaptive%"
HKR, "", RecvCompletionMethod, 0, "2"

HKR, NDI\Params\*JumboPacket ,         ParamDesc,  0, "%MaxFrameSize%"
HKR, NDI\Params\*JumboPacket ,         default,    0, "4092"
HKR, NDI\Params\*JumboPacket ,         min,        0, "1500"
HKR, NDI\Params\*JumboPacket ,         max,        0, "4092"
HKR, NDI\Params\*JumboPacket ,         step,       0, "1"
HKR, NDI\Params\*JumboPacket ,         Base,       0, "10"
HKR, NDI\Params\*JumboPacket ,         type,       0, "int"
HKR, "", *JumboPacket ,  0, "4092"    

HKR, NDI\Params\*ReceiveBuffers,  ParamDesc, 0, "%RecvRingSize%"
HKR, NDI\Params\*ReceiveBuffers,  default,    0, "1024"
HKR, NDI\Params\*ReceiveBuffers,  min, 	   0, "256"
HKR, NDI\Params\*ReceiveBuffers,  max, 	   0, "4096"
HKR, NDI\Params\*ReceiveBuffers,  step,	   0, "1"
HKR, NDI\Params\*ReceiveBuffers,  Base,	   0, "10"
HKR, NDI\Params\*ReceiveBuffers,  type,	   0, "int"
HKR, "", *ReceiveBuffers,  0, "1024"	  
	
HKR, NDI\Params\*TransmitBuffers,  ParamDesc, 0, "%SendRingSize%"
HKR, NDI\Params\*TransmitBuffers,  default,	  0, "2048"
HKR, NDI\Params\*TransmitBuffers,  min,	   0, "256"
HKR, NDI\Params\*TransmitBuffers,  max,	   0, "4096"
HKR, NDI\Params\*TransmitBuffers,  step,    0, "1"
HKR, NDI\Params\*TransmitBuffers,  Base,    0, "10"
HKR, NDI\Params\*TransmitBuffers,  type,    0, "int"
HKR, "", *TransmitBuffers,  0, "2048"	  

HKR, NDI\Params\UseDma,  ParamDesc, 0, "%UseDma%"
HKR, NDI\Params\UseDma,  Type,      0, "enum"
HKR, NDI\Params\UseDma,  Default,   0, "1"
HKR, NDI\Params\UseDma,  Optional,  0, "0"
HKR, NDI\Params\UseDma\enum,  "0",  0, "%Disabled%"
HKR, NDI\Params\UseDma\enum,  "1",  0, "%Enabled%"
HKR, "", UseDma, 0, "0"


HKR, NDI\Params\*RSS,  ParamDesc, 0, "%RssMode%"
HKR, NDI\Params\*RSS,  Type,  0, "enum"
HKR, NDI\Params\*RSS,  Default, 0, "1"
HKR, NDI\Params\*RSS,  Optional, 0, "0"
HKR, NDI\Params\*RSS\enum,  "0", 0, "%No_rebalnce%"
HKR, NDI\Params\*RSS\enum,  "1", 0, "%NDIS_RSS%"
HKR, "", *RSS,  0, "1"   

HKR, NDI\Params\SendIntModCount,         ParamDesc,  0, "%SendIntModCount%"
HKR, NDI\Params\SendIntModCount,         default,    0, "0"
HKR, NDI\Params\SendIntModCount,         min,        0, "0"
HKR, NDI\Params\SendIntModCount,         max,        0, "00000100"
HKR, NDI\Params\SendIntModCount,         step,       0, "1"
HKR, NDI\Params\SendIntModCount,         Base,       0, "10"
HKR, NDI\Params\SendIntModCount,         type,       0, "int"
HKR, "", SendIntModCount,  0, "0"

HKR, NDI\Params\SendIntModTime,         ParamDesc,  0, "%SendIntModTime%"
HKR, NDI\Params\SendIntModTime,         default,    0, "0"
HKR, NDI\Params\SendIntModTime,         min,        0, "0"
HKR, NDI\Params\SendIntModTime,         max,        0, "00000100"
HKR, NDI\Params\SendIntModTime,         step,       0, "1"
HKR, NDI\Params\SendIntModTime,         Base,       0, "10"
HKR, NDI\Params\SendIntModTime,         type,       0, "int"
HKR, "", SendIntModTime,  0, "0"

HKR, NDI\Params\RecvIntModCount,         ParamDesc,  0, "%RecvIntModCount%"
HKR, NDI\Params\RecvIntModCount,         default,    0, "5"
HKR, NDI\Params\RecvIntModCount,         min,        0, "0"
HKR, NDI\Params\RecvIntModCount,         max,        0, "00000200"
HKR, NDI\Params\RecvIntModCount,         step,       0, "1"
HKR, NDI\Params\RecvIntModCount,         Base,       0, "10"
HKR, NDI\Params\RecvIntModCount,         type,       0, "int"
HKR, "", RecvIntModCount,  0, "5"

HKR, NDI\Params\RecvIntModTime,         ParamDesc,  0, "%RecvIntModTime%"
HKR, NDI\Params\RecvIntModTime,         default,    0, "10"
HKR, NDI\Params\RecvIntModTime,         min,        0, "0"
HKR, NDI\Params\RecvIntModTime,         max,        0, "00000200"
HKR, NDI\Params\RecvIntModTime,         step,       0, "1"
HKR, NDI\Params\RecvIntModTime,         Base,       0, "10"
HKR, NDI\Params\RecvIntModTime,         type,       0, "int"
HKR, "", RecvIntModTime,  0, "10"

HKR, NDI\Params\SendPollingModCount,         ParamDesc,  0, "%SendPollingModCount%"
HKR, NDI\Params\SendPollingModCount,         Default,    0, "1"
HKR, NDI\Params\SendPollingModCount,         min,        0, "1"
HKR, NDI\Params\SendPollingModCount,         max,        0, "100"
HKR, NDI\Params\SendPollingModCount,         step,       0, "1"
HKR, NDI\Params\SendPollingModCount,         Base,       0, "10"
HKR, NDI\Params\SendPollingModCount,         type,       0, "int"
HKR, "", SendPollingModCount,  0, "1"

HKR, NDI\Params\SendPollingModTime,         ParamDesc,  0, "%SendPollingModTime%"
HKR, NDI\Params\SendPollingModTime,         Default,    0, "20"
HKR, NDI\Params\SendPollingModTime,         min,        0, "10"
HKR, NDI\Params\SendPollingModTime,         max,        0, "100"
HKR, NDI\Params\SendPollingModTime,         step,       0, "10"
HKR, NDI\Params\SendPollingModTime,         Base,       0, "10"
HKR, NDI\Params\SendPollingModTime,         type,       0, "int"
HKR, "", SendPollingModTime,  0, "20"

HKR, NDI\Params\ThreadPoll,         ParamDesc,  0, "%ThreadPoll%"
HKR, NDI\Params\ThreadPoll,         Default,    0, "10000"
HKR, NDI\Params\ThreadPoll,         min,        0, "1"
HKR, NDI\Params\ThreadPoll,         max,        0, "20000"
HKR, NDI\Params\ThreadPoll,         step,       0, "1"
HKR, NDI\Params\ThreadPoll,         Base,       0, "10"
HKR, NDI\Params\ThreadPoll,         type,       0, "int"
HKR, "", ThreadPoll,  0, "10000"

HKR, NDI\Params\RxIntModeration,  ParamDesc, 0, "%RxIntModeration%"
HKR, NDI\Params\RxIntModeration,  Type,		0, "enum"
HKR, NDI\Params\RxIntModeration,  Default,	0, "2"
HKR, NDI\Params\RxIntModeration,  Optional,	0, "0"
HKR, NDI\Params\RxIntModeration\enum, "1",	0, "%Static%"
HKR, NDI\Params\RxIntModeration\enum, "2",	0, "%Adaptive%"
HKR, "", RxIntModeration,0, "2"

HKR, NDI\Params\*InterruptModeration,  ParamDesc, 0, "%InterruptModeration%"
HKR, NDI\Params\*InterruptModeration,  Type,      0, "enum"
HKR, NDI\Params\*InterruptModeration,  Default,   0, "1"
HKR, NDI\Params\*InterruptModeration,  Optional,  0, "0"
HKR, NDI\Params\*InterruptModeration\enum,  "0",  0, "%Disabled%"
HKR, NDI\Params\*InterruptModeration\enum,  "1",  0, "%Enabled%"
HKR, "", *InterruptModeration, 0, "1"

HKR, NDI\Params\*IPChecksumOffloadIPv4,  ParamDesc, 0, "%IPChecksumOffloadIPv4%"
HKR, NDI\Params\*IPChecksumOffloadIPv4,  Type,      0, "enum"
HKR, NDI\Params\*IPChecksumOffloadIPv4,  Default,   0, "3"
HKR, NDI\Params\*IPChecksumOffloadIPv4,  Optional,  0, "0"
HKR, NDI\Params\*IPChecksumOffloadIPv4\enum,	"0",  0, "%Disabled%"
HKR, NDI\Params\*IPChecksumOffloadIPv4\enum,	"1",  0, "%TxEnabled%"
HKR, NDI\Params\*IPChecksumOffloadIPv4\enum,	"2",  0, "%RxEnabled%"
HKR, NDI\Params\*IPChecksumOffloadIPv4\enum,	"3",  0, "%TxRxEnabled%"
HKR, "", *IPChecksumOffloadIPv4, 0, "3"

HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4,  ParamDesc, 0, "%TCPUDPChecksumOffloadIPv4%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4,  Type,      0, "enum"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4,  Default,   0, "3"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4,  Optional,  0, "0"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4\enum,	"0",  0, "%Disabled%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4\enum,	"1",  0, "%TxEnabled%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4\enum,	"2",  0, "%RxEnabled%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv4\enum,	"3",  0, "%TxRxEnabled%"
HKR, "", *TCPUDPChecksumOffloadIPv4, 0, "3"

HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6,  ParamDesc, 0, "%TCPUDPChecksumOffloadIPv6%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6,  Type,      0, "enum"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6,  Default,   0, "3"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6,  Optional,  0, "0"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6\enum,	"0",  0, "%Disabled%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6\enum,	"1",  0, "%TxEnabled%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6\enum,	"2",  0, "%RxEnabled%"
HKR, NDI\Params\*TCPUDPChecksumOffloadIPv6\enum,	"3",  0, "%TxRxEnabled%"
HKR, "", *TCPUDPChecksumOffloadIPv6, 0, "3"

HKR, NDI\Params\SaTimeout,		ParamDesc,	0, %SA_QUERY_TO_STR%
HKR, NDI\Params\SaTimeout,		Type,		0, "int"
HKR, NDI\Params\SaTimeout,		Default,	0, "1000"
HKR, NDI\Params\SaTimeout,		Optional,	0, "0"
HKR, NDI\Params\SaTimeout,		Min,		0, "500"
HKR, NDI\Params\SaTimeout,		Max,		0, "60000"
HKR, NDI\Params\SaTimeout,		Step,		0, "250"
HKR, NDI\Params\SaTimeout,      Base,       0, "10"
HKR, "", SaTimeout, 0, "1000"

HKR, NDI\Params\SaRetries,		ParamDesc,	0, %SA_QUERY_RETRY_STR%
HKR, NDI\Params\SaRetries,		Type,		0, "int"
HKR, NDI\Params\SaRetries,		Default,	0, "10"
HKR, NDI\Params\SaRetries,		Optional,	0, "0"
HKR, NDI\Params\SaRetries,		Min,		0, "1"
HKR, NDI\Params\SaRetries,		Max,		0, "64"
HKR, NDI\Params\SaRetries,      Base,       0, "10"
HKR, "", SaRetries, 0, "10"

HKR, NDI\Params\EnableQPR,  ParamDesc, 0, "%QPR%"
HKR, NDI\Params\EnableQPR,  Type,	  0, "enum"
HKR, NDI\Params\EnableQPR,  Default,   0, "0"
HKR, NDI\Params\EnableQPR,  Optional,  0, "0"
HKR, NDI\Params\EnableQPR\enum,	"0",  0, "%Disabled%"
HKR, NDI\Params\EnableQPR\enum,	"1",  0, "%Enabled%"
HKR, "", EnableQPR, 0, "0"

HKR, NDI\Params\TxRingNum,         ParamDesc,  0, "%TxRingNum%"
HKR, NDI\Params\TxRingNum ,	   type,	   0, "enum"
HKR, NDI\Params\TxRingNum ,        default,    0, "8"
HKR, NDI\Params\TxRingNum\enum,	   "1",	0, "1"
HKR, NDI\Params\TxRingNum\enum,	   "2",	0, "2"
HKR, NDI\Params\TxRingNum\enum,	   "4",	0, "4"
HKR, NDI\Params\TxRingNum\enum,	   "8",	0, "8"
HKR, NDI\Params\TxRingNum\enum,	   "16",	0, "16"
HKR, "", TxRingNum ,  0, "8"    
        
;-----------------------------------------------------------------------------
; mlx4eth NT specific
;

[ipoib6x.reg]
; use ndis5 as the upper bound because NT supports it
HKR, Ndi,                       Service,    0, "ipoib6x"
HKR, Ndi\Interfaces,            UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces,            LowerRange, 0, "ethernet"
HKR,"","AverageFactor"                      ,,"16"
HKR,"","AveragePollThreshold"               ,,"10"
HKR,"","ThisPollThreshold"                  ,,100
HKR,"","MaxNumberOfPacketsToIndicateThread" ,,"128"
HKR,"","InterupptToThreadThreshold"         ,,200

HKR,"","rx_usecs_low"                       ,,0
HKR,"","rx_usecs_high"                      ,,20
HKR,"","pkt_rate_low"                       ,,150000
HKR,"","pkt_rate_high"                      ,,170000
HKR,"","LSOSize"                            ,,64000
HKR,"","BlueFlame"                          ,,1
HKR,"","RxSmallPacketBypass"                ,,0
HKR,"","TxHashDisrtibution" 				,,3

HKR,"","TxForwardingProcessor"	,,-1
HKR,"","DefaultRecvRingProcessor"	,,-1
HKR,"","TxInterruptProcessor"	        ,,-1

HKR, "", GUIDMask, 0, "231"

[WinCtxTune_reg]
HKR,,icon,,"-5"
HKR,,EnumPropPages32,,"winctxtune.dll,WinCtxTunePropPageProvider"

[ipoib6x.Service]
DisplayName     = %ipoib6x.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 0 ;%SERVICE_BOOT_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\ipoib6x.sys
LoadOrderGroup  = NDIS
AddReg          = Ibbus.ParamsReg

[Ibbus.ParamsReg]
HKR,"Parameters","NdkDebugLevel",%REG_DWORD_NO_CLOBBER%,0x00000002
HKR,"Parameters","NdkDebugFlags",%REG_DWORD_NO_CLOBBER%,0x00000fff

[common.EventLog]
AddReg = common.AddEventLog.reg

[common.AddEventLog.reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\drivers\ipoib6x.sys;%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported,   0x00010001, 7

;-----------------------------------------------------------------------------
; DestinationDirs
;

[DestinationDirs]
IpoibCopyFiles      = %DIRID_DRIVERS%
WctxtuneCopyFiles   = %DIRID_SYSTEM%
DefaultDestDir      = %DIRID_SYSTEM%


[IpoibCopyFiles]
ipoib6x.sys,,,2

[WctxtuneCopyFiles]
winctxtune.dll,,,0x00000002

;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
[SourceDisksNames.x86]
1 = %DiskDescription%,ipoib6x.sys,,

[SourceDisksNames.amd64]
1 = %DiskDescription%,ipoib6x.sys,,

[SourceDisksNames.ia64]
1 = %DiskDescription%,ipoib6x.sys,,


;
; filename_on_source = diskID[, [subdir][, size]]
;
[SourceDisksFiles.x86]
ipoib6x.sys = 1
winctxtune.dll = 1 

[SourceDisksFiles.amd64]
ipoib6x.sys = 1
winctxtune.dll = 1 

[SourceDisksFiles.ia64]
ipoib6x.sys = 1
winctxtune.dll = 1 

[Strings]
Mellanox                 = "Mellanox Technologies Ltd."

ReceiveFrameDescriptors  = "Receive Frame Descriptors"
TransmitControlBlocks    = "Transmit Control Blocks"
Disabled                 = "Disabled"
Enabled                  = "Enabled"
LargeSendOffload         = "Large Send Offload (LSO)"
MaxFrameSize			 = "Jumbo Packet"
SendIntModCount 		 = "Interrupt Moderation TX Packet Count"
RecvIntModCount 		 = "Interrupt Moderation RX Packet Count"
RecvIntModtime			 = "Interrupt Moderation RX Packet Time"
ThreadPoll				 = "Number of Polls on Receive" 
SendPollingModCount 	 = "Polling Moderation TX Packet Count"
SendIntModtime			 = "Interrupt Moderation TX Packet Time"
SendPollingModTime		 = "Polling Moderation TX Packet Time"
UseDma                   = "Bus-master DMA Operations"
DIRID_SYSTEM         = 11
DIRID_DRIVERS        = 12
DIRID_SYSTEM_X86	 = 16425
SendCompletionMethod     = "Send Completion Method"
RecvCompletionMethod	 = "Receive Completion Method"
RecvRingSize			 = "Receive Buffers"
SendRingSize			 = "Send Buffers"
Polling                  = "Polling"
Interrupts               = "Interrupts"
Adaptive                 = "Adaptive"
No_rebalnce              = "Disabled"
NDIS_RSS                 = "Enabled"
RssMode                  = "Receive Side Scaling"
FailOver                 = "Fail Over"
RxIntModeration		 	 = "Rx Interrupt Moderation Type"
Static                   = "Static"
InterruptModeration      = "Interrupt Moderation"
TxEnabled				 = "Tx Enabled"
RxEnabled				 = "Rx Enabled"
TxRxEnabled				 = "Rx & Tx Enabled"
IPChecksumOffloadIPv4    = "IPV4 Checksum Offload"
TCPUDPChecksumOffloadIPv4= "TCP/UDP Checksum Offload (IPv4)"
TCPUDPChecksumOffloadIPv6= "TCP/UDP Checksum Offload (IPv6"
LsoV1IPv4				 = "Large Send Offload V1 (IPv4)"
LsoV2IPv4		 		 = "Large Send Offload V2 (IPv4)"
LsoV2IPv6		 		 = "Large Send Offload V2 (IPv6)"
TxRingNum				 = "Tx Ring Number"


ipoib6x_CX.DeviceDesc        = "Mellanox ConnectX IPoIB Adapter"
ipoib6x_CX2.DeviceDesc		 = "Mellanox ConnectX-2 IPoIB Adapter"
ipoib6x_CX3.DeviceDesc       = "Mellanox ConnectX-3 IPoIB Adapter"

Eoib61.DeviceDesc       = "Mellanox EoIB Adapter"


ipoib6x.Service.DispName = "Mellanox ConnectX based IPoIB Adapter (NDIS 6.1) Driver"
DiskDescription 	  = "Mellanox Driver Disk 1"
REG_DWORD                 = 0x00010001
REG_DWORD_NO_CLOBBER = 0x00010003
GUID_MASK_STR		  = "GUID bitwise mask"
SA_QUERY_TO_STR	 = "SA Query Timeout"
SA_QUERY_RETRY_STR  = "SA Query Retry Count"
ND_STR                   = "NetworkDirect Functionality"
QPR			= "Query Path Record"
