;/*
; *    (c) COPYRIGHT 2005-2013 Brocade Communications Inc, ALL RIGHTS RESERVED
; *    (c) COPYRIGHT 2014 QLogic Corporation, ALL RIGHTS RESERVED.
; *
; *    Description:
; *          The .inf file for QLogic BR-series LL driver for Catapult
; */

[version]
Signature = "$Chicago$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider =  %MSFT%
Compatible = 1
DriverVer=02/14/2015,3.2.26.1

[Manufacturer]
%MfgName% = BrcdModelsSection, NTamd64

[ControlFlags]
ExcludeFromSelect = PCI\VEN_1657&DEV_0014&CC_0200
ExcludeFromSelect = PCI\VEN_1657&DEV_0022&CC_0200

; Windows 8
[BrcdModelsSection.NTamd64]
; DisplayName           Section       DeviceID
; -----------           -------       --------
%bnadi.DeviceDesc% = bnadi.ndi, PCI\VEN_1657&DEV_0014&CC_0200
%bnadiCt2.DeviceDesc% = bnadiCt2.ndi, PCI\VEN_1657&DEV_0022&CC_0200

; Windows NT specific entry
[bnadi.ndi]
Characteristics = 0x84
BusType = 5
AddReg = bnadi.reg
CopyFiles = bnadi.CopyFiles
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 14 ; NdisPhysicalMediumUnspecified
Port1FunctionNumber = 0

[bnadi.ndi.HW]
AddReg = BnadAddReg

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

[bnadi.ndi.WMI]
WMIInterface={a9053f1b-85c9-4b4d-a743-81d083593cb8},,WMIGuidSecurity_AllRights
WMIInterface={77f75a4e-2fab-4008-9058-9ea434071f90},,WMIGuidSecurity_AllRights
WMIInterface={7CC7163A-0CD1-4730-B087-423501620365},,WMIGuidSecurity_AllRights

[bnadiCt2.ndi]
Characteristics = 0x84
BusType = 5
AddReg = bnadi.reg, bnadi_qos.reg
CopyFiles = bnadi.CopyFiles
*IfType = 6 ; IF_TYPE_ETHERNET_CSMACD
*MediaType = 0 ; NdisMedium802_3
*PhysicalMediaType = 14 ; NdisPhysicalMediumUnspecified
Port1FunctionNumber = 0

[bnadiCt2.ndi.HW]
AddReg = BnadAddReg

[bnadiCt2.ndi.Services]
AddService = bnadi, 2, bnadi.Service, common.EventLog

[bnadiCt2.ndi.WMI]
WMIInterface={a9053f1b-85c9-4b4d-a743-81d083593cb8},,WMIGuidSecurity_AllRights
WMIInterface={77f75a4e-2fab-4008-9058-9ea434071f90},,WMIGuidSecurity_AllRights
WMIInterface={7CC7163A-0CD1-4730-B087-423501620365},,WMIGuidSecurity_AllRights

[WMIGuidSecurity_AllRights]
security="O:BAG:BAD:(A;;0x12001f;;;BA)(A;;0x12001f;;;LS)(A;;0x12001f;;;NS)(A;;0x12001f;;;SY)(A;;0x12001f;;;NO)(A;;0x12001f;;;BU)"

;-----------------------------------------------------------------------------
; common base for 10/100Mb Adapters
;
[bnadi.reg]
HKR, Ndi\params\*JumboPacket, ParamDesc, 0, "%JumboPkt%"
HKR, Ndi\params\*JumboPacket, default, 0, "1514"
HKR, Ndi\params\*JumboPacket, min, 0, "1514"
HKR, Ndi\params\*JumboPacket, max, 0, "9014"
HKR, Ndi\params\*JumboPacket, step, 0, "1"
HKR, Ndi\params\*JumboPacket, Base, 0, "10"
HKR, Ndi\params\*JumboPacket, type, 0, "int"

HKR, Ndi\params\NetworkAddress , ParamDesc, 0, "%NwAddress%"
HKR, Ndi\params\NetworkAddress , default, 0, ""
HKR, Ndi\params\NetworkAddress , LimitText, 0, "12"
HKR, Ndi\params\NetworkAddress , UpperCase, 0, "1"
HKR, Ndi\params\NetworkAddress , type, 0, "Edit"
HKR, Ndi\params\NetworkAddress , Optional, 0, "1"

HKR, Ndi\params\VlanId, ParamDesc, 0, "%VlanId%"
HKR, Ndi\params\VlanId, default, 0, "0"
HKR, Ndi\params\VlanId, min, 0, "0"
HKR, Ndi\params\VlanId, max, 0, "00004094"
HKR, Ndi\params\VlanId, step, 0, "1"
HKR, Ndi\params\VlanId, Base, 0, "10"
HKR, Ndi\params\VlanId, type, 0, "int"

HKR, Ndi\params\*InterruptModeration, ParamDesc, 0, "%IntrMod%"
HKR, Ndi\params\*InterruptModeration, default,    0, "1"
HKR, Ndi\params\*InterruptModeration, type,       0, "enum"
HKR, Ndi\params\*InterruptModeration\enum, "0", 0, %Disabled%
HKR, Ndi\params\*InterruptModeration\enum, "1", 0, %Enabled%

HKR, Ndi\params\*RSS, ParamDesc, 0, "%Rss%"
HKR, Ndi\params\*RSS, default,    0, "1"
HKR, Ndi\params\*RSS, type,       0, "enum"
HKR, Ndi\params\*RSS\enum, "0", 0, %Disabled%
HKR, Ndi\params\*RSS\enum, "1", 0, %Enabled%

HKR, Ndi\params\*LsoV1IPv4, ParamDesc, 0, "%LsoV14%"
HKR, Ndi\params\*LsoV1IPv4, default,    0, "1"
HKR, Ndi\params\*LsoV1IPv4, type,       0, "enum"
HKR, Ndi\params\*LsoV1IPv4\enum, "0", 0, %Disabled%
HKR, Ndi\params\*LsoV1IPv4\enum, "1", 0, %Enabled%

HKR, Ndi\params\*LsoV2IPv4, ParamDesc, 0, "%LsoV24%"
HKR, Ndi\params\*LsoV2IPv4, default, 0, "1"
HKR, Ndi\params\*LsoV2IPv4, type, 0, "enum"
HKR, Ndi\params\*LsoV2IPv4\enum, "0", 0, %Disabled%
HKR, Ndi\params\*LsoV2IPv4\enum, "1", 0, %Enabled%

HKR, Ndi\params\*LsoV2IPv6, ParamDesc, 0, "%LsoV26%"
HKR, Ndi\params\*LsoV2IPv6, default, 0, "1"
HKR, Ndi\params\*LsoV2IPv6, type, 0, "enum"
HKR, Ndi\params\*LsoV2IPv6\enum, "0", 0, %Disabled%
HKR, Ndi\params\*LsoV2IPv6\enum, "1", 0, %Enabled%

HKR, Ndi\params\*IPChecksumOffloadIPv4, ParamDesc, 0, "%IPv4%"
HKR, Ndi\params\*IPChecksumOffloadIPv4, default, 0, "3"
HKR, Ndi\params\*IPChecksumOffloadIPv4, type, 0, "enum"
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "0", 0, %Disabled%
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "1", 0, %TxEnable% 
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "2", 0, %RxEnable%
HKR, Ndi\params\*IPChecksumOffloadIPv4\enum, "3", 0, %Rx_Tx_Enable%

HKR, Ndi\params\*TCPChecksumOffloadIPv4, ParamDesc, 0, "%TCPIPv4%"
HKR, Ndi\params\*TCPChecksumOffloadIPv4, default, 0, "3"
HKR, Ndi\params\*TCPChecksumOffloadIPv4, type, 0, "enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "0", 0, %Disabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "1", 0, %TxEnable% 
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "2", 0, %RxEnable%
HKR, Ndi\params\*TCPChecksumOffloadIPv4\enum, "3", 0, %Rx_Tx_Enable%

HKR, Ndi\params\*TCPChecksumOffloadIPv6, ParamDesc, 0, "%TCPIPv6%"
HKR, Ndi\params\*TCPChecksumOffloadIPv6, default, 0, "3"
HKR, Ndi\params\*TCPChecksumOffloadIPv6, type, 0, "enum"
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "0", 0, %Disabled%
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "1", 0, %TxEnable% 
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "2", 0, %RxEnable%
HKR, Ndi\params\*TCPChecksumOffloadIPv6\enum, "3", 0, %Rx_Tx_Enable%

HKR, Ndi\params\*UDPChecksumOffloadIPv4, ParamDesc, 0, "%UDPIPv4%"
HKR, Ndi\params\*UDPChecksumOffloadIPv4, default, 0, "3"
HKR, Ndi\params\*UDPChecksumOffloadIPv4, type, 0, "enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "0", 0, %Disabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "1", 0, %TxEnable% 
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "2", 0, %RxEnable%
HKR, Ndi\params\*UDPChecksumOffloadIPv4\enum, "3", 0, %Rx_Tx_Enable%

HKR, Ndi\params\*UDPChecksumOffloadIPv6, ParamDesc, 0, "%UDPIPv6%"
HKR, Ndi\params\*UDPChecksumOffloadIPv6, default, 0, "3"
HKR, Ndi\params\*UDPChecksumOffloadIPv6, type, 0, "enum"
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "0", 0, %Disabled%
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "1", 0, %TxEnable% 
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "2", 0, %RxEnable%
HKR, Ndi\params\*UDPChecksumOffloadIPv6\enum, "3", 0, %Rx_Tx_Enable%

HKR, Ndi\params\*FlowControl, ParamDesc, 0, "%FlowControl%"
HKR, Ndi\params\*FlowControl, default, 0, "3"
HKR, Ndi\params\*FlowControl, type, 0, "enum"
HKR, Ndi\params\*FlowControl\enum, "0", 0, %Disabled%
HKR, Ndi\params\*FlowControl\enum, "1", 0, %TxEnable% 
HKR, Ndi\params\*FlowControl\enum, "2", 0, %RxEnable%
HKR, Ndi\params\*FlowControl\enum, "3", 0, %Rx_Tx_Enable%

HKR, Ndi\params\*NumRssQueues,             ParamDesc, 0, "%RssQueues%"
HKR, Ndi\params\*NumRssQueues,             default,    0, "16"
HKR, Ndi\params\*NumRssQueues,             type,       0, "enum"
HKR, Ndi\params\*NumRssQueues\enum,            "2", 0, "2"
HKR, Ndi\params\*NumRssQueues\enum,            "4", 0, "4"
HKR, Ndi\params\*NumRssQueues\enum,            "8", 0, "8"
HKR, Ndi\params\*NumRssQueues\enum,            "16", 0, "16"

HKR, Ndi\params\ReceiveBuffers,             ParamDesc, 0, "%RxBuffers%"
HKR, Ndi\params\ReceiveBuffers,             default,    0, "2048"
HKR, Ndi\params\ReceiveBuffers,             type,       0, "enum"
HKR, Ndi\params\ReceiveBuffers\enum,            "512", 0, "512"
HKR, Ndi\params\ReceiveBuffers\enum,            "1024", 0, "1024"
HKR, Ndi\params\ReceiveBuffers\enum,            "2048", 0, "2048"

HKR, Ndi, Service, 0, "bnadi"
; use ndis5 as the upper bound because NT supports it
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

HKR, Ndi\params\*VMQ, ParamDesc, 0, "%Vmq%"
HKR, ndi\params\*VMQ, default, 0, "1"
HKR, Ndi\params\*VMQ, type, 0, "enum"
HKR, Ndi\params\*VMQ\enum, "0", 0, %Disabled%
HKR, Ndi\params\*VMQ\enum, "1", 0, %Enabled%

HKR, , Flags, 0x00010001, 0x00400000

[bnadi_qos.reg]
HKR, Ndi\params\*QOS, ParamDesc, 0, "%qos%"
HKR, ndi\params\*QOS, default, 0, "1"
HKR, Ndi\params\*QOS, type, 0, "enum"
HKR, Ndi\params\*QOS\enum, "0", 0, %Disabled%
HKR, Ndi\params\*QOS\enum, "1", 0, %Enabled%

[BnadAddReg]
HKR, Interrupt Management, 0, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, 0, 0x00000010   
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, 0x00010001, 1
HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, 0x00010001, 32

[bnadi.Service]
ServiceType = 1 ;%SERVICE_KERNEL_DRIVER%
StartType = 3 ;%SERVICE_DEMAND_START%
ErrorControl = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\bnadi.sys
LoadOrderGroup = NDIS

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

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

;-----------------------------------------------------------------------------
; DestinationDirs
;
[bnadi.CopyFiles]
bnadi.sys,,,2

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

[SourceDisksFiles]
;
; filename_on_source = diskID[, [subdir][, size]]
;
bnadi.sys = 1,, ; on distribution disk 1

[SourceDisksFiles.amd64]
;
; filename_on_source = diskID[, [subdir][, size]]
;
bnadi.sys = 1,, ; on distribution disk 1

[DestinationDirs]
bnadi.CopyFiles = 12
DefaultDestDir = 11

[Strings]
;Localizable Strings
MfgName = "QLogic Corporation"
MSFT = "Microsoft"
JumboPkt = "Jumbo Packet"
NwAddress = "Locally Administered Address"
VlanId = "VlanID"
PriVLAN = "Priority and VLAN support"
IntrMod = "Interrupt Moderation"
Rss = "Receive Side Scaling"
LsoV14 = "Large Send Offload V1 (IPv4)"
LsoV24 = "Large Send Offload V2 (IPv4)"
LsoV26 = "Large Send Offload V2 (IPv6)"
IPv4 = "IPv4 Checksum Offload"
TCPIPv4 = "TCP Checksum Offload (IPV4)"
TCPIPV6 = "TCP Checksum Offload (IPV6)"
UDPIPv4 = "UDP Checksum Offload (IPV4)"
UDPIPV6 = "UDP Checksum Offload (IPV6)"
FlowControl = "Flow Control"
RxBuffers = "Receive Buffers"
Enabled = "Enabled"
Disabled = "Disabled"
TxEnable = "Tx Enabled"
RxEnable = "Rx Enabled"
Rx_Tx_Enable = "Rx & Tx Enabled"
AutoRecovery = "Auto Recovery"
Vmq = "Virtual Machine Queues"
qos = "NDIS QOS"
RssQueues = "Maximum Number of RSS Queues"
bnadi.DeviceDesc = "QLogic BR-series 10G Ethernet Adapter"
bnadiCt2.DeviceDesc = "QLogic BR-series 10G Ethernet Adapter"
DiskDescription = "QLogic BR-series Driver Disk 1"
