diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md
index 81e31f045..b7c83ddaf 100644
--- a/docs/GettingStarted.md
+++ b/docs/GettingStarted.md
@@ -11,7 +11,7 @@ The following must be installed in order to build this project:
3. [Visual Studio Build Tools 2019](https://aka.ms/vs/16/release/vs_buildtools.exe)
4. [WDK for Windows 10, version 2004](https://go.microsoft.com/fwlink/?linkid=2128854)
5. [Clang for Windows 64-bit version 10.0.0](https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/LLVM-10.0.0-win64.exe) or [The latest release of Clang for Windows 64-bit](https://github.com/llvm/llvm-project/releases/latest)
-6. [nuget.exe](https://www.nuget.org/downloads)
+6. [nuget.exe](https://www.nuget.org/downloads) installed to a location such as "C:\Program Files (x86)\NuGet\"
You should add the paths to `git.exe`, `cmake.exe` and `nuget.exe` to the Windows PATH environment variable after the software packages above have been installed.
diff --git a/ebpf-for-windows.sln b/ebpf-for-windows.sln
index 0271b586d..44f12e74b 100644
--- a/ebpf-for-windows.sln
+++ b/ebpf-for-windows.sln
@@ -6,7 +6,7 @@ MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ebpfverifier", "external\ebpf-verifier\build\ebpfverifier.vcxproj", "{7D5B4E68-C0FA-3F86-9405-F6400219B440}"
ProjectSection(ProjectDependencies) = postProject
{231EE32B-EBA4-4FE5-A55B-DB18F539D403} = {231EE32B-EBA4-4FE5-A55B-DB18F539D403}
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA} = {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}
+ {10883FE6-9448-32DE-A899-0D98B8CA914D} = {10883FE6-9448-32DE-A899-0D98B8CA914D}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libs", "libs", "{B02E60AE-1254-459C-8824-AC6CDB6AE52E}"
@@ -121,7 +121,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xdp_tests", "tests\xdp\xdp_
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bpftool", "tools\bpftool\bpftool.vcxproj", "{CA179B38-EBF5-4371-B830-73486E35250B}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "external\ebpf-verifier\build\yaml-cpp.vcxproj", "{A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "external\ebpf-verifier\build\yaml-cpp.vcxproj", "{10883FE6-9448-32DE-A899-0D98B8CA914D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bpf2c", "tools\bpf2c\bpf2c.vcxproj", "{69B97E52-18DC-434E-A6E4-4C0F3E88C44A}"
ProjectSection(ProjectDependencies) = postProject
@@ -140,6 +140,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "socket_tests", "tests\socke
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bpftool_tests", "tests\bpftool_tests\bpftool_tests.vcxproj", "{8B5B061B-3170-4D1B-8C5B-E86B890C14B8}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nuget", "tools\nuget\nuget.vcxproj", "{7629D5D0-5A80-4528-87ED-60FC83C5552B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
@@ -1130,26 +1132,26 @@ Global
{CA179B38-EBF5-4371-B830-73486E35250B}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{CA179B38-EBF5-4371-B830-73486E35250B}.RelWithDebInfo|x64.Build.0 = Release|x64
{CA179B38-EBF5-4371-B830-73486E35250B}.RelWithDebInfo|x86.ActiveCfg = Debug|Win32
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Debug|ARM.ActiveCfg = Debug|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Debug|ARM64.ActiveCfg = Debug|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Debug|x64.ActiveCfg = Debug|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Debug|x64.Build.0 = Debug|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Debug|x86.ActiveCfg = Debug|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.MinSizeRel|ARM.ActiveCfg = MinSizeRel|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.MinSizeRel|ARM64.ActiveCfg = MinSizeRel|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Release|ARM.ActiveCfg = Release|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Release|ARM64.ActiveCfg = Release|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Release|x64.ActiveCfg = Release|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Release|x64.Build.0 = Release|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.Release|x86.ActiveCfg = Release|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.RelWithDebInfo|ARM.ActiveCfg = RelWithDebInfo|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.RelWithDebInfo|ARM64.ActiveCfg = RelWithDebInfo|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Debug|ARM.ActiveCfg = Debug|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Debug|ARM64.ActiveCfg = Debug|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Debug|x64.ActiveCfg = Debug|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Debug|x64.Build.0 = Debug|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Debug|x86.ActiveCfg = Debug|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.MinSizeRel|ARM.ActiveCfg = MinSizeRel|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.MinSizeRel|ARM64.ActiveCfg = MinSizeRel|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Release|ARM.ActiveCfg = Release|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Release|ARM64.ActiveCfg = Release|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Release|x64.ActiveCfg = Release|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Release|x64.Build.0 = Release|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.Release|x86.ActiveCfg = Release|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.RelWithDebInfo|ARM.ActiveCfg = RelWithDebInfo|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.RelWithDebInfo|ARM64.ActiveCfg = RelWithDebInfo|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
+ {10883FE6-9448-32DE-A899-0D98B8CA914D}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
{69B97E52-18DC-434E-A6E4-4C0F3E88C44A}.Debug|ARM.ActiveCfg = Debug|Win32
{69B97E52-18DC-434E-A6E4-4C0F3E88C44A}.Debug|ARM64.ActiveCfg = Debug|Win32
{69B97E52-18DC-434E-A6E4-4C0F3E88C44A}.Debug|x64.ActiveCfg = Debug|x64
@@ -1330,6 +1332,33 @@ Global
{8B5B061B-3170-4D1B-8C5B-E86B890C14B8}.RelWithDebInfo|x64.Build.0 = Release|x64
{8B5B061B-3170-4D1B-8C5B-E86B890C14B8}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
{8B5B061B-3170-4D1B-8C5B-E86B890C14B8}.RelWithDebInfo|x86.Build.0 = Release|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|ARM.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|ARM64.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|x64.ActiveCfg = Debug|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|x86.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Debug|x86.Build.0 = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|ARM.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|ARM.Build.0 = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|ARM64.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|ARM64.Build.0 = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|x64.ActiveCfg = Debug|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|x64.Build.0 = Debug|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|x86.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.MinSizeRel|x86.Build.0 = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Release|ARM.ActiveCfg = Release|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Release|ARM64.ActiveCfg = Release|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Release|x64.ActiveCfg = Release|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Release|x64.Build.0 = Release|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Release|x86.ActiveCfg = Release|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.Release|x86.Build.0 = Release|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|ARM.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|ARM.Build.0 = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|ARM64.ActiveCfg = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|ARM64.Build.0 = Debug|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|x64.ActiveCfg = Release|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|x64.Build.0 = Release|x64
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B}.RelWithDebInfo|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1369,7 +1398,7 @@ Global
{724EB55A-CCFC-4662-92E3-B664CDA365E7} = {492C9B22-9237-4996-9E33-CA14D3533616}
{07DC6181-84A2-4A14-A806-5E9AF6C929C2} = {492C9B22-9237-4996-9E33-CA14D3533616}
{CA179B38-EBF5-4371-B830-73486E35250B} = {B09749EC-3D14-414B-BA9B-CD20E218DC84}
- {A94F0C6F-3696-3BAF-AC6F-6D0684B8AFCA} = {69CDB6A1-434D-4BC9-9BFF-D12DF7EDBB6B}
+ {10883FE6-9448-32DE-A899-0D98B8CA914D} = {69CDB6A1-434D-4BC9-9BFF-D12DF7EDBB6B}
{69B97E52-18DC-434E-A6E4-4C0F3E88C44A} = {B09749EC-3D14-414B-BA9B-CD20E218DC84}
{61DF9973-81B9-4006-9148-52F58259BBCF} = {492C9B22-9237-4996-9E33-CA14D3533616}
{8BD3552A-2CFB-4A59-AB15-2031B97ADA1E} = {492C9B22-9237-4996-9E33-CA14D3533616}
@@ -1377,6 +1406,7 @@ Global
{D88F9CE2-8DA2-44FB-AF7C-06466A180F31} = {492C9B22-9237-4996-9E33-CA14D3533616}
{EED9DAC6-8B98-4C33-969A-E8CEDE8E985E} = {492C9B22-9237-4996-9E33-CA14D3533616}
{8B5B061B-3170-4D1B-8C5B-E86B890C14B8} = {492C9B22-9237-4996-9E33-CA14D3533616}
+ {7629D5D0-5A80-4528-87ED-60FC83C5552B} = {B09749EC-3D14-414B-BA9B-CD20E218DC84}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3D5F862D-74C6-4357-9F95-0B152E33B7B8}
diff --git a/ebpfcore/EbpfCore.vcxproj b/ebpfcore/EbpfCore.vcxproj
index 65ce06214..e03909801 100644
--- a/ebpfcore/EbpfCore.vcxproj
+++ b/ebpfcore/EbpfCore.vcxproj
@@ -87,7 +87,7 @@
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
- %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\execution_context
+ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\execution_context;$(SolutionDir)external\ebpf-verifier\src
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
@@ -109,7 +109,7 @@
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
- %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\execution_context
+ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\execution_context;$(SolutionDir)external\ebpf-verifier\src
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
diff --git a/include/bpf/bpf.h b/include/bpf/bpf.h
index 8f08fa47b..e0f7383ab 100644
--- a/include/bpf/bpf.h
+++ b/include/bpf/bpf.h
@@ -339,6 +339,6 @@ bpf_prog_get_next_id(__u32 start_id, __u32* next_id);
#else
#pragma warning(push)
-#include "../external/bpftool/libbpf/src/bpf.h"
+#include "libbpf/src/bpf.h"
#pragma warning(pop)
#endif
diff --git a/include/bpf/libbpf.h b/include/bpf/libbpf.h
index aa3705168..8b847fd6e 100644
--- a/include/bpf/libbpf.h
+++ b/include/bpf/libbpf.h
@@ -885,6 +885,6 @@ ring_buffer__free(struct ring_buffer* rb);
#pragma warning(push)
#pragma warning(disable : 4200) // Zero-sized array in struct/union
#pragma warning(disable : 4201) // Zero-sized array in struct/union
-#include "../external/bpftool/libbpf/src/libbpf.h"
+#include "libbpf/src/libbpf.h"
#pragma warning(pop)
#endif
diff --git a/include/bpf_helpers.h b/include/bpf_helpers.h
index e80aa14fc..be705208f 100644
--- a/include/bpf_helpers.h
+++ b/include/bpf_helpers.h
@@ -16,7 +16,7 @@
// libbpf's bpf_helpers.h for the rest of the platform-agnostic
// defines.
#ifndef _MSC_VER
-#include "../external/bpftool/libbpf/src/bpf_helpers.h"
+#include "libbpf/src/bpf_helpers.h"
#define bpf_map_def _ebpf_map_definition_in_file
#include "ebpf_nethooks.h"
#endif
diff --git a/include/ebpf_program_types.h b/include/ebpf_program_types.h
index 2e3588135..129d6077f 100644
--- a/include/ebpf_program_types.h
+++ b/include/ebpf_program_types.h
@@ -14,7 +14,7 @@ typedef unsigned long long uint64_t;
#include
#include
#endif
-#include "../external/ebpf-verifier/src/ebpf_base.h"
+#include "ebpf_base.h"
#define EBPF_MAX_PROGRAM_DESCRIPTOR_NAME_LENGTH 256
#define EBPF_MAX_HELPER_FUNCTION_NAME_LENGTH 256
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index 215115efe..83246390a 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -14,7 +14,7 @@
#include "ebpf_program_types.h"
#include "ebpf_api.h"
#define LIBBPF_API
-#include "../external/bpftool/libbpf/src/libbpf_common.h"
+#include "libbpf/src/libbpf_common.h"
#undef LIBBPF_DEPRECATED
#define LIBBPF_DEPRECATED(x)
#else
@@ -69,8 +69,8 @@ enum bpf_cmd_id
/// Attributes used by BPF_OBJ_GET_INFO_BY_FD.
typedef struct
{
- uint32_t bpf_fd; ///< File descriptor referring to an eBPF object.
- uint64_t info; ///< Pointer to memory in which to write the info obtained.
+ uint32_t bpf_fd; ///< File descriptor referring to an eBPF object.
+ uint64_t info; ///< Pointer to memory in which to write the info obtained.
/**
* @brief On input, contains the maximum number of bytes to write into the info. On output, contains
diff --git a/libs/api/api.vcxproj b/libs/api/api.vcxproj
index 4d3bed21e..1661e5965 100644
--- a/libs/api/api.vcxproj
+++ b/libs/api/api.vcxproj
@@ -124,7 +124,7 @@
true
NotUsing
pch.h
- $(SolutionDir)libs\api_common;$(SolutionDir)libs\api;$(SolutionDir)rpc_interface;$(SolutionDir)libs\service;$(SolutionDir)include;$(SolutionDir)include\bpf;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)external\ebpf-verifier\external;$(SolutionDir)external\ebpf-verifier\external\elfio;$(OutDir);%(AdditionalIncludeDirectories);$(SolutionDir)libs\thunk
+ $(SolutionDir)libs\api_common;$(SolutionDir)libs\api;$(SolutionDir)rpc_interface;$(SolutionDir)libs\service;$(SolutionDir)include;$(SolutionDir)include\bpf;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)external\ebpf-verifier\external;$(SolutionDir)external\ebpf-verifier\external\elfio;$(OutDir);%(AdditionalIncludeDirectories);$(SolutionDir)libs\thunk;$(SolutionDir)external\bpftool
Windows
@@ -138,7 +138,7 @@
true
NotUsing
pch.h
- $(SolutionDir)libs\api_common;$(SolutionDir)libs\api;$(SolutionDir)rpc_interface;$(SolutionDir)libs\service;$(SolutionDir)include;$(SolutionDir)include\bpf;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)external\ebpf-verifier\external;$(SolutionDir)external\ebpf-verifier\external\elfio;$(OutDir);%(AdditionalIncludeDirectories);$(SolutionDir)libs\thunk
+ $(SolutionDir)libs\api_common;$(SolutionDir)libs\api;$(SolutionDir)rpc_interface;$(SolutionDir)libs\service;$(SolutionDir)include;$(SolutionDir)include\bpf;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)external\ebpf-verifier\external;$(SolutionDir)external\ebpf-verifier\external\elfio;$(OutDir);%(AdditionalIncludeDirectories);$(SolutionDir)libs\thunk;$(SolutionDir)external\bpftool
Windows
diff --git a/libs/ebpfnetsh/ebpfnetsh.vcxproj b/libs/ebpfnetsh/ebpfnetsh.vcxproj
index e5b2dcfd4..11977f8f1 100644
--- a/libs/ebpfnetsh/ebpfnetsh.vcxproj
+++ b/libs/ebpfnetsh/ebpfnetsh.vcxproj
@@ -95,7 +95,7 @@
WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
true
- $(SolutionDir)include
+ $(SolutionDir)include;$(SolutionDir)libs\thunk;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
@@ -107,7 +107,7 @@
WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
true
- $(SolutionDir)include
+ $(SolutionDir)include;$(SolutionDir)libs\thunk;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
@@ -121,7 +121,7 @@
_DEBUG;_LIB;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)libs\thunk
+ $(SolutionDir)include;$(SolutionDir)libs\thunk;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
@@ -133,7 +133,7 @@
NDEBUG;_LIB;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)libs\thunk
+ $(SolutionDir)include;$(SolutionDir)libs\thunk;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
diff --git a/libs/execution_context/kernel/execution_context_kernel.vcxproj b/libs/execution_context/kernel/execution_context_kernel.vcxproj
index 3957845ea..d1837aa37 100644
--- a/libs/execution_context/kernel/execution_context_kernel.vcxproj
+++ b/libs/execution_context/kernel/execution_context_kernel.vcxproj
@@ -93,14 +93,14 @@
_DEBUG;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;%(PreprocessorDefinitions);_NO_CRT_STDIO_INLINE=1
- $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
4201;4100;%(DisableSpecificWarnings)
WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;%(PreprocessorDefinitions);_NO_CRT_STDIO_INLINE=1;CONFIG_BPF_JIT_ALWAYS_ON=1
- $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
4201;4100;%(DisableSpecificWarnings)
diff --git a/libs/execution_context/user/execution_context_user.vcxproj b/libs/execution_context/user/execution_context_user.vcxproj
index 33c3fa702..a2da83773 100644
--- a/libs/execution_context/user/execution_context_user.vcxproj
+++ b/libs/execution_context/user/execution_context_user.vcxproj
@@ -96,7 +96,7 @@
true
NotUsing
pch.h
- $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
@@ -110,7 +110,7 @@
true
NotUsing
pch.h
- $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
@@ -123,6 +123,14 @@
+
+ $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
+
+
+
+
+ $(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)\external\ubpf\vm\inc;$(SolutionDir)\external\ubpf\vm;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
+
diff --git a/libs/platform/kernel/platform_kernel.vcxproj b/libs/platform/kernel/platform_kernel.vcxproj
index bb4f1a6fd..9eb867b37 100644
--- a/libs/platform/kernel/platform_kernel.vcxproj
+++ b/libs/platform/kernel/platform_kernel.vcxproj
@@ -84,8 +84,8 @@
- $(SolutionDir)\include;%(AdditionalIncludeDirectories)
- $(SolutionDir)\include;%(AdditionalIncludeDirectories)
+ $(SolutionDir)\include;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
+ $(SolutionDir)\include;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
/acf ..\ebpf_program_types.acf /protocol dce %(AdditionalOptions)
/acf ..\ebpf_program_types.acf /protocol dce %(AdditionalOptions)
Signed
@@ -219,7 +219,7 @@
_DEBUG;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;%(PreprocessorDefinitions);_KRPCENV_;_NO_CRT_STDIO_INLINE=1
- $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\epoch;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\epoch;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
_KRPCENV_;%(PreprocessorDefinitions)
@@ -228,7 +228,7 @@
WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_KRPCENV_;%(PreprocessorDefinitions);_NO_CRT_STDIO_INLINE=1
- $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\epoch;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(SolutionDir)libs\epoch;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
_KRPCENV_;%(PreprocessorDefinitions)
diff --git a/libs/platform/user/platform_user.vcxproj b/libs/platform/user/platform_user.vcxproj
index 8ed049270..3a6559e25 100644
--- a/libs/platform/user/platform_user.vcxproj
+++ b/libs/platform/user/platform_user.vcxproj
@@ -57,8 +57,8 @@
- $(SolutionDir)\include;%(AdditionalIncludeDirectories)
- $(SolutionDir)\include;%(AdditionalIncludeDirectories)
+ $(SolutionDir)\include;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
+ $(SolutionDir)\include;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Stub
Stub
None
@@ -171,7 +171,7 @@
true
NotUsing
pch.h
- $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user
+ $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)external\ebpf-verifier\src
@@ -185,7 +185,7 @@
true
NotUsing
pch.h
- $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user
+ $(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)external\ebpf-verifier\src
diff --git a/netebpfext/netebpfext.vcxproj b/netebpfext/netebpfext.vcxproj
index b949bfc70..a94f882fa 100644
--- a/netebpfext/netebpfext.vcxproj
+++ b/netebpfext/netebpfext.vcxproj
@@ -87,7 +87,7 @@
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
- %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath)
+ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath);$(SolutionDir)external\ebpf-verifier\src
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
@@ -109,7 +109,7 @@
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
- %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath)
+ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath);$(SolutionDir)external\ebpf-verifier\src
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
@@ -131,7 +131,7 @@
-
+
@@ -148,7 +148,7 @@
-
+
@@ -160,4 +160,4 @@
-
+
\ No newline at end of file
diff --git a/netebpfext/netebpfext.vcxproj.filters b/netebpfext/netebpfext.vcxproj.filters
index c4da5a2c6..332bcc8a6 100644
--- a/netebpfext/netebpfext.vcxproj.filters
+++ b/netebpfext/netebpfext.vcxproj.filters
@@ -41,6 +41,12 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
@@ -61,12 +67,18 @@
Header Files
-
- Header Files
-
Header Files
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
diff --git a/tests/api_test/api_test.vcxproj b/tests/api_test/api_test.vcxproj
index 6c1d81045..1fdf4df55 100644
--- a/tests/api_test/api_test.vcxproj
+++ b/tests/api_test/api_test.vcxproj
@@ -114,7 +114,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\Platform;$(SolutionDir)libs\Platform\user;$(SolutionDir)libs\thunk;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\Platform;$(SolutionDir)libs\Platform\user;$(SolutionDir)libs\thunk;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
@@ -126,7 +126,7 @@
NDEBUG;_CONSOLE;CONFIG_BPF_JIT_ALWAYS_ON=1;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\Platform;$(SolutionDir)libs\Platform\user;$(SolutionDir)libs\thunk;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\Platform;$(SolutionDir)libs\Platform\user;$(SolutionDir)libs\thunk;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
diff --git a/tests/fuzz/fuzz.vcxproj b/tests/fuzz/fuzz.vcxproj
index c789da628..64a17a885 100644
--- a/tests/fuzz/fuzz.vcxproj
+++ b/tests/fuzz/fuzz.vcxproj
@@ -118,7 +118,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
@@ -132,7 +132,7 @@
true
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
diff --git a/tests/libs/common/common_tests.vcxproj b/tests/libs/common/common_tests.vcxproj
index 243eed60c..8ddce0ba7 100644
--- a/tests/libs/common/common_tests.vcxproj
+++ b/tests/libs/common/common_tests.vcxproj
@@ -113,7 +113,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)tests\libs\util;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\thunk;$(SolutionDir)tests\util;$(SolutionDir)tests\sample;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)tests\libs\util;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\thunk;$(SolutionDir)tests\util;$(SolutionDir)tests\sample;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
@@ -124,7 +124,7 @@
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)tests\libs\util;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\thunk;$(SolutionDir)tests\util;$(SolutionDir)tests\sample;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)tests\libs\util;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\thunk;$(SolutionDir)tests\util;$(SolutionDir)tests\sample;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
diff --git a/tests/libs/util/test_util.vcxproj b/tests/libs/util/test_util.vcxproj
index 405a97bc6..19b70a93a 100644
--- a/tests/libs/util/test_util.vcxproj
+++ b/tests/libs/util/test_util.vcxproj
@@ -108,6 +108,7 @@
WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
true
+ $(SolutionDir)libs\api_common;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(SolutionDir)libs\thunk;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)tests\sample;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
@@ -119,6 +120,7 @@
WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
true
+ $(SolutionDir)libs\api_common;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(SolutionDir)libs\thunk;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)tests\sample;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
@@ -132,7 +134,7 @@
_DEBUG;_LIB;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(SolutionDir)libs\thunk;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)tests\sample;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(SolutionDir)libs\thunk;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)tests\sample;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
@@ -144,7 +146,7 @@
NDEBUG;_LIB;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(SolutionDir)libs\thunk;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)tests\sample;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(SolutionDir)libs\thunk;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)tests\sample;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
diff --git a/tests/performance/performance.vcxproj b/tests/performance/performance.vcxproj
index c9ae8942f..5259610de 100644
--- a/tests/performance/performance.vcxproj
+++ b/tests/performance/performance.vcxproj
@@ -117,7 +117,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
@@ -129,7 +129,7 @@
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)external\ubpf\vm;$(SolutionDir)external\ubpf\vm\inc;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
diff --git a/tests/sample/ext/app/sample_ext_app.vcxproj b/tests/sample/ext/app/sample_ext_app.vcxproj
index 51a5ad56f..5809960fb 100644
--- a/tests/sample/ext/app/sample_ext_app.vcxproj
+++ b/tests/sample/ext/app/sample_ext_app.vcxproj
@@ -86,7 +86,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
@@ -98,7 +98,7 @@
NDEBUG;_CONSOLE;CONFIG_BPF_JIT_ALWAYS_ON=1;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)libs\execution_context;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\netebpfext;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
diff --git a/tests/sample/ext/drv/sample_ext.vcxproj b/tests/sample/ext/drv/sample_ext.vcxproj
index c9194e03a..0e6555355 100644
--- a/tests/sample/ext/drv/sample_ext.vcxproj
+++ b/tests/sample/ext/drv/sample_ext.vcxproj
@@ -86,7 +86,7 @@
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
- %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath)
+ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath);$(SolutionDir)external\ebpf-verifier\src
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
@@ -104,7 +104,7 @@
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
- %(AdditionalIncludeDirectories);$(DDK_INC_PATH);;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath)
+ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)include;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\kernel;$(OutputPath);$(SolutionDir)external\ebpf-verifier\src
%(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO
diff --git a/tests/sample/sample.vcxproj b/tests/sample/sample.vcxproj
index 90b28fde3..41d084475 100644
--- a/tests/sample/sample.vcxproj
+++ b/tests/sample/sample.vcxproj
@@ -32,6 +32,7 @@
{b4ad72e3-754e-40ca-9cea-d3f2c9170e51}
sample
10.0
+ -g -target bpf -O2 -Werror -I../../include -I../../external/bpftool
@@ -95,7 +96,7 @@
CppCode
- clang -g -target bpf -O2 -Werror -I../../include -I../xdp -I../socket -I./ext/inc -c %(Filename).c -o $(OutputPath)%(Filename).o
+ clang $(ClangFlags) -I../xdp -I../socket -I./ext/inc -c %(Filename).c -o $(OutputPath)%(Filename).o
powershell $(SolutionDir)scripts\Convert-BpfToNative.ps1 -ProgramName %(Filename) -SolutionDir $(SolutionDir) -Platform $(Platform) -Configuration $(Configuration) -KernelMode $true
powershell $(SolutionDir)scripts\Convert-BpfToNative.ps1 -ProgramName %(Filename) -SolutionDir $(SolutionDir) -Platform $(Platform) -Configuration $(Configuration) -KernelMode $false
@@ -106,8 +107,9 @@
CppCode
+ clang $(ClangFlags) -c %(Filename).c -o $(OutputPath)%(Filename).o
- clang -g -target bpf -O2 -Werror -I../../include -I../xdp -I../socket -I./ext/inc -c unsafe\%(Filename).c -o $(OutputPath)%(Filename).o
+ clang $(ClangFlags) -I../xdp -I../socket -I./ext/inc -c unsafe\%(Filename).c -o $(OutputPath)%(Filename).o
$(OutputPath)%(Filename).o
@@ -115,4 +117,4 @@
-
\ No newline at end of file
+
diff --git a/tests/socket/socket_tests.vcxproj b/tests/socket/socket_tests.vcxproj
index cfab841d3..af4cc4e53 100644
--- a/tests/socket/socket_tests.vcxproj
+++ b/tests/socket/socket_tests.vcxproj
@@ -91,6 +91,7 @@
WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
+ $(SolutionDir)include;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\libs\util;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
@@ -101,6 +102,7 @@
WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
+ $(SolutionDir)include;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\libs\util;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
@@ -113,7 +115,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\libs\util;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\libs\util;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
@@ -125,7 +127,7 @@
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)include;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\libs\util;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)include;$(SolutionDir)tests\libs\common;$(SolutionDir)tests\libs\util;$(OutDir);$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src;%(AdditionalIncludeDirectories)
Console
diff --git a/tests/unit/test.vcxproj b/tests/unit/test.vcxproj
index a5f8ad167..088ebcdc4 100644
--- a/tests/unit/test.vcxproj
+++ b/tests/unit/test.vcxproj
@@ -116,7 +116,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
@@ -128,7 +128,7 @@
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;%(AdditionalIncludeDirectories)
+ $(SolutionDir)libs\api_common;$(SolutionDir)include;$(SolutionDir)libs\api;$(SolutionDir)libs\ebpfnetsh;$(SolutionDir)tests\libs\util;$(SolutionDir)tests\libs\common;$(OutDir);$(SolutionDir)external\ebpf-verifier\src;$(SolutionDir)libs\service;$(SolutionDir)rpc_interface;$(SolutionDir)libs\platform;$(SolutionDir)libs\platform\user;$(SolutionDir)libs\execution_context;$(SolutionDir)tests\end_to_end;$(SolutionDir)tests\sample;$(SolutionDir)tests\sample\ext\inc;$(SolutionDir)\tests\xdp;$(SolutionDir)tools\encode_program_info;$(SolutionDir)libs\thunk;$(SolutionDir)libs\thunk\mock;$(SolutionDir)\netebpfext;$(SolutionDir)external\catch2\src;$(SolutionDir)external\catch2\build\generated-includes;$(SolutionDir)external\bpftool;%(AdditionalIncludeDirectories)
Console
diff --git a/tools/bpftool/bpftool.vcxproj b/tools/bpftool/bpftool.vcxproj
index 258ae64bd..c79ced313 100644
--- a/tools/bpftool/bpftool.vcxproj
+++ b/tools/bpftool/bpftool.vcxproj
@@ -153,7 +153,7 @@
BPFTOOL_VERSION="0.1";_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(ProjectDir);$(SolutionDir)include;$(SolutionDir)external/bpftool/libbpf/src;$(SolutionDir)external/bpftool/libbpf/include;$(SolutionDir)external/win-c/include
+ $(ProjectDir);$(SolutionDir)include;$(SolutionDir)external/bpftool/libbpf/src;$(SolutionDir)external/bpftool/libbpf/include;$(SolutionDir)external/win-c/include;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
/analyze:stacksize 163884 %(AdditionalOptions)
false
@@ -168,7 +168,7 @@
BPFTOOL_VERSION="0.1";NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(ProjectDir);$(SolutionDir)include;$(SolutionDir)external/bpftool/libbpf/src;$(SolutionDir)external/bpftool/libbpf/include;$(SolutionDir)external/win-c/include
+ $(ProjectDir);$(SolutionDir)include;$(SolutionDir)external/bpftool/libbpf/src;$(SolutionDir)external/bpftool/libbpf/include;$(SolutionDir)external/win-c/include;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
/analyze:stacksize 163884 %(AdditionalOptions)
false
@@ -184,4 +184,4 @@
-
+
\ No newline at end of file
diff --git a/tools/nuget/README.md b/tools/nuget/README.md
new file mode 100644
index 000000000..4e47c73ed
--- /dev/null
+++ b/tools/nuget/README.md
@@ -0,0 +1,4 @@
+# eBPF for Windows NuGet Package
+
+This NuGet package includes all the headers, libraries, and debugger files
+needed to enable writing eBPF programs and applications for Windows.
diff --git a/tools/nuget/ebpf-for-windows.nuspec b/tools/nuget/ebpf-for-windows.nuspec
new file mode 100644
index 000000000..6726f2da9
--- /dev/null
+++ b/tools/nuget/ebpf-for-windows.nuspec
@@ -0,0 +1,31 @@
+
+
+
+
+ eBPF for Windows SDK
+ eBPF-for-Windows
+ 0.1.3
+ eBPF for Windows Contributors
+ eBPF for Windows Contributors
+ false
+ MIT
+ https://github.com/Microsoft/ebpf-for-windows
+
+ native ebpf
+ eBPF for Windows SDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/nuget/ebpf-for-windows.props b/tools/nuget/ebpf-for-windows.props
new file mode 100644
index 000000000..93be5d6bb
--- /dev/null
+++ b/tools/nuget/ebpf-for-windows.props
@@ -0,0 +1,27 @@
+
+
+
+
+ mdd
+ md
+
+
+
+
+
+ @(EbpfLibs)
+ -I $(MSBuildThisFileDirectory)include -I $(MSBuildThisFileDirectory)include/uapi
+
+
+
+ %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)include;$(MSBuildThisFileDirectory)include/uapi
+
+
+ %(AdditionalLibraryDirectories);$(MSBuildThisFileDirectory)lib
+ $(EbpfLibraries);%(AdditionalDependencies)
+
+
+
diff --git a/tools/nuget/nuget.vcxproj b/tools/nuget/nuget.vcxproj
new file mode 100644
index 000000000..ce09f4a16
--- /dev/null
+++ b/tools/nuget/nuget.vcxproj
@@ -0,0 +1,164 @@
+
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {7629d5d0-5a80-4528-87ed-60fc83c5552b}
+ nuget
+ 10.0
+
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+ Utility
+ true
+ v142
+ Unicode
+
+
+ Utility
+ false
+ v142
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Document
+ NuGet.exe pack ebpf-for-windows.nuspec -OutputDirectory $(OutDir)
+ eBPF-for-Windows.2022.4.22.nupkg
+ eBPF-for-Windows.2022.4.22.nupkg
+ NuGet.exe pack ebpf-for-windows.nuspec -OutputDirectory $(OutDir)
+
+
+
+
+ {75fe223a-3e45-4b0e-a2e8-04285e52e440}
+
+
+ {69b97e52-18dc-434e-a6e4-4c0f3e88c44a}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/nuget/nuget.vcxproj.filters b/tools/nuget/nuget.vcxproj.filters
new file mode 100644
index 000000000..5a75df841
--- /dev/null
+++ b/tools/nuget/nuget.vcxproj.filters
@@ -0,0 +1,25 @@
+
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
diff --git a/tools/port_quota/port_quota.vcxproj b/tools/port_quota/port_quota.vcxproj
index 2e4740bef..5ad2d5a48 100644
--- a/tools/port_quota/port_quota.vcxproj
+++ b/tools/port_quota/port_quota.vcxproj
@@ -115,7 +115,7 @@
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)include
+ $(SolutionDir)include;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
Console
@@ -127,7 +127,7 @@
true
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
- $(SolutionDir)include
+ $(SolutionDir)include;$(SolutionDir)external\bpftool;$(SolutionDir)external\ebpf-verifier\src
Console