xref: /reactos/drivers/network/dd/netkvm/netkvm.inf (revision 1734f297)
1;/*++
2;Copyright (c) 2008-2019 Red Hat Inc.
3;
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_00011AF4&REV_00" or
13;                       "devcon install netkvm.inf PCI\VEN_1AF4&DEV_1041&SUBSYS_11001AF4&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 = 04/12/2019,51.77.104.17100
24DriverPackageType = PlugAndPlay
25DriverPackageDisplayName = %kvmnet5.DeviceDesc%
26
27[Manufacturer]
28%VENDOR% = NetKVM, NTx86.5.1
29
30[NetKVM.NTx86.5.1]
31%kvmnet5.DeviceDesc%    = kvmnet5.ndi, PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00, PCI\VEN_1AF4&DEV_1000
32%kvmnet5.DeviceDesc%    = kvmnet5.ndi, PCI\VEN_1AF4&DEV_1041&SUBSYS_11001AF4&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            = "Red Hat, Inc."
273kvmnet5.DeviceDesc   = "Red Hat VirtIO Ethernet Adapter"
274kvmnet5.Service.DispName  = "Red Hat VirtIO Ethernet Adapter Service"
275DiskId1 = "Red Hat VirtIO 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