;*******************************************************************************
;**                                                                           **
;**                            INTEL CONFIDENTIAL                             **
;**                                                                           **
;**        Copyright 2013-2019 Intel Corporation All Rights Reserved.         **
;**                                                                           **
;**  The material contained or described herein and all documents related     **
;**  to such material ("Material") are owned by Intel Corporation or its      **
;**  suppliers or licensors. Title to the Material remains with Intel         **
;**  Corporation or its suppliers and licensors. The Material contains trade  **
;**  secrets and proprietary and confidential information of Intel or its     **
;**  suppliers and licensors. The Material is protected by worldwide          **
;**  copyright and trade secret laws and treaty provisions. No part of the    **
;**  Material may be used, copied, reproduced, modified, published,           **
;**  uploaded, posted, transmitted, distributed, or disclosed in any way      **
;**  without Intel's prior express written permission.                        **
;**                                                                           **
;**  No license under any patent, copyright, trade secret or other            **
;**  intellectual property right is granted to or conferred upon you by       **
;**  disclosure or delivery of the Materials, either expressly, by            **
;**  implication, inducement, estoppel or otherwise. Any license under such   **
;**  intellectual property rights must be express and approved by Intel in    **
;**  writing.                                                                 **
;**                                                                           **
;*******************************************************************************
;
;*******************************************************************************
; INF for Intel(R) Adaptive Virtual Function Network Adapters
;*******************************************************************************
;
[Version]
Signature   = "$Windows NT$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %Intel%
CatalogFile = iavf65.cat
DriverVer   = 06/16/2020,1.11.14.1

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

[Intel]

[Intel.NTamd64.10.0]
; DisplayName                   Section  DeviceID
; -----------                   -------  --------
%F154C.Generic.Description%   = F154C,   PCI\VEN_8086&DEV_154C
%F1571.Generic.Description%   = F1571,   PCI\VEN_8086&DEV_1571
%F1889.Generic.Description%   = F154C,   PCI\VEN_8086&DEV_1889
%F1889.Generic.Description%   = F1889,   PCI\VEN_8086&DEV_1889&SUBSYS_00018086
%F374D.Generic.Description%   = F37CD,   PCI\VEN_8086&DEV_374D
%F37CDHV.Generic.Description% = F37CDHV, PCI\VEN_8086&DEV_37CD&SUBSYS_00018086
%F37CD.Generic.Description%   = F37CD,   PCI\VEN_8086&DEV_37CD
%F3759.Generic.Description%   = F37CDHV, PCI\VEN_8086&DEV_3759

[NO_DRV]
Characteristics = 0x01
Include         = machine.inf
Needs           = NO_DRV

[NO_DRV.Services]
Include = machine.inf
Needs   = NO_DRV.Services

; ------------------------------------------------------
; Intel(R) 40 Gigabit Controller
; ------------------------------------------------------
[F1571]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
DelReg             = Cleanup.DelReg, PDPI.DelReg
AddReg             = VLAN.reg, Default.reg, Rss.reg, Uninstall.reg
AddReg             = Interfaces_iov.reg
CopyFiles          = CopyFiles, MessageDll.CopyFiles, Uninstall.CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0     ; NdisPhysicalMediumUnspecified

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

[F1571.HW]
Include = machine.inf
AddReg  = MSI.reg

[F1571.CoInstallers]
AddReg    = CoInstaller_AddReg, CoInK.reg
CopyFiles = CoInstallerCopyFiles

[F37CDHV]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
DelReg             = Cleanup.DelReg, PDPI.DelReg
AddReg             = VLAN.reg, Default.reg, Rss.reg, Uninstall.reg
AddReg             = RDMA_GUEST_HV.reg
AddReg             = Interfaces_iov.reg
CopyFiles          = CopyFiles, MessageDll.CopyFiles, Uninstall.CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0     ; NdisPhysicalMediumUnspecified

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

[F37CDHV.HW]
Include = machine.inf
AddReg  = MSI.reg

[F37CDHV.CoInstallers]
AddReg    = CoInstaller_AddReg, CoInK.reg
CopyFiles = CoInstallerCopyFiles

[F1889]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
DelReg             = Cleanup.DelReg, PDPI.DelReg
AddReg             = VLAN.reg, Default.reg, Rss.reg, Uninstall.reg
AddReg             = RDMA_GUEST_HV.reg
AddReg             = Interfaces_iov.reg
CopyFiles          = CopyFiles, MessageDll.CopyFiles, Uninstall.CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0     ; NdisPhysicalMediumUnspecified

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

[F1889.HW]
Include = machine.inf
AddReg  = MSI.reg

[F1889.CoInstallers]
AddReg    = CoInstaller_AddReg, CoInK.reg
CopyFiles = CoInstallerCopyFiles

; ------------------------------------------------------
; Intel(R) 40 Gigabit Controller, for non Windows hosts
; ------------------------------------------------------
[F154C]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
DelReg             = Cleanup.DelReg, PDPI.DelReg
AddReg             = VLAN.reg, Default.reg, Rss.reg, Uninstall.reg
AddReg             = RDMA.reg
AddReg             = Interfaces.reg
CopyFiles          = CopyFiles, MessageDll.CopyFiles, Uninstall.CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0     ; NdisPhysicalMediumUnspecified

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

[F154C.HW]
Include = machine.inf
AddReg  = MSI.reg

[F154C.CoInstallers]
AddReg    = CoInstaller_AddReg, CoInK.reg
CopyFiles = CoInstallerCopyFiles

[F37CD]
Characteristics    = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType            = 5 ; PCI
DelReg             = Cleanup.DelReg, PDPI.DelReg
AddReg             = VLAN.reg, Default.reg, Rss.reg, Uninstall.reg
AddReg             = RDMA_GUEST_HV.reg
AddReg             = Interfaces.reg
CopyFiles          = CopyFiles, MessageDll.CopyFiles, Uninstall.CopyFiles
*IfType            = 6     ; IF_TYPE_ETHERNET_CSMACD
*MediaType         = 0     ; NdisMedium802_3
*PhysicalMediaType = 0     ; NdisPhysicalMediumUnspecified

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

[F37CD.HW]
Include = machine.inf
AddReg  = MSI.reg

[F37CD.CoInstallers]
AddReg    = CoInstaller_AddReg, CoInK.reg
CopyFiles = CoInstallerCopyFiles

;-------------------------------------------------------------------------------
; 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, "8160"
HKR, Ndi\params\*TransmitBuffers,               step,                   0, "32"
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, "8160"
HKR, Ndi\params\*ReceiveBuffers,                step,                   0, "32"
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,                       "1333",                 0, %Balanced%
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"

; Network Address
HKR, PROSetNdi\params\NetworkAddress,                 ParamDesc,              0, %LAA%
HKR, PROSetNdi\params\NetworkAddress,                 Default,                0, ""
HKR, PROSetNdi\params\NetworkAddress,                 type,                   0, "edit"
HKR, PROSetNDI\params\NetworkAddress,                 LimitText,              0, "12"
HKR, PROSetNDI\params\NetworkAddress,                 UpperCase,              0, "1"
HKR, PROSetNDI\params\NetworkAddress,                 optional,               0, "1"
HKR, PROSetNDI\params\NetworkAddress,                 ExposeLevel,            0, "3"

; *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"

[RSS.reg]
; NumRssQueues
HKR, Ndi\Params\*NumRssQueues,                   ParamDesc,              0, %NumRssQueues2%
HKR, Ndi\Params\*NumRssQueues,                   default,                0, "2"
HKR, Ndi\Params\*NumRssQueues,                   type,                   0, "enum"
HKR, Ndi\Params\*NumRssQueues\Enum,              "1",                    0, %1queue%
HKR, Ndi\Params\*NumRssQueues\Enum,              "2",                    0, %2queues%
HKR, Ndi\Params\*NumRssQueues\Enum,              "4",                    0, %4queues%

; *RssMaxProcNumber
HKR, Ndi\params\*RssMaxProcNumber,             ParamDesc,              0, %RssMaxProcNumber%
HKR, Ndi\params\*RssMaxProcNumber,             default,                0, "16"
HKR, Ndi\params\*RssMaxProcNumber,             min,                    0, "0"
HKR, Ndi\params\*RssMaxProcNumber,             max,                    0, "16"
HKR, Ndi\params\*RssMaxProcNumber,             step,                   0, "1"
HKR, Ndi\params\*RssMaxProcNumber,             Optional,               0, "0"
HKR, Ndi\params\*RssMaxProcNumber,             type,                   0, "int"

; *RSS
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%

; *RssBaseProcNumber
HKR, Ndi\params\*RssBaseProcNumber,             ParamDesc,              0, %RssBaseProcNumber%
HKR, Ndi\params\*RssBaseProcNumber,             default,                0, "0"
HKR, Ndi\params\*RssBaseProcNumber,             min,                    0, "0"
HKR, Ndi\params\*RssBaseProcNumber,             max,                    0, "63"
HKR, Ndi\params\*RssBaseProcNumber,             step,                   0, "1"
HKR, Ndi\params\*RssBaseProcNumber,             Optional,               0, "0"
HKR, Ndi\params\*RssBaseProcNumber,             type,                   0, "int"

; *MaxRssProcessors
HKR, Ndi\params\*MaxRssProcessors,              ParamDesc,              0, %MaxRssProcessors%
HKR, Ndi\params\*MaxRssProcessors,              default,                0, "16"
HKR, Ndi\params\*MaxRssProcessors,              type,                   0, "enum"
HKR, Ndi\params\*MaxRssProcessors\Enum,         "1",                    0, "1"
HKR, Ndi\params\*MaxRssProcessors\Enum,         "2",                    0, "2"
HKR, Ndi\params\*MaxRssProcessors\Enum,         "4",                    0, "4"
HKR, Ndi\params\*MaxRssProcessors\Enum,         "8",                    0, "8"
HKR, Ndi\params\*MaxRssProcessors\Enum,         "16",                   0, "16"

[RDMA.reg]
; *NetworkDirect
HKR, Ndi\Params\*NetworkDirect,                         ParamDesc,              0, %NetworkDirect%
HKR, Ndi\Params\*NetworkDirect,                         default,                0, "1"
HKR, Ndi\Params\*NetworkDirect,                         type,                   0, "enum"
HKR, Ndi\Params\*NetworkDirect\Enum,                    "0",                    0, %Disabled%
HKR, Ndi\Params\*NetworkDirect\Enum,                    "1",                    0, %Enabled%
HKR, Ndi\Params\*NetworkDirectTechnology,               ParamDesc,              0, %NetworkDirectTechnology%
HKR, Ndi\Params\*NetworkDirectTechnology,               default,                0, "1"
HKR, Ndi\Params\*NetworkDirectTechnology,               type,                   0, "enum"
HKR, Ndi\Params\*NetworkDirectTechnology\Enum,          "1",                    0, "iWARP"
HKR, Ndi\Params\*NetworkDirectTechnology\Enum,          "4",                    0, "RoCEv2"
HKR, Ndi\Params\*NetworkDirectTechnology,               Optional,               0, "0"

[RDMA_GUEST_HV.reg]
HKR, Ndi\Params\RdmaVfEnabled,                         ParamDesc,              0, %RDMAVfEnabled%
HKR, Ndi\Params\RdmaVfEnabled,                         default,                0, "0"
HKR, Ndi\Params\RdmaVfEnabled,                         type,                   0, "enum"
HKR, Ndi\Params\RdmaVfEnabled\Enum,                    "0",                    0, %Disabled%
HKR, Ndi\Params\RdmaVfEnabled\Enum,                    "1",                    0, %Enabled%
HKR, Ndi\Params\*NetworkDirectTechnology,               ParamDesc,              0, %NetworkDirectTechnology%
HKR, Ndi\Params\*NetworkDirectTechnology,               default,                0, "1"
HKR, Ndi\Params\*NetworkDirectTechnology,               type,                   0, "enum"
HKR, Ndi\Params\*NetworkDirectTechnology\Enum,          "1",                    0, "iWARP"
HKR, Ndi\Params\*NetworkDirectTechnology\Enum,          "4",                    0, "RoCEv2"
HKR, Ndi\Params\*NetworkDirectTechnology,               Optional,               0, "0"

[VLAN.reg]
; *PriorityVLANTag
HKR, Ndi\Params\*PriorityVLANTag,               ParamDesc,              0, %PriorityVLANTag%
HKR, Ndi\Params\*PriorityVLANTag,               default,                0, "3"
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "0",                    0, %PriorityVlanDisabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "1",                    0, %PriorityEnabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "2",                    0, %VlanEnabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,          "3",                    0, %PriorityVlanEnabled%
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, 18

[AddEventLog]
HKR,, EventMessageFile, 0x00020000, %EventLogMessageDllPath%
HKR,, TypesSupported,   0x00010001, 7

[Cleanup.DelReg]
HKR, Ndi\Params\RxScalingMode
HKR,, RxScalingMode
HKR, Ndi\Params\DcaEnabled
HKR,, DcaEnabled
HKR, Ndi\Params\EnableRSC
HKR,, EnableRSC

[PDPI.DelReg]
HKR,, *PacketDirect

;-----------------------------------------------------------------------------
; Uninstall parameters
;-----------------------------------------------------------------------------
[Uninstall.reg]
HKR,Prounstl\SupportedDevices\8086, 154C, 0, "154C"
HKR,Prounstl\SupportedDevices\8086, 1571, 0, "1571"
HKR,Prounstl\SupportedDevices\8086, 1889, 0, "1889"
HKR,Prounstl\SupportedDevices\8086, 374D, 0, "374D"
HKR,Prounstl\SupportedDevices\8086, 37CD, 0, "37CD"
HKR,Prounstl\SupportedDevices\8086, 3759, 0, "3759"
HKR,Prounstl\Dins, iavf65.din, 0, "XL710.Uninstall"
HKR,Prounstl\Services, %ServiceName%, 0, iavf65.sys

;-----------------------------------------------------------------------------
; 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%\iavf65.sys
LoadOrderGroup = NDIS

;-----------------------------------------------------------------------------
; Event Log settings
;-----------------------------------------------------------------------------
[EventLog]
AddReg = AddEventLog

;-----------------------------------------------------------------------------
; Coinstaller installation
;-----------------------------------------------------------------------------
[CoInstallerCopyFiles]
NicCo5.dll,,,0x00000010 ;don't overwrite
NicInavf.dll

[CoInstaller_AddReg]
HKR,, CoInstallers32, 0x00010000, "NicCo5.dll,NicCoInstallerEntry"
HKR,, NicCoPlugins, 0x00010000, "NicInavf.dll,NicCoInstallerEntry"

[CoInK.reg]
HKR,, CoInstallFlag, 0x00010001, 0x00281400

[MessageDll.CopyFiles]
iavfmsg.dll,,,2

[Uninstall.CopyFiles]
iavf65.din,,,2

[CopyFiles]
iavf65.sys,,,2

;-----------------------------------------------------------------------------
; DestinationDirs
;-----------------------------------------------------------------------------
[DestinationDirs]
CopyFiles            = 12
DefaultDestDir       = 11
Uninstall.CopyFiles  = 11
CoInstallerCopyFiles = 11
MessageDll.CopyFiles = 11

[SourceDisksNames]
1 = %DiskName%,,,

;-----------------------------------------------------------------------------
; SourceDisksFiles
;-----------------------------------------------------------------------------
[SourceDisksFiles]
iavf65.sys   = 1
iavf65.din   = 1
iavfmsg.dll  = 1
NicCo5.dll   = 1
NicInavf.dll = 1

[Strings]
InterruptThrottleRate       = "Interrupt Moderation Rate"
Adaptive                    = "Adaptive"
Extreme                     = "Extreme"
Balanced                    = "Balanced"
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"
RSS                         = "Receive Side Scaling"
RssMaxProcNumber            = "Maximum RSS Processor Number"
NumRssQueues2               = "Maximum Number of RSS Queues"
RssBaseProcNumber           = "RSS Base Processor Number"
MaxRssProcessors            = "Maximum Number of RSS Processors"
1queue                      = "1 Queue"
2queues                     = "2 Queues"
4queues                     = "4 Queues"
PriorityVLANTag             = "Priority & VLAN"
PriorityVlanDisabled        = "Priority & VLAN Disabled"
PriorityEnabled             = "Priority Enabled"
PriorityVlanEnabled         = "Priority & VLAN Enabled"
VlanEnabled                 = "VLAN Enabled"
Off                         = "Off"
Enabled                     = "Enabled"
Disabled                    = "Disabled"
Bytes4088                   = "4088 Bytes"
Bytes9014                   = "9014 Bytes"
LAA                         = "Locally Administered Address"
JumboPacket                 = "Jumbo Packet"
LogLinkState                = "Log Link State Event"
NetworkDirect               = "NetworkDirect Functionality"
NetworkDirectTechnology     = "NetworkDirect Technology"
RDMAVfEnabled               = "RDMA"
ServiceName                 = "iavf"
Intel                       = "Intel"
EventLogMessageDllPath      = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\iavfmsg.dll"
DiskName                    = "Intel(R) Adaptive Virtual Network Device Driver Disk"
Service.Displayname         = "Intel(R) Adaptive Virtual Network Connection"


;-----------------------------------------------------------------------------
; Device Description Strings
;-----------------------------------------------------------------------------

F154C.Generic.Description   = "Intel(R) Ethernet Virtual Function 700 Series"
F1571.Generic.Description   = "Intel(R) Ethernet Virtual Function 700 Series"
F1889.Generic.Description   = "Intel(R) Ethernet Adaptive Virtual Function"
F374D.Generic.Description   = "Intel(R) X722 Virtual Function"
F37CDHV.Generic.Description = "Intel(R) Ethernet Virtual Function 700 Series"
F37CD.Generic.Description   = "Intel(R) Ethernet Virtual Function 700 Series"
F3759.Generic.Description   = "Intel(R) X722 Virtual Function"

;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------


