Skip to content

Commit

Permalink
vrouter: vcxproj files for building vRouter as Hyper-V Extension
Browse files Browse the repository at this point in the history
Changes required to support Contrail on Windows:
- VS 2015 project files required to build vRouter as Hyper-V Extension

Initial work:
  https://github.com/codilime/contrail-vrouter/commits/windows

Change-Id: Idabf2caa4d37331f2502b1d9b8b686be4a34d80f
Partial-Bug: #1734699
  • Loading branch information
Dariusz Sosnowski committed Dec 1, 2017
1 parent 7e1320e commit cd48c24
Show file tree
Hide file tree
Showing 8 changed files with 1,066 additions and 0 deletions.
64 changes: 64 additions & 0 deletions windows/installer/vrouter_msi.wxs
@@ -0,0 +1,64 @@
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="CB877445-6E69-4BA8-9C8F-DDA1C92539B3" UpgradeCode="54C1DE83-002C-4040-B6C6-93C649CF3BBA" Name="vRouter" Version="1.0.0" Manufacturer="Juniper Networks" Language="1033">
<Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package" Platform="x64"/>
<Media Id="1" Cabinet="product.cab" EmbedCab="yes"/>

<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="ManufacturerFolder" Name="Juniper Networks">
<Directory Id="INSTALLDIR" Name="vRouter">
<Component Id="CatFiles" Guid="833C429C-BCEC-4CBB-BB8D-8E0C9AB09F95" Win64="yes">
<File Id="CatFile" Source="build/$(var.optimization)/vrouter/extension/vRouter/vrouter.cat"/>
</Component>
<Component Id="InfFiles" Guid="661F72B0-4030-4402-9E86-7E6021B72FE1" Win64="yes">
<File Id="InfFile" Source="build/$(var.optimization)/vrouter/extension/vRouter/vRouter.inf"/>
</Component>
<Component Id="SysFiles" Guid="AE7D4293-7B00-4E4D-8990-77C6BBF414D9" Win64="yes">
<File Id="SysFile" Source="build/$(var.optimization)/vrouter/extension/vRouter/vRouter.sys"/>
</Component>
</Directory>
</Directory>
</Directory>
</Directory>

<Feature Id="DefaultFeature" Level="1">
<ComponentRef Id="CatFiles"/>
<ComponentRef Id="InfFiles"/>
<ComponentRef Id="SysFiles"/>
</Feature>

<CustomAction Id="InstallCmd"
Property="InstallCmdProperty"
Value="&quot;C:\Windows\System32\netcfg.exe&quot; -l &quot;C:\Program Files\Juniper Networks\vRouter\vRouter.inf&quot; -c s -i vRouter"
Execute="immediate"/>

<CustomAction Id="UninstallCmd"
Property="UninstallCmdProperty"
Value="&quot;C:\Windows\System32\netcfg.exe&quot; -u vRouter"
Execute="immediate"/>

<CustomAction Id="InstallCmdProperty"
BinaryKey="WixCA"
DllEntry="CAQuietExec64"
Execute="deferred"
Return="check"
Impersonate="no"/>

<CustomAction Id="UninstallCmdProperty"
BinaryKey="WixCA"
DllEntry="CAQuietExec64"
Execute="deferred"
Return="check"
Impersonate="no"/>

<InstallExecuteSequence>
<Custom Action="InstallCmd" After="CostFinalize">NOT Installed</Custom>
<Custom Action="InstallCmdProperty" After="InstallFiles">NOT Installed</Custom>
<Custom Action='UninstallCmd' Before='CostInitialize'>(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
<Custom Action='UninstallCmdProperty' Before='RemoveFiles'>(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
</InstallExecuteSequence>

</Product>
</Wix>

11 changes: 11 additions & 0 deletions windows/precomp.h
@@ -0,0 +1,11 @@
#pragma once
#include <ndis.h>
#include <netiodef.h>
#include <intsafe.h>
#include <ntintsafe.h>
#include <Ntstrsafe.h>
#include <wdmsec.h>

#include "vr_windows.h"
#include "windows_mem.h"
#include "windows_devices.h"
1 change: 1 addition & 0 deletions windows/precompsrc2.c
@@ -0,0 +1 @@
#include "precomp.h"
81 changes: 81 additions & 0 deletions windows/vRouter.inf
@@ -0,0 +1,81 @@
[version]
Signature = "$Windows NT$"
Class = NetService
ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
Provider = %ProviderString%
CatalogFile = vRouter.cat
DriverVer = 07/29/2011,2.0

[Manufacturer]
%ManufacturerName%=Standard,NTx86,NTia64,NTamd64

[Standard.NTx86]
%vRouter_Desc%=Install, vRouter

[Standard.NTia64]
%vRouter_Desc%=Install, vRouter

[Standard.NTamd64]
%vRouter_Desc%=Install, vRouter

;-------------------------------------------------------------------------
; Installation Section
;-------------------------------------------------------------------------
[Install]
AddReg=Inst_Ndi
Characteristics=0x40000
NetCfgInstanceId="{56553588-1538-4be6-b8e0-cb46402dc205}"
Copyfiles = vRouter.copyfiles.sys

[SourceDisksNames]
1=%vRouter_Desc%,"",,

[SourceDisksFiles]
vRouter.sys=1

[DestinationDirs]
DefaultDestDir=12
vRouter.copyfiles.sys=12

[vRouter.copyfiles.sys]
vRouter.sys,,,2


;-------------------------------------------------------------------------
; Ndi installation support
;-------------------------------------------------------------------------
[Inst_Ndi]
HKR, Ndi,Service,,"vRouter"
HKR, Ndi,CoServices,0x00010000,"vRouter"
HKR, Ndi,HelpText,,%vRouter_HelpText%
HKR, Ndi,FilterClass,,"ms_switch_forward"
HKR, Ndi,FilterType,0x00010001,0x00000002
HKR, Ndi\Interfaces,UpperRange,,"noupper"
HKR, Ndi\Interfaces,LowerRange,,"nolower"
HKR, Ndi\Interfaces, FilterMediaTypes,,"vmnetextension"
HKR, Ndi,FilterRunType, 0x00010001, 2 ; optional

;-------------------------------------------------------------------------
; Service installation support, common.EventLog here is to demonstrate how to
; write an enent log
;-------------------------------------------------------------------------
[Install.Services]
AddService=vRouter,,vRouter_Service_Inst;, common.EventLog

[vRouter_Service_Inst]
DisplayName = %vRouter_Desc%
ServiceType = 1 ;SERVICE_KERNEL_DRIVER
StartType = 1 ;SERVICE_SYSTEM_START
ErrorControl = 1 ;SERVICE_ERROR_NORMAL
ServiceBinary = %12%\vRouter.sys
LoadOrderGroup = NDIS
Description = %vRouter_Desc%

[Install.Remove.Services]
DelService=vRouter,0x200

[Strings]
ProviderString = "OpenContrail team"
ManufacturerName = "OpenContrail team"
vRouter_Desc = "vRouter forwarding extension"
vRouter_HelpText = "Low-level OpenContrail's vRouter"
62 changes: 62 additions & 0 deletions windows/vRouter.sln
@@ -0,0 +1,62 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vRouter", "vRouter.vcxproj", "{127F464E-61D0-4815-8D07-6600177A534C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "atomic-test", "..\test\atomic-test\atomic-test.vcxproj", "{621A6695-3A8D-4F94-942B-D8745888E768}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|ARM.ActiveCfg = Debug|ARM
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|ARM.Build.0 = Debug|ARM
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|ARM.Deploy.0 = Debug|ARM
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|ARM64.ActiveCfg = Debug|ARM64
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|ARM64.Build.0 = Debug|ARM64
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|ARM64.Deploy.0 = Debug|ARM64
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|x64.ActiveCfg = Debug|x64
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|x64.Build.0 = Debug|x64
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|x64.Deploy.0 = Debug|x64
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|x86.ActiveCfg = Debug|Win32
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|x86.Build.0 = Debug|Win32
{127F464E-61D0-4815-8D07-6600177A534C}.Debug|x86.Deploy.0 = Debug|Win32
{127F464E-61D0-4815-8D07-6600177A534C}.Release|ARM.ActiveCfg = Release|ARM
{127F464E-61D0-4815-8D07-6600177A534C}.Release|ARM.Build.0 = Release|ARM
{127F464E-61D0-4815-8D07-6600177A534C}.Release|ARM.Deploy.0 = Release|ARM
{127F464E-61D0-4815-8D07-6600177A534C}.Release|ARM64.ActiveCfg = Release|ARM64
{127F464E-61D0-4815-8D07-6600177A534C}.Release|ARM64.Build.0 = Release|ARM64
{127F464E-61D0-4815-8D07-6600177A534C}.Release|ARM64.Deploy.0 = Release|ARM64
{127F464E-61D0-4815-8D07-6600177A534C}.Release|x64.ActiveCfg = Release|x64
{127F464E-61D0-4815-8D07-6600177A534C}.Release|x64.Build.0 = Release|x64
{127F464E-61D0-4815-8D07-6600177A534C}.Release|x64.Deploy.0 = Release|x64
{127F464E-61D0-4815-8D07-6600177A534C}.Release|x86.ActiveCfg = Release|Win32
{127F464E-61D0-4815-8D07-6600177A534C}.Release|x86.Build.0 = Release|Win32
{127F464E-61D0-4815-8D07-6600177A534C}.Release|x86.Deploy.0 = Release|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Debug|ARM.ActiveCfg = Debug|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Debug|ARM64.ActiveCfg = Debug|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Debug|x64.ActiveCfg = Debug|x64
{621A6695-3A8D-4F94-942B-D8745888E768}.Debug|x64.Build.0 = Debug|x64
{621A6695-3A8D-4F94-942B-D8745888E768}.Debug|x86.ActiveCfg = Debug|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Debug|x86.Build.0 = Debug|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Release|ARM.ActiveCfg = Release|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Release|ARM64.ActiveCfg = Release|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Release|x64.ActiveCfg = Release|x64
{621A6695-3A8D-4F94-942B-D8745888E768}.Release|x64.Build.0 = Release|x64
{621A6695-3A8D-4F94-942B-D8745888E768}.Release|x86.ActiveCfg = Release|Win32
{621A6695-3A8D-4F94-942B-D8745888E768}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

0 comments on commit cd48c24

Please sign in to comment.