; Copyright (c) 2006-2012, Microsoft

[Version]
Signature   = "$Windows NT$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %MSFT%
DriverVer   = 07/24/2012,1.4.3.5

[Manufacturer]
%Intel%     = Intel, NTamd64.6.2

[ControlFlags]
ExcludeFromSelect = *

[Intel.NTamd64.6.2]
; DisplayName                       Section     DeviceID
; -----------                       -------     --------
%E10CAVF.DeviceDesc%               = E10CA,       PCI\VEN_8086&DEV_10CA
%E152DVF.DeviceDesc%               = E152D,       PCI\VEN_8086&DEV_152D
%E152FVF.DeviceDesc%               = E152F,       PCI\VEN_8086&DEV_152F
%E1520VF.DeviceDesc%               = E1520,       PCI\VEN_8086&DEV_1520

;-------------------------------------------------------------------------------
; Intel 82576 Gigabit Network Connection
;
[E10CA]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
AddReg             = Interfaces.reg, Default.reg, VLAN.reg
CopyFiles          = CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0  ; NdisPhysicalMediumUnspecified

[E10CA.Services]
AddService = %ServiceName%, 2, Service, EventLog

[E10CA.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired.HW
AddReg             = MSI.reg

;-------------------------------------------------------------------------------
; Intel 82576 Gigabit Network Connection
;

[E152D]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
AddReg             = Interfaces_iov.reg, Default.reg
CopyFiles          = CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0  ; NdisPhysicalMediumUnspecified

[E152D.Services]
AddService = %ServiceName%, 2, Service, EventLog

[E152D.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired.HW
AddReg             = MSI.reg

;-------------------------------------------------------------------------------
; Intel I350 Gigabit Network Connection
;

[E1520]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
AddReg             = Interfaces.reg, Default.reg, VLAN.reg
CopyFiles          = CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0  ; NdisPhysicalMediumUnspecified

[E1520.Services]
AddService = %ServiceName%, 2, Service, EventLog

[E1520.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired.HW
AddReg             = MSI.reg

[E152F]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
AddReg             = Interfaces_iov.reg, Default.reg
CopyFiles          = CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0  ; NdisPhysicalMediumUnspecified

[E152F.Services]
AddService = %ServiceName%, 2, Service, EventLog

[E152F.HW]
Include            = machine.inf
Needs              = PciIoSpaceNotRequired.HW
AddReg             = MSI.reg

;-------------------------------------------------------------------------------
; Registry Settings
;-------------------------------------------------------------------------------
[Interfaces.reg]
HKR, Ndi\Interfaces,                            UpperRange,             0, "ndis5"
HKR, Ndi\Interfaces,                            LowerRange,             0, "ethernet"
HKR, Ndi,                                       Service,                0, %ServiceName%

[Interfaces_iov.reg]
HKR, Ndi\Interfaces,                            UpperRange,             0, "ndisvf"
HKR, Ndi\Interfaces,                            LowerRange,             0, "iovvf"
HKR, Ndi,                                       Service,                0, %ServiceName%

[Default.reg]
; *TransmitBuffers
HKR, Ndi\params\*TransmitBuffers,               ParamDesc,              0, %TransmitBuffers%
HKR, Ndi\params\*TransmitBuffers,               default,                0, "512"
HKR, Ndi\params\*TransmitBuffers,               min,                    0, "128"
HKR, Ndi\params\*TransmitBuffers,               max,                    0, "16384"
HKR, Ndi\params\*TransmitBuffers,               step,                   0, "64"
HKR, Ndi\params\*TransmitBuffers,               Base,                   0, "10"
HKR, Ndi\params\*TransmitBuffers,               type,                   0, "int"

; *ReceiveBuffers
HKR, Ndi\params\*ReceiveBuffers,                ParamDesc,              0, %ReceiveBuffers%
HKR, Ndi\params\*ReceiveBuffers,                default,                0, "512"
HKR, Ndi\params\*ReceiveBuffers,                min,                    0, "128"
HKR, Ndi\params\*ReceiveBuffers,                max,                    0, "4096"
HKR, Ndi\params\*ReceiveBuffers,                step,                   0, "64"
HKR, Ndi\params\*ReceiveBuffers,                Base,                   0, "10"
HKR, Ndi\params\*ReceiveBuffers,                type,                   0, "int"

; *TCPChecksumOffloadIPv4
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,        ParamDesc,              0, %TCPChksumOffv4%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,        default,                0, "3"
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,   "0",                    0, %Disabled%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,   "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,   "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,   "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,        type,                   0, "enum"

; *TCPChecksumOffloadIPv6
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,        ParamDesc,              0, %TCPChksumOffv6%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,        default,                0, "3"
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,   "0",                    0, %Disabled%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,   "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,   "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,   "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,        type,                   0, "enum"

; *UDPChecksumOffloadIPv4
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,        ParamDesc,              0, %UDPChksumOffv4%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,        default,                0, "3"
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,   "0",                    0, %Disabled%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,   "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,   "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,   "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,        type,                   0, "enum"

; *UDPChecksumOffloadIPv6
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,        ParamDesc,              0, %UDPChksumOffv6%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,        default,                0, "3"
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,   "0",                    0, %Disabled%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,   "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,   "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,   "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,        type,                   0, "enum"

; *IPChecksumOffloadIPv4
HKR, Ndi\Params\*IPChecksumOffloadIPv4,         ParamDesc,              0, %IPChksumOffv4%
HKR, Ndi\Params\*IPChecksumOffloadIPv4,         default,                0, "3"
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,    "0",                    0, %Disabled%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,    "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,    "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,    "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4,         type,                   0, "enum"

;Log Link State Event
HKR,Ndi\Params\LogLinkStateEvent,               ParamDesc,              0, %LogLinkState%
HKR,Ndi\Params\LogLinkStateEvent,               Type,                   0, "enum"
HKR,Ndi\Params\LogLinkStateEvent,               Default,                0, "51"
HKR,Ndi\Params\LogLinkStateEvent\Enum,          "51",                   0, %Enabled%
HKR,Ndi\Params\LogLinkStateEvent\Enum,          "16",                   0, %Disabled%

; Interrupt Throttle Rate
HKR, Ndi\Params\ITR,                            ParamDesc,              0, %InterruptThrottleRate%
HKR, Ndi\Params\ITR,                            default,                0, "65535"
HKR, Ndi\Params\ITR\Enum,                       "65535",                0, %Adaptive%
HKR, Ndi\Params\ITR\Enum,                       "2000",                 0, %Extreme%
HKR, Ndi\Params\ITR\Enum,                       "950",                  0, %High%
HKR, Ndi\Params\ITR\Enum,                       "488",                  0, %Medium%
HKR, Ndi\Params\ITR\Enum,                       "200",                  0, %Low%
HKR, Ndi\Params\ITR\Enum,                       "0",                    0, %Off%
HKR, Ndi\Params\ITR,                            type,                   0, "enum"

; *InterruptModeration
HKR, Ndi\Params\*InterruptModeration,           ParamDesc,              0, %InterruptModeration%
HKR, Ndi\Params\*InterruptModeration,           default,                0, "1"
HKR, Ndi\Params\*InterruptModeration\Enum,      "0",                    0, %Disabled%
HKR, Ndi\Params\*InterruptModeration\Enum,      "1",                    0, %Enabled%
HKR, Ndi\Params\*InterruptModeration,           type,                   0, "enum"

; *LsoV2IPv4
HKR, Ndi\Params\*LsoV2IPv4,                     ParamDesc,              0, %LsoV2IPv4%
HKR, Ndi\Params\*LsoV2IPv4,                     default,                0, "1"
HKR, Ndi\Params\*LsoV2IPv4\Enum,                "0",                    0, %Disabled%
HKR, Ndi\Params\*LsoV2IPv4\Enum,                "1",                    0, %Enabled%
HKR, Ndi\Params\*LsoV2IPv4,                     type,                   0, "enum"

; *LsoV2IPv6
HKR, Ndi\Params\*LsoV2IPv6,                     ParamDesc,              0, %LsoV2IPv6%
HKR, Ndi\Params\*LsoV2IPv6,                     default,                0, "1"
HKR, Ndi\Params\*LsoV2IPv6\Enum,                "0",                    0, %Disabled%
HKR, Ndi\Params\*LsoV2IPv6\Enum,                "1",                    0, %Enabled%
HKR, Ndi\Params\*LsoV2IPv6,                     type,                   0, "enum"

; *JumboPacket
HKR, Ndi\Params\*JumboPacket,                   ParamDesc,              0, %JumboPacket%
HKR, Ndi\Params\*JumboPacket,                   default,                0, "1514"
HKR, Ndi\Params\*JumboPacket\Enum,              "1514",                 0, %Disabled%
HKR, Ndi\Params\*JumboPacket\Enum,              "4088",                 0, %Bytes4088%
HKR, Ndi\Params\*JumboPacket\Enum,              "9014",                 0, %Bytes9014%
HKR, Ndi\Params\*JumboPacket,                   type,                   0, "enum"

[VLAN.reg]
; *PriorityVLANTag
HKR, Ndi\Params\*PriorityVLANTag,               ParamDesc,              0, %PriorityVLANTag2%
HKR, Ndi\Params\*PriorityVLANTag,               default,                0, "3"
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "0",                    0, %PriorityVlanDisabled2%
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "1",                    0, %PriorityEnabled2%
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "2",                    0, %VlanEnabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "3",                    0, %PriorityVlanEnabled2%
HKR, Ndi\Params\*PriorityVLANTag,               type,                   0, "enum"

[MSI.reg]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MessageNumberLimit, 0x00010001, 1

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

;-----------------------------------------------------------------------------
; Driver "service" installation settings
;-----------------------------------------------------------------------------
[Service]
DisplayName     = %Service.Displayname%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\v1q63x64.sys
LoadOrderGroup  = NDIS

;-----------------------------------------------------------------------------
; Event Log settings
;-----------------------------------------------------------------------------

[EventLog]
AddReg             = AddEventLog

[CopyFiles]
v1q63x64.sys,,,2

;-----------------------------------------------------------------------------
; DestinationDirs
;-----------------------------------------------------------------------------
[DestinationDirs]
CopyFiles          = 12

[SourceDisksNames]
1 = %DiskName%,,,

;-----------------------------------------------------------------------------
; SourceDisksFiles
;-----------------------------------------------------------------------------
[SourceDisksFiles]
v1q63x64.sys  = 1

[Strings]
; Localizable Strings
MSFT                            = "Microsoft"
InterruptThrottleRate           = "Interrupt Moderation Rate"
Adaptive                        = "Adaptive"
Extreme                         = "Extreme"
High                            = "High"
Medium                          = "Medium"
Low                             = "Low"
IPChksumOffv4                   = "IPv4 Checksum Offload"
TCPChksumOffv4                  = "TCP Checksum Offload (IPv4)"
UDPChksumOffv4                  = "UDP Checksum Offload (IPv4)"
LsoV2IPv4                       = "Large Send Offload V2 (IPv4)"
InterruptModeration             = "Interrupt Moderation"
TCPChksumOffv6                  = "TCP Checksum Offload (IPv6)"
UDPChksumOffv6                  = "UDP Checksum Offload (IPv6)"
LsoV2IPv6                       = "Large Send Offload V2 (IPv6)"
ChksumOffTxRx                   = "Rx & Tx Enabled"
ChksumOffTx                     = "Tx Enabled"
ChksumOffRx                     = "Rx Enabled"
TransmitBuffers                 = "Transmit Buffers"
ReceiveBuffers                  = "Receive Buffers"
PriorityVLANTag2                = "Packet Priority & VLAN"
PriorityVlanDisabled2           = "Packet Priority & VLAN Disabled"
PriorityEnabled2                = "Packet Priority Enabled"
PriorityVlanEnabled2            = "Packet Priority & VLAN Enabled"
VlanEnabled                     = "VLAN Enabled"
Off                             = "Off"
Enabled                         = "Enabled"
Disabled                        = "Disabled"
Bytes4088                       = "4088 Bytes"
Bytes9014                       = "9014 Bytes"
JumboPacket                     = "Jumbo Packet"
LogLinkState                    = "Log Link State Event"
ServiceName                     = "v1q"
Intel                           = "Intel Corporation"
DiskName                        = "Intel(R) Virtual Network Device Driver Disk"
Service.Displayname             = "Intel(R) Virtual Network Connection"

;-----------------------------------------------------------------------------
; Device Description Strings
;-----------------------------------------------------------------------------
E10CAVF.DeviceDesc              = "Intel(R) 82576 Virtual Function" 
E152DVF.DeviceDesc              = "Intel(R) 82576 Virtual Function" 
E152FVF.DeviceDesc              = "Intel(R) I350 Virtual Function"
E1520VF.DeviceDesc              = "Intel(R) I350 Virtual Function" 
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------

