1;/*++ 2;INX_COPYRIGHT_1 3;INX_COPYRIGHT_2 4; 5;Module Name: 6; netkvm.inf 7; 8;Abstract: 9; VirtIO Ethernet Adapter 10; 11;Installation Notes: 12; Using Devcon: Type "devcon install netkvm.inf PCI\VEN_1AF4&DEV_1000&SUBSYS_0001_INX_SUBSYS_VENDOR_ID&REV_00" or 13; "devcon install netkvm.inf PCI\VEN_1AF4&DEV_1041&SUBSYS_1100_INX_SUBSYS_VENDOR_ID&REV_01" to install 14; 15;--*/ 16 17[version] 18Signature = "$Windows NT$" 19Class = Net 20CatalogFile = netkvm.cat 21ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} 22Provider = %VENDOR% 23DriverVer=01/01/2008,0.0.0.1 ; this line will be replaced with stampinf 24DriverPackageType = PlugAndPlay 25DriverPackageDisplayName = %kvmnet5.DeviceDesc% 26 27[Manufacturer] 28%VENDOR% = NetKVM, NT$ARCH$ 29 30[NetKVM.NT$ARCH$] 31%kvmnet5.DeviceDesc% = kvmnet5.ndi, PCI\VEN_1AF4&DEV_1000&SUBSYS_0001_INX_SUBSYS_VENDOR_ID&REV_00, PCI\VEN_1AF4&DEV_1000 32%kvmnet5.DeviceDesc% = kvmnet5.ndi, PCI\VEN_1AF4&DEV_1041&SUBSYS_1100_INX_SUBSYS_VENDOR_ID&REV_01, PCI\VEN_1AF4&DEV_1041 33 34 35[kvmnet5.ndi] 36Characteristics = 0x84 ; NCF_PHYSICAL | NCF_HAS_UI 37BusType = 5 ; PCI 38AddReg = kvmnet5.Reg, Parameters 39CopyFiles = kvmnet5.CopyFiles 40*IfType = 6 41*MediaType = 0 ; NdisMedium802_3 42*PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified 43 44 45[kvmnet5.ndi.Services] 46AddService = netkvm, 2, kvmnet5.Service, kvmnet5.EventLog 47 48 49[kvmnet5.Reg] 50HKR, , BusNumber, 0, "0" 51HKR, Ndi, Service, 0, "netkvm" 52HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" 53HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" 54 55[Parameters] 56HKR, Ndi\Params\ConnectRate, ParamDesc, 0, %ConnectRate% 57HKR, Ndi\Params\ConnectRate, Default, 0, "1001" 58HKR, Ndi\Params\ConnectRate, type, 0, "enum" 59HKR, Ndi\Params\ConnectRate\enum, "10", 0, %10M% 60HKR, Ndi\Params\ConnectRate\enum, "100", 0, %100M% 61HKR, Ndi\Params\ConnectRate\enum, "1001", 0, %1G% 62HKR, Ndi\Params\ConnectRate\enum, "10000", 0, %10G% 63 64HKR, Ndi\Params\Priority, ParamDesc, 0, %Priority% 65HKR, Ndi\Params\Priority, Default, 0, "1" 66HKR, Ndi\Params\Priority, type, 0, "enum" 67HKR, Ndi\Params\Priority\enum, "1", 0, %Enable% 68HKR, Ndi\Params\Priority\enum, "0", 0, %Disable% 69 70HKR, Ndi\Params\*PriorityVLANTag, ParamDesc, 0, %PriorityVlanTag% 71HKR, Ndi\Params\*PriorityVLANTag, Default, 0, "3" 72HKR, Ndi\Params\*PriorityVLANTag, type, 0, "enum" 73HKR, Ndi\Params\*PriorityVLANTag\enum, "3", 0, %Priority_Vlan% 74HKR, Ndi\Params\*PriorityVLANTag\enum, "2", 0, %VLan% 75HKR, Ndi\Params\*PriorityVLANTag\enum, "1", 0, %PriorityOnly% 76HKR, Ndi\Params\*PriorityVLANTag\enum, "0", 0, %Disable% 77 78HKR, Ndi\Params\DoLog, ParamDesc, 0, %EnableLogging% 79HKR, Ndi\Params\DoLog, Default, 0, "1" 80HKR, Ndi\Params\DoLog, type, 0, "enum" 81HKR, Ndi\Params\DoLog\enum, "1", 0, %Enable% 82HKR, Ndi\Params\DoLog\enum, "0", 0, %Disable% 83 84HKR, Ndi\params\DebugLevel, ParamDesc, 0, %DebugLevel% 85HKR, Ndi\params\DebugLevel, type, 0, "int" 86HKR, Ndi\params\DebugLevel, default, 0, "0" 87HKR, Ndi\params\DebugLevel, min, 0, "0" 88HKR, Ndi\params\DebugLevel, max, 0, "8" 89HKR, Ndi\params\DebugLevel, step, 0, "1" 90 91HKR, Ndi\params\LogStatistics, ParamDesc, 0, %LogStatistics% 92HKR, Ndi\params\LogStatistics, type, 0, "int" 93HKR, Ndi\params\LogStatistics, default, 0, "0" 94HKR, Ndi\params\LogStatistics, min, 0, "0" 95HKR, Ndi\params\LogStatistics, max, 0, "10000" 96HKR, Ndi\params\LogStatistics, step, 0, "1" 97 98HKR, Ndi\params\MTU, ParamDesc, 0, %MTU% 99HKR, Ndi\params\MTU, type, 0, "long" 100HKR, Ndi\params\MTU, default, 0, "1500" 101HKR, Ndi\params\MTU, min, 0, "500" 102HKR, Ndi\params\MTU, max, 0, "65500" 103HKR, Ndi\params\MTU, step, 0, "1" 104 105HKR, Ndi\params\TxCapacity, ParamDesc, 0, %TxCapacity% 106HKR, Ndi\params\TxCapacity, type, 0, "enum" 107HKR, Ndi\params\TxCapacity, default, 0, "1024" 108HKR, Ndi\Params\TxCapacity\enum, "16", 0, %String_16% 109HKR, Ndi\Params\TxCapacity\enum, "32", 0, %String_32% 110HKR, Ndi\Params\TxCapacity\enum, "64", 0, %String_64% 111HKR, Ndi\Params\TxCapacity\enum, "128", 0, %String_128% 112HKR, Ndi\Params\TxCapacity\enum, "256", 0, %String_256% 113HKR, Ndi\Params\TxCapacity\enum, "512", 0, %String_512% 114HKR, Ndi\Params\TxCapacity\enum, "1024", 0, %String_1024% 115 116HKR, Ndi\params\RxCapacity, ParamDesc, 0, %RxCapacity% 117HKR, Ndi\params\RxCapacity, type, 0, "enum" 118HKR, Ndi\params\RxCapacity, default, 0, "256" 119HKR, Ndi\Params\RxCapacity\enum, "16", 0, %String_16% 120HKR, Ndi\Params\RxCapacity\enum, "32", 0, %String_32% 121HKR, Ndi\Params\RxCapacity\enum, "64", 0, %String_64% 122HKR, Ndi\Params\RxCapacity\enum, "128", 0, %String_128% 123HKR, Ndi\Params\RxCapacity\enum, "256", 0, %String_256% 124HKR, Ndi\Params\RxCapacity\enum, "512", 0, %String_512% 125HKR, Ndi\Params\RxCapacity\enum, "1024", 0, %String_1024% 126 127HKR, Ndi\Params\MergeableBuf, ParamDesc, 0, %MergeableBuf% 128HKR, Ndi\Params\MergeableBuf, Default, 0, "1" 129HKR, Ndi\Params\MergeableBuf, type, 0, "enum" 130HKR, Ndi\Params\MergeableBuf\enum, "1", 0, %Enable% 131HKR, Ndi\Params\MergeableBuf\enum, "0", 0, %Disable% 132 133HKR, Ndi\params\NetworkAddress, ParamDesc, 0, %NetworkAddress% 134HKR, Ndi\params\NetworkAddress, type, 0, "edit" 135HKR, Ndi\params\NetworkAddress, Optional, 0, "1" 136 137HKR, Ndi\Params\Indirect, ParamDesc, 0, %Indirect% 138HKR, Ndi\Params\Indirect, Default, 0, "0" 139HKR, Ndi\Params\Indirect, type, 0, "enum" 140HKR, Ndi\Params\Indirect\enum, "0", 0, %Disable% 141HKR, Ndi\Params\Indirect\enum, "1", 0, %Enable% 142HKR, Ndi\Params\Indirect\enum, "2", 0, %Enable*% 143 144HKR, Ndi\Params\OffLoad.TxChecksum, ParamDesc, 0, %OffLoad.TxChecksum% 145HKR, Ndi\Params\OffLoad.TxChecksum, Default, 0, "0" 146HKR, Ndi\Params\OffLoad.TxChecksum, type, 0, "enum" 147HKR, Ndi\Params\OffLoad.TxChecksum\enum, "31", 0, %All% 148HKR, Ndi\Params\OffLoad.TxChecksum\enum, "27", 0, %TCPUDPAll% 149HKR, Ndi\Params\OffLoad.TxChecksum\enum, "3", 0, %TCPUDPv4% 150HKR, Ndi\Params\OffLoad.TxChecksum\enum, "1", 0, %TCPv4% 151HKR, Ndi\Params\OffLoad.TxChecksum\enum, "0", 0, %Disable% 152 153HKR, Ndi\Params\OffLoad.TxLSO, ParamDesc, 0, %OffLoad.TxLSO% 154HKR, Ndi\Params\OffLoad.TxLSO, Default, 0, "2" 155HKR, Ndi\Params\OffLoad.TxLSO, type, 0, "enum" 156HKR, Ndi\Params\OffLoad.TxLSO\enum, "2", 0, %Maximal% 157HKR, Ndi\Params\OffLoad.TxLSO\enum, "1", 0, %IPv4% 158HKR, Ndi\Params\OffLoad.TxLSO\enum, "0", 0, %Disable% 159 160HKR, Ndi\Params\OffLoad.RxCS, ParamDesc, 0, %OffLoad.RxCS% 161HKR, Ndi\Params\OffLoad.RxCS, Default, 0, "0" 162HKR, Ndi\Params\OffLoad.RxCS, type, 0, "enum" 163HKR, Ndi\Params\OffLoad.RxCS\enum, "31", 0, %All% 164HKR, Ndi\Params\OffLoad.RxCS\enum, "27", 0, %TCPUDPAll% 165HKR, Ndi\Params\OffLoad.RxCS\enum, "3", 0, %TCPUDPv4% 166HKR, Ndi\Params\OffLoad.RxCS\enum, "1", 0, %TCPv4% 167HKR, Ndi\Params\OffLoad.RxCS\enum, "0", 0, %Disable% 168 169HKR, Ndi\params\ConnectTimer, ParamDesc, 0, %ConnectAfter% 170HKR, Ndi\params\ConnectTimer, type, 0, "long" 171HKR, Ndi\params\ConnectTimer, default, 0, "0" 172HKR, Ndi\params\ConnectTimer, min, 0, "0" 173HKR, Ndi\params\ConnectTimer, max, 0, "300000" 174HKR, Ndi\params\ConnectTimer, step, 0, "50" 175 176HKR, Ndi\Params\DpcCheck, ParamDesc, 0, %DPCCheck% 177HKR, Ndi\Params\DpcCheck, Default, 0, "0" 178HKR, Ndi\Params\DpcCheck, type, 0, "enum" 179HKR, Ndi\Params\DpcCheck\enum, "1", 0, %Enable% 180HKR, Ndi\Params\DpcCheck\enum, "0", 0, %Disable% 181HKR, Ndi\Params\DpcCheck\enum, "2", 0, %Enable*% 182 183HKR, Ndi\Params\Gather, ParamDesc, 0, %Gather% 184HKR, Ndi\Params\Gather, Default, 0, "1" 185HKR, Ndi\Params\Gather, type, 0, "enum" 186HKR, Ndi\Params\Gather\enum, "1", 0, %Enable% 187HKR, Ndi\Params\Gather\enum, "0", 0, %Disable% 188 189HKR, Ndi\Params\Offload.GuestCS, ParamDesc, 0, %GuestCS% 190HKR, Ndi\Params\Offload.GuestCS, Default, 0, "0" 191HKR, Ndi\Params\Offload.GuestCS, type, 0, "enum" 192HKR, Ndi\Params\Offload.GuestCS\enum,"1", 0, %Enable% 193HKR, Ndi\Params\Offload.GuestCS\enum,"0", 0, %Disable% 194 195HKR, Ndi\Params\InterruptRecovery, ParamDesc, 0, %InterruptRecovery% 196HKR, Ndi\Params\InterruptRecovery, Default, 0, "1" 197HKR, Ndi\Params\InterruptRecovery, type, 0, "enum" 198HKR, Ndi\Params\InterruptRecovery\enum, "1", 0, %Enable% 199HKR, Ndi\Params\InterruptRecovery\enum, "0", 0, %Disable% 200 201HKR, Ndi\params\NumberOfHandledRXPackersInDPC, ParamDesc, 0, %NumberOfHandledRXPackersInDPC% 202HKR, Ndi\params\NumberOfHandledRXPackersInDPC, type, 0, "long" 203HKR, Ndi\params\NumberOfHandledRXPackersInDPC, default, 0, "1000" 204HKR, Ndi\params\NumberOfHandledRXPackersInDPC, min, 0, "1" 205HKR, Ndi\params\NumberOfHandledRXPackersInDPC, max, 0, "10000" 206HKR, Ndi\params\NumberOfHandledRXPackersInDPC, step, 0, "1" 207 208HKR, Ndi\Params\PacketFilter, ParamDesc, 0, %PacketFilter% 209HKR, Ndi\Params\PacketFilter, Default, 0, "1" 210HKR, Ndi\Params\PacketFilter, type, 0, "enum" 211HKR, Ndi\Params\PacketFilter\enum, "1", 0, %Enable% 212HKR, Ndi\Params\PacketFilter\enum, "0", 0, %Disable% 213 214HKR, Ndi\Params\BatchReceive, ParamDesc, 0, %BatchReceive% 215HKR, Ndi\Params\BatchReceive, Default, 0, "1" 216HKR, Ndi\Params\BatchReceive, type, 0, "enum" 217HKR, Ndi\Params\BatchReceive\enum, "1", 0, %Enable% 218HKR, Ndi\Params\BatchReceive\enum, "0", 0, %Disable% 219 220HKR, Ndi\Params\Promiscuous, ParamDesc, 0, %Promiscuous% 221HKR, Ndi\Params\Promiscuous, Default, 0, "0" 222HKR, Ndi\Params\Promiscuous, type, 0, "enum" 223HKR, Ndi\Params\Promiscuous\enum, "1", 0, %Enable% 224HKR, Ndi\Params\Promiscuous\enum, "0", 0, %Disable% 225 226HKR, Ndi\Params\IPPacketsCheck, ParamDesc, 0, %IPPacketsCheck% 227HKR, Ndi\Params\IPPacketsCheck, Default, 0, "0" 228HKR, Ndi\Params\IPPacketsCheck, type, 0, "enum" 229HKR, Ndi\Params\IPPacketsCheck\enum,"0", 0, %Disable% 230HKR, Ndi\Params\IPPacketsCheck\enum,"1", 0, %Tx% 231HKR, Ndi\Params\IPPacketsCheck\enum,"2", 0, %Rx% 232HKR, Ndi\Params\IPPacketsCheck\enum,"3", 0, %TxRx% 233 234HKR, Ndi\Params\UseSwTxChecksum, ParamDesc, 0, %UseSwTxChecksum% 235HKR, Ndi\Params\UseSwTxChecksum, Default, 0, "0" 236HKR, Ndi\Params\UseSwTxChecksum, type, 0, "enum" 237HKR, Ndi\Params\UseSwTxChecksum\enum, "1", 0, %Enable% 238HKR, Ndi\Params\UseSwTxChecksum\enum, "0", 0, %Disable% 239 240[kvmnet5.CopyFiles] 241netkvm.sys,,,2 242 243[kvmnet5.Service] 244DisplayName = %kvmnet5.Service.DispName% 245ServiceType = 1 ;%SERVICE_KERNEL_DRIVER% 246StartType = 3 ;%SERVICE_DEMAND_START% 247ErrorControl = 1 ;%SERVICE_ERROR_NORMAL% 248ServiceBinary = %12%\netkvm.sys 249LoadOrderGroup = NDIS 250AddReg = TextModeFlags.Reg 251 252[kvmnet5.EventLog] 253AddReg = kvmnet5.AddEventLog.Reg 254 255[kvmnet5.AddEventLog.Reg] 256HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll" 257HKR, , TypesSupported, 0x00010001, 7 258 259[TextModeFlags.Reg] 260HKR, , TextModeFlags, 0x00010001, 0x0001 261 262[SourceDisksNames] 2631 = %DiskId1%,,,"" 264 265[SourceDisksFiles] 266netkvm.sys = 1,, 267 268[DestinationDirs] 269kvmnet5.CopyFiles = 12 270 271[Strings] 272VENDOR = "INX_COMPANY" 273kvmnet5.DeviceDesc = "INX_PREFIX_VENDORVirtIO Ethernet Adapter" 274kvmnet5.Service.DispName = "INX_PREFIX_VENDORVirtIO Ethernet Adapter Service" 275DiskId1 = "INX_PREFIX_VENDORVirtIO Ethernet Adapter Driver Disk #1" 276 277NetworkAddress = "Assign MAC" 278ConnectRate = "Init.ConnectionRate(Mb)" 279Priority = "Init.Do802.1PQ" 280MergeableBuf = "Init.UseMergedBuffers" 281MTU = "Init.MTUSize" 282Indirect = "Init.IndirectTx" 283TxCapacity = "Init.MaxTxBuffers" 284RxCapacity = "Init.MaxRxBuffers" 285Offload.TxChecksum = "Offload.Tx.Checksum" 286Offload.TxLSO = "Offload.Tx.LSO" 287Offload.RxCS = "Offload.Rx.Checksum" 288EnableLogging = "Logging.Enable" 289DebugLevel = "Logging.Level" 290LogStatistics = "Logging.Statistics(sec)" 291 292ConnectAfter = "TestOnly.DelayConnect(ms)" 293DPCCheck = "TestOnly.DPCChecking" 294Gather = "TestOnly.Scatter-Gather" 295GuestCS = "TestOnly.GuestChecksum" 296InterruptRecovery = "TestOnly.InterruptRecovery" 297PacketFilter = "TestOnly.HwPacketFilter" 298BatchReceive = "TestOnly.BatchReceive" 299Promiscuous = "TestOnly.Promiscuous" 300IPPacketsCheck = "TestOnly.AnalyzeIPPackets" 301NumberOfHandledRXPackersInDPC = "TestOnly.RXThrottle" 302UseSwTxChecksum = "TestOnly.UseSwTxChecksum" 303Tx = "Tx Enabled"; 304Rx = "Rx Enabled"; 305TxRx = "Rx & Tx Enabled"; 306 307Disable = "Disabled" 308Enable = "Enabled" 309Enable* = "Enabled*" 310String_16 = "16" 311String_32 = "32" 312String_64 = "64" 313String_128 = "128" 314String_256 = "256" 315String_512 = "512" 316String_1024 = "1024" 317PriorityVlanTag = "Priority and VLAN tagging" 318PriorityOnly = "Priority" 319VLan = "VLan" 320Priority_Vlan = "All" 32110M = "10M" 322100M = "100M" 3231G = "1G" 32410G = "10G" 325TCPv4 = "TCP(v4)" 326TCPUDPv4 = "TCP/UDP(v4)" 327TCPUDPAll = "TCP/UDP(v4,v6)" 328All = "All" 329IPv4 = "IPv4" 330Maximal = "Maximal" 331 332