;++ ; ;Copyright (c) Microsoft Corporation. All Rights Reserved. ; ;Module Name: ; ; wvms_mp_windows.inf ; ;Abstract: ; ; VmSwitch driver INF file for miniport edge of the driver ; ;-- [Version] Signature = "$Windows NT$" Class = Net ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} Provider = %Msft% PnpLockdown = 1 DriverVer = 06/21/2006,10.0.26100.1 [ControlFlags] ExcludeFromSelect = VMS_MP [Manufacturer] %Msft% = MSFT,NTamd64 [MSFT.NTamd64] %VMSMP_Desc% = VMSMP.ndi, VMS_MP %VMSVSMP_Desc% = VMSVSMP.ndi, VMS_VSMP [VMSMP.ndi] AddReg = VMSMP.ndi.AddReg DelReg = VMSMP.ndi.DelReg Characteristics = 0xA1 ;NCF_NOT_USER_REMOVABLE | NCF_VIRTUAL | NCF_HAS_UI *IfType = 6 ; IF_TYPE_ETHERNET_CSMACD *MediaType = 0 ; NdisMedium802_3 *PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified [VMSMP.ndi.AddReg] HKR,,IMMiniport, 0x00010001, 1 HKR, Ndi, Service, 0, VMSNPXYMP HKR, Ndi, HelpText, 0, "%VMSMP_HELP%" HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" HKR, Ndi\Interfaces, LowerRange, 0, "ethernet" ; Network Address HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress% HKR, NDI\params\NetworkAddress, type, 0, "edit" HKR, NDI\params\NetworkAddress, LimitText, 0, "12" HKR, NDI\params\NetworkAddress, UpperCase, 0, "1" HKR, NDI\params\NetworkAddress, default, 0, "" HKR, NDI\params\NetworkAddress, optional, 0, "1" ; IPv4 IP Checksum offload HKR, Ndi\Params\*IPChecksumOffloadIPv4, ParamDesc, 0, %Ip4IpChecksum% HKR, Ndi\Params\*IPChecksumOffloadIPv4, type, 0, "enum" HKR, Ndi\Params\*IPChecksumOffloadIPv4, default, 0, "3" HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum, "1", 0, %OflEnabledTx% HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum, "2", 0, %OflEnabledRx% HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum, "3", 0, %OflEnabledTxRx% ; IPv4 TCP Checksum offload HKR, Ndi\Params\*TCPChecksumOffloadIPv4, ParamDesc, 0, %Ip4TcpChecksum% HKR, Ndi\Params\*TCPChecksumOffloadIPv4, type, 0, "enum" HKR, Ndi\Params\*TCPChecksumOffloadIPv4, default, 0, "3" HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum, "1", 0, %OflEnabledTx% HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum, "2", 0, %OflEnabledRx% HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum, "3", 0, %OflEnabledTxRx% ; IPv6 TCP Checksum offload HKR, Ndi\Params\*TCPChecksumOffloadIPv6, ParamDesc, 0, %Ip6TcpChecksum% HKR, Ndi\Params\*TCPChecksumOffloadIPv6, type, 0, "enum" HKR, Ndi\Params\*TCPChecksumOffloadIPv6, default, 0, "3" HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum, "1", 0, %OflEnabledTx% HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum, "2", 0, %OflEnabledRx% HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum, "3", 0, %OflEnabledTxRx% ; IPv4 UDP Checksum offload HKR, Ndi\Params\*UDPChecksumOffloadIPv4, ParamDesc, 0, %Ip4UdpChecksum% HKR, Ndi\Params\*UDPChecksumOffloadIPv4, type, 0, "enum" HKR, Ndi\Params\*UDPChecksumOffloadIPv4, default, 0, "3" HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum, "1", 0, %OflEnabledTx% HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum, "2", 0, %OflEnabledRx% HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum, "3", 0, %OflEnabledTxRx% ; IPv6 UDP Checksum offload HKR, Ndi\Params\*UDPChecksumOffloadIPv6, ParamDesc, 0, %Ip6UdpChecksum% HKR, Ndi\Params\*UDPChecksumOffloadIPv6, type, 0, "enum" HKR, Ndi\Params\*UDPChecksumOffloadIPv6, default, 0, "3" HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum, "1", 0, %OflEnabledTx% HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum, "2", 0, %OflEnabledRx% HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum, "3", 0, %OflEnabledTxRx% ; IPv4 TCP Segmentation offload HKR, Ndi\Params\*LsoV2IPv4, ParamDesc, 0, %Ip4TcpLsoV2% HKR, Ndi\Params\*LsoV2IPv4, type, 0, "enum" HKR, Ndi\Params\*LsoV2IPv4, default, 0, "1" HKR, Ndi\Params\*LsoV2IPv4\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*LsoV2IPv4\Enum, "1", 0, %CmnEnabled% ; IPv6 TCP Segmentation offload HKR, Ndi\Params\*LsoV2IPv6, ParamDesc, 0, %Ip6TcpLsoV2% HKR, Ndi\Params\*LsoV2IPv6, type, 0, "enum" HKR, Ndi\Params\*LsoV2IPv6, default, 0, "1" HKR, Ndi\Params\*LsoV2IPv6\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*LsoV2IPv6\Enum, "1", 0, %CmnEnabled% ; Network Direct - RDMA HKR, Ndi\Params\*NetworkDirect, ParamDesc, 0, %NetworkDirect% HKR, Ndi\Params\*NetworkDirect, type, 0, "enum" HKR, Ndi\Params\*NetworkDirect, default, 0, "0" HKR, Ndi\Params\*NetworkDirect\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*NetworkDirect\Enum, "1", 0, %CmnEnabled% ; *JumboPacket HKR, Ndi\Params\*JumboPacket, ParamDesc, 0, %JumboPacket% HKR, Ndi\Params\*JumboPacket, default, 0, "1514" HKR, Ndi\Params\*JumboPacket\Enum, "1514", 0, %CmnDisabled% HKR, Ndi\Params\*JumboPacket\Enum, "4088", 0, %Bytes4088% HKR, Ndi\Params\*JumboPacket\Enum, "9014", 0, %Bytes9014% HKR, Ndi\Params\*JumboPacket, type, 0, "enum" ; IPSec capabilities (both IPv4 & IPv6) HKR, Ndi\Params\*IPsecOffloadV2, ParamDesc, 0, %IPsecOffloadV2% HKR, Ndi\Params\*IPsecOffloadV2, type, 0, "enum" HKR, Ndi\Params\*IPsecOffloadV2, default, 0, "3" HKR, Ndi\Params\*IPsecOffloadV2\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*IPsecOffloadV2\Enum, "1", 0, %IPsecAH% HKR, Ndi\Params\*IPsecOffloadV2\Enum, "2", 0, %IPsecESP% HKR, Ndi\Params\*IPsecOffloadV2\Enum, "3", 0, %IPsecAHESP% ; *RSS HKR, Ndi\Params\*RSS, ParamDesc, 0, %RSS% HKR, Ndi\Params\*RSS, type, 0, "enum" HKR, Ndi\Params\*RSS, default, 0, "1" HKR, Ndi\Params\*RSS\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*RSS\Enum, "1", 0, %CmnEnabled% ; *RssBaseProcNumber HKR, Ndi\params\*RssBaseProcNumber, ParamDesc, 0, %RssBaseProcNumber% HKR, Ndi\params\*RssBaseProcNumber, type, 0, "int" 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" ; *RssMaxProcNumber HKR, Ndi\params\*RssMaxProcNumber, ParamDesc, 0, %RssMaxProcNumber% HKR, Ndi\params\*RssMaxProcNumber, default, 0, "63" HKR, Ndi\params\*RssMaxProcNumber, min, 0, "0" HKR, Ndi\params\*RssMaxProcNumber, max, 0, "63" HKR, Ndi\params\*RssMaxProcNumber, step, 0, "1" HKR, Ndi\params\*RssMaxProcNumber, Optional, 0, "0" HKR, Ndi\params\*RssMaxProcNumber, type, 0, "int" ; *MaxRssProcessors HKR, Ndi\Params\*MaxRssProcessors, ParamDesc, 0, %MaxRssProcessors% HKR, Ndi\Params\*MaxRssProcessors, type, 0, "int" HKR, Ndi\Params\*MaxRssProcessors, default, 0, "8" HKR, NDI\Params\*MaxRssProcessors, min, 0, "1" HKR, NDI\Params\*MaxRssProcessors, max, 0, "64" HKR, NDI\Params\*MaxRssProcessors, step, 0, "1" ;*NumRSSQueues HKR, NDI\Params\*NumRSSQueues, ParamDesc, 0, "%NumRSSQueues%" HKR, NDI\Params\*NumRSSQueues, type, 0, "int" HKR, NDI\Params\*NumRSSQueues, default, 0, "8" HKR, NDI\Params\*NumRSSQueues, min, 0, "1" HKR, NDI\Params\*NumRSSQueues, max, 0, "64" HKR, NDI\Params\*NumRSSQueues, step, 0, "1" ; *RSSProfile HKR, Ndi\Params\*RSSProfile, ParamDesc, 0, %RSSProfile% HKR, Ndi\Params\*RSSProfile, type, 0, "enum" HKR, Ndi\Params\*RSSProfile, default, 0, "2" HKR, Ndi\Params\*RSSProfile\Enum, "1", 0, %ClosestProcessor% HKR, Ndi\Params\*RSSProfile\Enum, "2", 0, %ClosestProcessorStatic% HKR, Ndi\Params\*RSSProfile\Enum, "3", 0, %NUMAScaling% HKR, Ndi\Params\*RSSProfile\Enum, "4", 0, %NUMAScalingStatic% HKR, Ndi\Params\*RSSProfile\Enum, "5", 0, %ConservativeScaling% ; IPv4 RSC HKR, Ndi\Params\*RscIPv4, ParamDesc, 0, %Ip4Rsc% HKR, Ndi\Params\*RscIPv4, type, 0, "enum" HKR, Ndi\Params\*RscIPv4, default, 0, "1" HKR, Ndi\Params\*RscIPv4\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*RscIPv4\Enum, "1", 0, %CmnEnabled% ; IPv6 RSC HKR, Ndi\Params\*RscIPv6, ParamDesc, 0, %Ip6Rsc% HKR, Ndi\Params\*RscIPv6, type, 0, "enum" HKR, Ndi\Params\*RscIPv6, default, 0, "1" HKR, Ndi\Params\*RscIPv6\Enum, "0", 0, %CmnDisabled% HKR, Ndi\Params\*RscIPv6\Enum, "1", 0, %CmnEnabled% [VMSMP.ndi.DelReg] HKR, Ndi\Params\Ip4IpChecksum HKR, Ndi\Params\Ip4TcpChecksum HKR, Ndi\Params\Ip4TcpLsoV1 [VMSMP.ndi.Services] AddService = VMSNPXYMP, 2, VMSNPXYMP.AddService, VMSMP.AddEventLog [VMSNPXYMP.AddService] ServiceType = 1 ;SERVICE_KERNEL_DRIVER StartType = 3 ;SERVICE_DEMAND_START ErrorControl = 1 ;SERVICE_ERROR_NORMAL ServiceBinary = %12%\VmsProxyHNic.sys StartName = \Driver\VMSNPXY Dependencies = VMSNPXY [VMSMP.AddService] ServiceType = 1 ;SERVICE_KERNEL_DRIVER StartType = 3 ;SERVICE_DEMAND_START ErrorControl = 1 ;SERVICE_ERROR_NORMAL ServiceBinary = %12%\vmswitch.sys StartName = \Driver\VMSP Dependencies = VMSP [VMSMP.AddEventLog] AddReg = VMSMP.AddEventLog.AddReg [VMSMP.AddEventLog.AddReg] HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\vmswitch.sys" HKR,,TypesSupported,0x00010001,7 [VMSVSMP.ndi] AddReg = VMSVSMP.ndi.AddReg Characteristics = 0x29 ;NCF_NOT_USER_REMOVABLE | NCF_VIRTUAL | NCF_HIDDEN *IfType = 6 ; IF_TYPE_ETHERNET_CSMACD *MediaType = 0 ; NdisMedium802_3 *PhysicalMediaType = 0 ; NdisPhysicalMediumUnspecified [VMSVSMP.ndi.AddReg] HKR, Ndi, Service, 0, VMSMP HKR, Ndi, HelpText, 0, "%VMSVSMP_HELP%" HKR, Ndi\Interfaces, UpperRange, 0, "vmnetprotocol" HKR, Ndi\Interfaces, LowerRange, 0, "vmnetextension" [VMSVSMP.ndi.Services] AddService = VMSMP, 2, VMSMP.AddService [Strings] ; ; Non-Localizable ; Msft = "Microsoft" ; ; Localizable ; VMSMP_Desc = "Hyper-V Virtual Ethernet Adapter" VMSMP_HELP = "Hyper-V Virtual Ethernet Adapter" NetworkAddress = "Network Address" Ip4IpChecksum = "IPv4 Checksum Offload" Ip4TcpChecksum = "TCP Checksum Offload (IPv4)" Ip6TcpChecksum = "TCP Checksum Offload (IPv6)" Ip4UdpChecksum = "UDP Checksum Offload (IPv4)" Ip6UdpChecksum = "UDP Checksum Offload (IPv6)" Ip4TcpLsoV2 = "Large Send Offload Version 2 (IPv4)" Ip6TcpLsoV2 = "Large Send Offload Version 2 (IPv6)" NetworkDirect = "Network Direct (RDMA)" VlanSupport = "Ieee 802.1Q VLAN" IPsecOffloadV2 = "IPSec Offload" IPsecAH = "Auth Header Enabled" IPsecESP = "ESP Enabled" IPsecAHESP = "Auth Header and ESP Enabled" CmnDisabled = "Disabled" CmnEnabled = "Enabled" OflEnabledTx = "Tx Enabled" OflEnabledRx = "Rx Enabled" OflEnabledTxRx = "Rx & Tx Enabled" JumboPacket = "Jumbo Packet" Bytes4088 = "4088 Bytes" Bytes9014 = "9014 Bytes" RSS = "Receive Side Scaling" RssBaseProcNumber = "RSS Base Processor Number" RssMaxProcNumber = "Maximum RSS Processor Number" MaxRssProcessors = "Maximum Number of RSS Processors" NumRssQueues = "Maximum Number of RSS Queues" RSSProfile = "RSS Profile" ClosestProcessor = "Closest Processor" ClosestProcessorStatic = "Closest Processor Static" NUMAScaling = "NUMA Scaling" NUMAScalingStatic = "NUMA Scaling Static" ConservativeScaling = "Conservative Scaling" VMSVSMP_Desc = "Hyper-V Virtual Switch Extension Adapter" VMSVSMP_HELP = "Hyper-V Virtual Switch Extension Adapter" Ip4Rsc = "Recv Segment Coalescing (IPv4)" Ip6Rsc = "Recv Segment Coalescing (IPv6)"