From 6809e0112c085b9d51006d4e25f233201cb42b2b Mon Sep 17 00:00:00 2001 From: Venkata Naga Kartik Pidatala Date: Fri, 11 Oct 2024 13:46:44 -0700 Subject: [PATCH 1/2] issue3762 - adding logs --- UpgradeLog.htm | 351 +++++++++++++++++++++++++ netebpfext/net_ebpf_ext_program_info.h | 4 +- netebpfext/net_ebpf_ext_sock_addr.c | 50 ++-- 3 files changed, 385 insertions(+), 20 deletions(-) create mode 100644 UpgradeLog.htm diff --git a/UpgradeLog.htm b/UpgradeLog.htm new file mode 100644 index 0000000000..12c066912c --- /dev/null +++ b/UpgradeLog.htm @@ -0,0 +1,351 @@ + + + + Migration Report +

+ Migration Report -

Overview

ProjectPathErrorsWarningsMessages
ebpf-for-windowsinstaller\ebpf-for-windows.wixproj100
apilibs\api\api.vcxproj000
api_commonlibs\api_common\api_common.vcxproj000
api_testtests\api_test\api_test.vcxproj000
bpf2ctools\bpf2c\bpf2c.vcxproj000
bpf2c_fuzzertests\libfuzzer\bpf2c_fuzzer\bpf2c_fuzzer.vcxproj000
bpf2c_plugintests\bpf2c_plugin\bpf2c_plugin.vcxproj000
bpf2c_teststests\bpf2c_tests\bpf2c_tests.vcxproj000
bpftooltools\bpftool\bpftool.vcxproj000
bpftool_teststests\bpftool_tests\bpftool_tests.vcxproj000
Catch2external\Catch2\build\src\Catch2.vcxproj000
Catch2WithMainexternal\Catch2\build\src\Catch2WithMain.vcxproj000
cilium_teststests\cilium\cilium_tests.vcxproj000
common_teststests\libs\common\common_tests.vcxproj000
connect_redirect_teststests\connect_redirect\connect_redirect_tests.vcxproj000
core_helper_fuzzertests\libfuzzer\core_helper_fuzzer\core_helper_fuzzer.vcxproj000
cxplat_winkernelexternal\usersim\cxplat\src\cxplat_winkernel\cxplat_winkernel.vcxproj000
cxplat_winuserexternal\usersim\cxplat\src\cxplat_winuser\cxplat_winuser.vcxproj000
dllsdlls000
dnsfloodtools\dnsflood\dnsflood.vcxproj000
driversdrivers000
ebpf_store_helperlibs\store_helper\user\ebpf_store_helper_um.vcxproj000
ebpf_stress_tests_kmtests\stress\km\ebpf_stress_tests_km.vcxproj000
ebpf_stress_tests_umtests\stress\um\ebpf_stress_tests_um.vcxproj000
EbpfApiebpfapi\ebpfapi.vcxproj000
EbpfCoreebpfcore\EbpfCore.vcxproj000
EbpfCore_Usersimebpfcore\usersim\EbpfCore_Usersim.vcxproj000
ebpfnetshtools\netsh\ebpfnetsh.vcxproj000
ebpfsvcebpfsvc\eBPFSvc.vcxproj000
ebpfverifierexternal\ebpf-verifier\build\ebpfverifier.vcxproj000
elf_speclibs\elf_spec\elf_spec.vcxproj000
execution_context_fuzzertests\libfuzzer\execution_context\execution_context_fuzzer.vcxproj000
execution_context_kernellibs\execution_context\kernel\execution_context_kernel.vcxproj000
execution_context_userlibs\execution_context\user\execution_context_user.vcxproj000
export_program_infotools\export_program_info\export_program_info.vcxproj000
export_program_info_sampleundocked\tools\export_program_info_sample\export_program_info_sample.vcxproj000
idlidl000
installerinstaller000
kernelkernel000
libbtfexternal\ebpf-verifier\build\external\libbtf\libbtf\libbtf.vcxproj000
libfuzzerlibfuzzer000
libslibs000
netebpfextnetebpfext\sys\netebpfext.vcxproj000
netebpfext_fuzzertests\libfuzzer\netebpfext_fuzzer\netebpfext_fuzzer.vcxproj000
netebpfext_unittests\netebpfext_unit\netebpfext_unit.vcxproj000
netebpfext_usernetebpfext\user\netebpfext_user.vcxproj000
netsh_staticlibs\ebpfnetsh\ebpfnetsh.vcxproj000
nugettools\nuget\nuget.vcxproj000
onebranchtools\onebranch\onebranch.vcxproj000
pe-parselibs\pe-parse\pe-parse.vcxproj000
performancetests\performance\performance.vcxproj000
port_leaktools\port_leak\port_leak.vcxproj000
port_quotatools\port_quota\port_quota.vcxproj000
redist-packagetools\redist-package\redist-package.vcxproj000
rpc_interfacerpc_interface\rpc_interface.vcxproj000
runtime_kernellibs\runtime\kernel\platform_kernel.vcxproj000
runtime_userlibs\runtime\user\platform_user.vcxproj000
sampletests\sample\sample.vcxproj000
sample_ebpf_extundocked\tests\sample\ext\drv\sample_ext.vcxproj000
sample_ext_apptests\sample\ext\app\sample_ext_app.vcxproj000
serviceservice000
setup_buildscripts\setup_build\setup_build.vcxproj000
shared_kernellibs\shared\kernel\shared_kernel.vcxproj000
shared_userlibs\shared\user\shared_user.vcxproj000
socket_teststests\socket\socket_tests.vcxproj000
tcp_udp_listenertests\tcp_udp_listener\tcp_udp_listener.vcxproj000
test_utiltests\libs\util\test_util.vcxproj000
teststests000
toolstools000
ubpf_kernellibs\ubpf\kernel\ubpf_kernel.vcxproj000
ubpf_userlibs\ubpf\user\ubpf_user.vcxproj000
undockedundocked000
unit_teststests\unit\test.vcxproj000
useruser000
usersimexternal\usersim\src\usersim.vcxproj000
usersim_dll_skeletonexternal\usersim\usersim_dll_skeleton\usersim_dll_skeleton.vcxproj000
verifier_fuzzertests\libfuzzer\verifier_fuzzer\verifier_fuzzer.vcxproj000
xdp_teststests\xdp\xdp_tests.vcxproj000
yaml-cppexternal\ebpf-verifier\build\yaml-cpp.vcxproj000
Solutionebpf-for-windows.sln001

Solution and projects

ebpf-for-windows

Message
installer\ebpf-for-windows.wixproj: + The application which this project type is based on was not found. Please try this link for further information: 930c7802-8a8c-48f9-8165-68863bccd9dd

api

Message
api logged no messages. +

api_common

Message
api_common logged no messages. +

api_test

Message
api_test logged no messages. +

bpf2c

Message
bpf2c logged no messages. +

bpf2c_fuzzer

Message
bpf2c_fuzzer logged no messages. +

bpf2c_plugin

Message
bpf2c_plugin logged no messages. +

bpf2c_tests

Message
bpf2c_tests logged no messages. +

bpftool

Message
bpftool logged no messages. +

bpftool_tests

Message
bpftool_tests logged no messages. +

Catch2

Message
Catch2 logged no messages. +

Catch2WithMain

Message
Catch2WithMain logged no messages. +

cilium_tests

Message
cilium_tests logged no messages. +

common_tests

Message
common_tests logged no messages. +

connect_redirect_tests

Message
connect_redirect_tests logged no messages. +

core_helper_fuzzer

Message
core_helper_fuzzer logged no messages. +

cxplat_winkernel

Message
cxplat_winkernel logged no messages. +

cxplat_winuser

Message
cxplat_winuser logged no messages. +

dlls

Message
dlls logged no messages. +

dnsflood

Message
dnsflood logged no messages. +

drivers

Message
drivers logged no messages. +

ebpf_store_helper

Message
ebpf_store_helper logged no messages. +

ebpf_stress_tests_km

Message
ebpf_stress_tests_km logged no messages. +

ebpf_stress_tests_um

Message
ebpf_stress_tests_um logged no messages. +

EbpfApi

Message
EbpfApi logged no messages. +

EbpfCore

Message
EbpfCore logged no messages. +

EbpfCore_Usersim

Message
EbpfCore_Usersim logged no messages. +

ebpfnetsh

Message
ebpfnetsh logged no messages. +

ebpfsvc

Message
ebpfsvc logged no messages. +

ebpfverifier

Message
ebpfverifier logged no messages. +

elf_spec

Message
elf_spec logged no messages. +

execution_context_fuzzer

Message
execution_context_fuzzer logged no messages. +

execution_context_kernel

Message
execution_context_kernel logged no messages. +

execution_context_user

Message
execution_context_user logged no messages. +

export_program_info

Message
export_program_info logged no messages. +

export_program_info_sample

Message
export_program_info_sample logged no messages. +

idl

Message
idl logged no messages. +

installer

Message
installer logged no messages. +

kernel

Message
kernel logged no messages. +

libbtf

Message
libbtf logged no messages. +

libfuzzer

Message
libfuzzer logged no messages. +

libs

Message
libs logged no messages. +

netebpfext

Message
netebpfext logged no messages. +

netebpfext_fuzzer

Message
netebpfext_fuzzer logged no messages. +

netebpfext_unit

Message
netebpfext_unit logged no messages. +

netebpfext_user

Message
netebpfext_user logged no messages. +

netsh_static

Message
netsh_static logged no messages. +

nuget

Message
nuget logged no messages. +

onebranch

Message
onebranch logged no messages. +

pe-parse

Message
pe-parse logged no messages. +

performance

Message
performance logged no messages. +

port_leak

Message
port_leak logged no messages. +

port_quota

Message
port_quota logged no messages. +

redist-package

Message
redist-package logged no messages. +

rpc_interface

Message
rpc_interface logged no messages. +

runtime_kernel

Message
runtime_kernel logged no messages. +

runtime_user

Message
runtime_user logged no messages. +

sample

Message
sample logged no messages. +

sample_ebpf_ext

Message
sample_ebpf_ext logged no messages. +

sample_ext_app

Message
sample_ext_app logged no messages. +

service

Message
service logged no messages. +

setup_build

Message
setup_build logged no messages. +

shared_kernel

Message
shared_kernel logged no messages. +

shared_user

Message
shared_user logged no messages. +

socket_tests

Message
socket_tests logged no messages. +

tcp_udp_listener

Message
tcp_udp_listener logged no messages. +

test_util

Message
test_util logged no messages. +

tests

Message
tests logged no messages. +

tools

Message
tools logged no messages. +

ubpf_kernel

Message
ubpf_kernel logged no messages. +

ubpf_user

Message
ubpf_user logged no messages. +

undocked

Message
undocked logged no messages. +

unit_tests

Message
unit_tests logged no messages. +

user

Message
user logged no messages. +

usersim

Message
usersim logged no messages. +

usersim_dll_skeleton

Message
usersim_dll_skeleton logged no messages. +

verifier_fuzzer

Message
verifier_fuzzer logged no messages. +

xdp_tests

Message
xdp_tests logged no messages. +

yaml-cpp

Message
yaml-cpp logged no messages. +

Solution

Message
+ Show 1 additional messages +
ebpf-for-windows.sln: + The solution file does not require migration.
+ Hide 1 additional messages +
\ No newline at end of file diff --git a/netebpfext/net_ebpf_ext_program_info.h b/netebpfext/net_ebpf_ext_program_info.h index 541e6723c4..dd54130b65 100644 --- a/netebpfext/net_ebpf_ext_program_info.h +++ b/netebpfext/net_ebpf_ext_program_info.h @@ -110,7 +110,7 @@ static const ebpf_helper_function_prototype_t _ebpf_sock_addr_global_helper_func .helper_id = BPF_FUNC_get_current_pid_tgid, .name = "bpf_get_current_pid_tgid", .return_type = EBPF_RETURN_TYPE_INTEGER, - .arguments = {}, + .arguments = {0}, .implicit_context = true}, {EBPF_HELPER_FUNCTION_PROTOTYPE_HEADER, BPF_FUNC_get_current_logon_id, @@ -204,7 +204,7 @@ static const ebpf_helper_function_prototype_t _ebpf_sock_ops_global_helper_funct .helper_id = BPF_FUNC_get_current_pid_tgid, .name = "bpf_get_current_pid_tgid", .return_type = EBPF_RETURN_TYPE_INTEGER, - .arguments = {}, + .arguments = {0}, .implicit_context = true}}; static const ebpf_program_info_t _ebpf_sock_ops_program_info = { EBPF_PROGRAM_INFORMATION_HEADER, diff --git a/netebpfext/net_ebpf_ext_sock_addr.c b/netebpfext/net_ebpf_ext_sock_addr.c index 016ce5028a..995c90a4e2 100644 --- a/netebpfext/net_ebpf_ext_sock_addr.c +++ b/netebpfext/net_ebpf_ext_sock_addr.c @@ -26,7 +26,8 @@ #define NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE "NetEbpfExtSockAddrClassify" #define NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV4( \ - trace_level, message, handle, protocol, source_ip, source_port, destination_ip, destination_port, verdict) \ + trace_level, message, handle, protocol, source_ip, source_port, destination_ip, destination_port, verdict, \ + compartment_id) \ TraceLoggingWrite( \ net_ebpf_ext_tracelog_provider, \ NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE, \ @@ -39,10 +40,12 @@ TraceLoggingUInt16((source_port), "source_port"), \ TraceLoggingIPv4Address((destination_ip), "destination_ip"), \ TraceLoggingUInt16((destination_port), "destination_port"), \ - TraceLoggingUInt32((verdict), "verdict")); + TraceLoggingUInt32((verdict), "verdict"), \ + TraceLoggingUInt32((compartment_id), "compartment_id")); #define NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV6( \ - trace_level, message, handle, protocol, source_ip, source_port, destination_ip, destination_port, verdict) \ + trace_level, message, handle, protocol, source_ip, source_port, destination_ip, destination_port, verdict, \ + compartment_id) \ TraceLoggingWrite( \ net_ebpf_ext_tracelog_provider, \ NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE, \ @@ -55,7 +58,8 @@ TraceLoggingUInt16((source_port), "source_port"), \ TraceLoggingIPv6Address((destination_ip), "destination_ip"), \ TraceLoggingUInt16((destination_port), "destination_port"), \ - TraceLoggingUInt32((verdict), "verdict")); + TraceLoggingUInt32((verdict), "verdict"), \ + TraceLoggingUInt32((compartment_id), "compartment_id")); #define NET_EBPF_EXT_SOCK_ADDR_REDIRECT_MESSAGE "NetEbpfExtSockAddrRedirect" @@ -69,7 +73,8 @@ destination_port, \ redirected_ip, \ redirected_port, \ - verdict) \ + verdict, \ + compartment_id) \ TraceLoggingWrite( \ net_ebpf_ext_tracelog_provider, \ NET_EBPF_EXT_SOCK_ADDR_REDIRECT_MESSAGE, \ @@ -84,7 +89,8 @@ TraceLoggingUInt16((destination_port), "destination_port"), \ TraceLoggingIPv4Address((redirected_ip), "redirected_ip"), \ TraceLoggingUInt16((redirected_port), "redirected_port"), \ - TraceLoggingUInt64((verdict), "verdict")); + TraceLoggingUInt64((verdict), "verdict") \ + TraceLoggingUInt32((compartment_id), "compartment_id")); #define NET_EBPF_EXT_LOG_SOCK_ADDR_REDIRECT_CLASSIFY_IPV6( \ message, \ @@ -96,7 +102,8 @@ destination_port, \ redirected_ip, \ redirected_port, \ - verdict) \ + verdict, \ + compartment_id) \ TraceLoggingWrite( \ net_ebpf_ext_tracelog_provider, \ NET_EBPF_EXT_SOCK_ADDR_REDIRECT_MESSAGE, \ @@ -111,7 +118,8 @@ TraceLoggingUInt16((destination_port), "destination_port"), \ TraceLoggingIPv6Address((redirected_ip), "redirected_ip"), \ TraceLoggingUInt16((redirected_port), "redirected_port"), \ - TraceLoggingUInt64((verdict), "verdict")); + TraceLoggingUInt64((verdict), "verdict"), \ + TraceLoggingUInt32((compartment_id), "compartment_id")); #define DEFINE_SOCK_ADDR_CLASSIFY_LOG_FUNCTION(family) \ __declspec(noinline) static void _net_ebpf_ext_log_sock_addr_classify_v##family##( \ @@ -119,7 +127,8 @@ uint64_t transport_endpoint_handle, \ _In_ const bpf_sock_addr_t* original_context, \ _In_opt_ const bpf_sock_addr_t* redirected_context, \ - uint32_t verdict) \ + uint32_t verdict, \ + uint32_t compartment_id) \ { \ if (redirected_context != NULL) { \ NET_EBPF_EXT_LOG_SOCK_ADDR_REDIRECT_CLASSIFY_IPV##family##( \ @@ -132,7 +141,8 @@ ntohs(original_context->user_port), \ redirected_context->user_ip##family##, \ ntohs(redirected_context->user_port), \ - verdict); \ + verdict, \ + compartment_id); \ } else { \ if (verdict == BPF_SOCK_ADDR_VERDICT_REJECT) { \ NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV##family##( \ @@ -144,7 +154,8 @@ ntohs(original_context->msg_src_port), \ original_context->user_ip##family##, \ ntohs(original_context->user_port), \ - verdict); \ + verdict, \ + compartment_id); \ } else { \ NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV##family##( \ NET_EBPF_EXT_TRACELOG_LEVEL_VERBOSE, \ @@ -155,7 +166,8 @@ ntohs(original_context->msg_src_port), \ original_context->user_ip##family##, \ ntohs(original_context->user_port), \ - verdict); \ + verdict, \ + compartment_id); \ } \ } \ } @@ -169,15 +181,16 @@ _net_ebpf_ext_log_sock_addr_classify( uint64_t transport_endpoint_handle, _In_ const bpf_sock_addr_t* original_context, _In_opt_ const bpf_sock_addr_t* redirected_context, - uint32_t verdict) + uint32_t verdict, + uint32_t compartment_id) { if (TraceLoggingProviderEnabled(net_ebpf_ext_tracelog_provider, 0, NET_EBPF_EXT_TRACELOG_KEYWORD_SOCK_ADDR)) { if (original_context->family == AF_INET) { _net_ebpf_ext_log_sock_addr_classify_v4( - message, transport_endpoint_handle, original_context, redirected_context, verdict); + message, transport_endpoint_handle, original_context, redirected_context, verdict, compartment_id); } else { _net_ebpf_ext_log_sock_addr_classify_v6( - message, transport_endpoint_handle, original_context, redirected_context, verdict); + message, transport_endpoint_handle, original_context, redirected_context, verdict, compartment_id); } } } @@ -1589,7 +1602,7 @@ net_ebpf_extension_sock_addr_authorize_recv_accept_classify( } _net_ebpf_ext_log_sock_addr_classify( - "recv_accept_classify", incoming_metadata_values->transportEndpointHandle, sock_addr_ctx, NULL, result); + "recv_accept_classify", incoming_metadata_values->transportEndpointHandle, sock_addr_ctx, NULL, result, compartment_id); Exit: NET_EBPF_EXT_LOG_EXIT(); @@ -1668,7 +1681,7 @@ net_ebpf_extension_sock_addr_authorize_connection_classify( } _net_ebpf_ext_log_sock_addr_classify( - "auth_classify", incoming_metadata_values->transportEndpointHandle, sock_addr_ctx, NULL, verdict); + "auth_classify", incoming_metadata_values->transportEndpointHandle, sock_addr_ctx, NULL, verdict, compartment_id); NET_EBPF_EXT_LOG_EXIT(); return; @@ -2023,7 +2036,8 @@ net_ebpf_extension_sock_addr_redirect_connection_classify( incoming_metadata_values->transportEndpointHandle, &sock_addr_ctx_original, redirected ? sock_addr_ctx : NULL, - verdict); + verdict, + compartment_id); Exit: if (verdict == BPF_SOCK_ADDR_VERDICT_REJECT) { From b6658a3823b366595e4b95725c4c6e283c69e027 Mon Sep 17 00:00:00 2001 From: Venkata Naga Kartik Pidatala Date: Tue, 15 Oct 2024 09:52:14 -0700 Subject: [PATCH 2/2] issue3762 - fix formatingg --- UpgradeLog.htm | 351 ------------------------- netebpfext/net_ebpf_ext_program_info.h | 4 +- netebpfext/net_ebpf_ext_sock_addr.c | 96 ++++--- 3 files changed, 63 insertions(+), 388 deletions(-) delete mode 100644 UpgradeLog.htm diff --git a/UpgradeLog.htm b/UpgradeLog.htm deleted file mode 100644 index 12c066912c..0000000000 --- a/UpgradeLog.htm +++ /dev/null @@ -1,351 +0,0 @@ - - - - Migration Report -

- Migration Report -

Overview

ProjectPathErrorsWarningsMessages
ebpf-for-windowsinstaller\ebpf-for-windows.wixproj100
apilibs\api\api.vcxproj000
api_commonlibs\api_common\api_common.vcxproj000
api_testtests\api_test\api_test.vcxproj000
bpf2ctools\bpf2c\bpf2c.vcxproj000
bpf2c_fuzzertests\libfuzzer\bpf2c_fuzzer\bpf2c_fuzzer.vcxproj000
bpf2c_plugintests\bpf2c_plugin\bpf2c_plugin.vcxproj000
bpf2c_teststests\bpf2c_tests\bpf2c_tests.vcxproj000
bpftooltools\bpftool\bpftool.vcxproj000
bpftool_teststests\bpftool_tests\bpftool_tests.vcxproj000
Catch2external\Catch2\build\src\Catch2.vcxproj000
Catch2WithMainexternal\Catch2\build\src\Catch2WithMain.vcxproj000
cilium_teststests\cilium\cilium_tests.vcxproj000
common_teststests\libs\common\common_tests.vcxproj000
connect_redirect_teststests\connect_redirect\connect_redirect_tests.vcxproj000
core_helper_fuzzertests\libfuzzer\core_helper_fuzzer\core_helper_fuzzer.vcxproj000
cxplat_winkernelexternal\usersim\cxplat\src\cxplat_winkernel\cxplat_winkernel.vcxproj000
cxplat_winuserexternal\usersim\cxplat\src\cxplat_winuser\cxplat_winuser.vcxproj000
dllsdlls000
dnsfloodtools\dnsflood\dnsflood.vcxproj000
driversdrivers000
ebpf_store_helperlibs\store_helper\user\ebpf_store_helper_um.vcxproj000
ebpf_stress_tests_kmtests\stress\km\ebpf_stress_tests_km.vcxproj000
ebpf_stress_tests_umtests\stress\um\ebpf_stress_tests_um.vcxproj000
EbpfApiebpfapi\ebpfapi.vcxproj000
EbpfCoreebpfcore\EbpfCore.vcxproj000
EbpfCore_Usersimebpfcore\usersim\EbpfCore_Usersim.vcxproj000
ebpfnetshtools\netsh\ebpfnetsh.vcxproj000
ebpfsvcebpfsvc\eBPFSvc.vcxproj000
ebpfverifierexternal\ebpf-verifier\build\ebpfverifier.vcxproj000
elf_speclibs\elf_spec\elf_spec.vcxproj000
execution_context_fuzzertests\libfuzzer\execution_context\execution_context_fuzzer.vcxproj000
execution_context_kernellibs\execution_context\kernel\execution_context_kernel.vcxproj000
execution_context_userlibs\execution_context\user\execution_context_user.vcxproj000
export_program_infotools\export_program_info\export_program_info.vcxproj000
export_program_info_sampleundocked\tools\export_program_info_sample\export_program_info_sample.vcxproj000
idlidl000
installerinstaller000
kernelkernel000
libbtfexternal\ebpf-verifier\build\external\libbtf\libbtf\libbtf.vcxproj000
libfuzzerlibfuzzer000
libslibs000
netebpfextnetebpfext\sys\netebpfext.vcxproj000
netebpfext_fuzzertests\libfuzzer\netebpfext_fuzzer\netebpfext_fuzzer.vcxproj000
netebpfext_unittests\netebpfext_unit\netebpfext_unit.vcxproj000
netebpfext_usernetebpfext\user\netebpfext_user.vcxproj000
netsh_staticlibs\ebpfnetsh\ebpfnetsh.vcxproj000
nugettools\nuget\nuget.vcxproj000
onebranchtools\onebranch\onebranch.vcxproj000
pe-parselibs\pe-parse\pe-parse.vcxproj000
performancetests\performance\performance.vcxproj000
port_leaktools\port_leak\port_leak.vcxproj000
port_quotatools\port_quota\port_quota.vcxproj000
redist-packagetools\redist-package\redist-package.vcxproj000
rpc_interfacerpc_interface\rpc_interface.vcxproj000
runtime_kernellibs\runtime\kernel\platform_kernel.vcxproj000
runtime_userlibs\runtime\user\platform_user.vcxproj000
sampletests\sample\sample.vcxproj000
sample_ebpf_extundocked\tests\sample\ext\drv\sample_ext.vcxproj000
sample_ext_apptests\sample\ext\app\sample_ext_app.vcxproj000
serviceservice000
setup_buildscripts\setup_build\setup_build.vcxproj000
shared_kernellibs\shared\kernel\shared_kernel.vcxproj000
shared_userlibs\shared\user\shared_user.vcxproj000
socket_teststests\socket\socket_tests.vcxproj000
tcp_udp_listenertests\tcp_udp_listener\tcp_udp_listener.vcxproj000
test_utiltests\libs\util\test_util.vcxproj000
teststests000
toolstools000
ubpf_kernellibs\ubpf\kernel\ubpf_kernel.vcxproj000
ubpf_userlibs\ubpf\user\ubpf_user.vcxproj000
undockedundocked000
unit_teststests\unit\test.vcxproj000
useruser000
usersimexternal\usersim\src\usersim.vcxproj000
usersim_dll_skeletonexternal\usersim\usersim_dll_skeleton\usersim_dll_skeleton.vcxproj000
verifier_fuzzertests\libfuzzer\verifier_fuzzer\verifier_fuzzer.vcxproj000
xdp_teststests\xdp\xdp_tests.vcxproj000
yaml-cppexternal\ebpf-verifier\build\yaml-cpp.vcxproj000
Solutionebpf-for-windows.sln001

Solution and projects

ebpf-for-windows

Message
installer\ebpf-for-windows.wixproj: - The application which this project type is based on was not found. Please try this link for further information: 930c7802-8a8c-48f9-8165-68863bccd9dd

api

Message
api logged no messages. -

api_common

Message
api_common logged no messages. -

api_test

Message
api_test logged no messages. -

bpf2c

Message
bpf2c logged no messages. -

bpf2c_fuzzer

Message
bpf2c_fuzzer logged no messages. -

bpf2c_plugin

Message
bpf2c_plugin logged no messages. -

bpf2c_tests

Message
bpf2c_tests logged no messages. -

bpftool

Message
bpftool logged no messages. -

bpftool_tests

Message
bpftool_tests logged no messages. -

Catch2

Message
Catch2 logged no messages. -

Catch2WithMain

Message
Catch2WithMain logged no messages. -

cilium_tests

Message
cilium_tests logged no messages. -

common_tests

Message
common_tests logged no messages. -

connect_redirect_tests

Message
connect_redirect_tests logged no messages. -

core_helper_fuzzer

Message
core_helper_fuzzer logged no messages. -

cxplat_winkernel

Message
cxplat_winkernel logged no messages. -

cxplat_winuser

Message
cxplat_winuser logged no messages. -

dlls

Message
dlls logged no messages. -

dnsflood

Message
dnsflood logged no messages. -

drivers

Message
drivers logged no messages. -

ebpf_store_helper

Message
ebpf_store_helper logged no messages. -

ebpf_stress_tests_km

Message
ebpf_stress_tests_km logged no messages. -

ebpf_stress_tests_um

Message
ebpf_stress_tests_um logged no messages. -

EbpfApi

Message
EbpfApi logged no messages. -

EbpfCore

Message
EbpfCore logged no messages. -

EbpfCore_Usersim

Message
EbpfCore_Usersim logged no messages. -

ebpfnetsh

Message
ebpfnetsh logged no messages. -

ebpfsvc

Message
ebpfsvc logged no messages. -

ebpfverifier

Message
ebpfverifier logged no messages. -

elf_spec

Message
elf_spec logged no messages. -

execution_context_fuzzer

Message
execution_context_fuzzer logged no messages. -

execution_context_kernel

Message
execution_context_kernel logged no messages. -

execution_context_user

Message
execution_context_user logged no messages. -

export_program_info

Message
export_program_info logged no messages. -

export_program_info_sample

Message
export_program_info_sample logged no messages. -

idl

Message
idl logged no messages. -

installer

Message
installer logged no messages. -

kernel

Message
kernel logged no messages. -

libbtf

Message
libbtf logged no messages. -

libfuzzer

Message
libfuzzer logged no messages. -

libs

Message
libs logged no messages. -

netebpfext

Message
netebpfext logged no messages. -

netebpfext_fuzzer

Message
netebpfext_fuzzer logged no messages. -

netebpfext_unit

Message
netebpfext_unit logged no messages. -

netebpfext_user

Message
netebpfext_user logged no messages. -

netsh_static

Message
netsh_static logged no messages. -

nuget

Message
nuget logged no messages. -

onebranch

Message
onebranch logged no messages. -

pe-parse

Message
pe-parse logged no messages. -

performance

Message
performance logged no messages. -

port_leak

Message
port_leak logged no messages. -

port_quota

Message
port_quota logged no messages. -

redist-package

Message
redist-package logged no messages. -

rpc_interface

Message
rpc_interface logged no messages. -

runtime_kernel

Message
runtime_kernel logged no messages. -

runtime_user

Message
runtime_user logged no messages. -

sample

Message
sample logged no messages. -

sample_ebpf_ext

Message
sample_ebpf_ext logged no messages. -

sample_ext_app

Message
sample_ext_app logged no messages. -

service

Message
service logged no messages. -

setup_build

Message
setup_build logged no messages. -

shared_kernel

Message
shared_kernel logged no messages. -

shared_user

Message
shared_user logged no messages. -

socket_tests

Message
socket_tests logged no messages. -

tcp_udp_listener

Message
tcp_udp_listener logged no messages. -

test_util

Message
test_util logged no messages. -

tests

Message
tests logged no messages. -

tools

Message
tools logged no messages. -

ubpf_kernel

Message
ubpf_kernel logged no messages. -

ubpf_user

Message
ubpf_user logged no messages. -

undocked

Message
undocked logged no messages. -

unit_tests

Message
unit_tests logged no messages. -

user

Message
user logged no messages. -

usersim

Message
usersim logged no messages. -

usersim_dll_skeleton

Message
usersim_dll_skeleton logged no messages. -

verifier_fuzzer

Message
verifier_fuzzer logged no messages. -

xdp_tests

Message
xdp_tests logged no messages. -

yaml-cpp

Message
yaml-cpp logged no messages. -

Solution

Message
- Show 1 additional messages -
ebpf-for-windows.sln: - The solution file does not require migration.
- Hide 1 additional messages -
\ No newline at end of file diff --git a/netebpfext/net_ebpf_ext_program_info.h b/netebpfext/net_ebpf_ext_program_info.h index dd54130b65..541e6723c4 100644 --- a/netebpfext/net_ebpf_ext_program_info.h +++ b/netebpfext/net_ebpf_ext_program_info.h @@ -110,7 +110,7 @@ static const ebpf_helper_function_prototype_t _ebpf_sock_addr_global_helper_func .helper_id = BPF_FUNC_get_current_pid_tgid, .name = "bpf_get_current_pid_tgid", .return_type = EBPF_RETURN_TYPE_INTEGER, - .arguments = {0}, + .arguments = {}, .implicit_context = true}, {EBPF_HELPER_FUNCTION_PROTOTYPE_HEADER, BPF_FUNC_get_current_logon_id, @@ -204,7 +204,7 @@ static const ebpf_helper_function_prototype_t _ebpf_sock_ops_global_helper_funct .helper_id = BPF_FUNC_get_current_pid_tgid, .name = "bpf_get_current_pid_tgid", .return_type = EBPF_RETURN_TYPE_INTEGER, - .arguments = {0}, + .arguments = {}, .implicit_context = true}}; static const ebpf_program_info_t _ebpf_sock_ops_program_info = { EBPF_PROGRAM_INFORMATION_HEADER, diff --git a/netebpfext/net_ebpf_ext_sock_addr.c b/netebpfext/net_ebpf_ext_sock_addr.c index 995c90a4e2..3ab6250ca0 100644 --- a/netebpfext/net_ebpf_ext_sock_addr.c +++ b/netebpfext/net_ebpf_ext_sock_addr.c @@ -25,40 +25,56 @@ #define NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE "NetEbpfExtSockAddrClassify" -#define NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV4( \ - trace_level, message, handle, protocol, source_ip, source_port, destination_ip, destination_port, verdict, \ - compartment_id) \ - TraceLoggingWrite( \ - net_ebpf_ext_tracelog_provider, \ - NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE, \ - TraceLoggingLevel(trace_level), \ - TraceLoggingKeyword(NET_EBPF_EXT_TRACELOG_KEYWORD_SOCK_ADDR), \ - TraceLoggingString((message), "message"), \ - TraceLoggingUInt64((handle), "transport_endpoint_handle"), \ - TraceLoggingUInt64((protocol), "protocol"), \ - TraceLoggingIPv4Address((source_ip), "source_ip"), \ - TraceLoggingUInt16((source_port), "source_port"), \ - TraceLoggingIPv4Address((destination_ip), "destination_ip"), \ - TraceLoggingUInt16((destination_port), "destination_port"), \ - TraceLoggingUInt32((verdict), "verdict"), \ +#define NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV4( \ + trace_level, \ + message, \ + handle, \ + protocol, \ + source_ip, \ + source_port, \ + destination_ip, \ + destination_port, \ + verdict, \ + compartment_id) \ + TraceLoggingWrite( \ + net_ebpf_ext_tracelog_provider, \ + NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE, \ + TraceLoggingLevel(trace_level), \ + TraceLoggingKeyword(NET_EBPF_EXT_TRACELOG_KEYWORD_SOCK_ADDR), \ + TraceLoggingString((message), "message"), \ + TraceLoggingUInt64((handle), "transport_endpoint_handle"), \ + TraceLoggingUInt64((protocol), "protocol"), \ + TraceLoggingIPv4Address((source_ip), "source_ip"), \ + TraceLoggingUInt16((source_port), "source_port"), \ + TraceLoggingIPv4Address((destination_ip), "destination_ip"), \ + TraceLoggingUInt16((destination_port), "destination_port"), \ + TraceLoggingUInt32((verdict), "verdict"), \ TraceLoggingUInt32((compartment_id), "compartment_id")); -#define NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV6( \ - trace_level, message, handle, protocol, source_ip, source_port, destination_ip, destination_port, verdict, \ - compartment_id) \ - TraceLoggingWrite( \ - net_ebpf_ext_tracelog_provider, \ - NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE, \ - TraceLoggingLevel(trace_level), \ - TraceLoggingKeyword(NET_EBPF_EXT_TRACELOG_KEYWORD_SOCK_ADDR), \ - TraceLoggingString((message), "message"), \ - TraceLoggingUInt64((handle), "transport_endpoint_handle"), \ - TraceLoggingUInt64((protocol), "protocol"), \ - TraceLoggingIPv6Address((source_ip), "source_ip"), \ - TraceLoggingUInt16((source_port), "source_port"), \ - TraceLoggingIPv6Address((destination_ip), "destination_ip"), \ - TraceLoggingUInt16((destination_port), "destination_port"), \ - TraceLoggingUInt32((verdict), "verdict"), \ +#define NET_EBPF_EXT_LOG_SOCK_ADDR_CLASSIFY_IPV6( \ + trace_level, \ + message, \ + handle, \ + protocol, \ + source_ip, \ + source_port, \ + destination_ip, \ + destination_port, \ + verdict, \ + compartment_id) \ + TraceLoggingWrite( \ + net_ebpf_ext_tracelog_provider, \ + NET_EBPF_EXT_SOCK_ADDR_CLASSIFY_MESSAGE, \ + TraceLoggingLevel(trace_level), \ + TraceLoggingKeyword(NET_EBPF_EXT_TRACELOG_KEYWORD_SOCK_ADDR), \ + TraceLoggingString((message), "message"), \ + TraceLoggingUInt64((handle), "transport_endpoint_handle"), \ + TraceLoggingUInt64((protocol), "protocol"), \ + TraceLoggingIPv6Address((source_ip), "source_ip"), \ + TraceLoggingUInt16((source_port), "source_port"), \ + TraceLoggingIPv6Address((destination_ip), "destination_ip"), \ + TraceLoggingUInt16((destination_port), "destination_port"), \ + TraceLoggingUInt32((verdict), "verdict"), \ TraceLoggingUInt32((compartment_id), "compartment_id")); #define NET_EBPF_EXT_SOCK_ADDR_REDIRECT_MESSAGE "NetEbpfExtSockAddrRedirect" @@ -89,7 +105,7 @@ TraceLoggingUInt16((destination_port), "destination_port"), \ TraceLoggingIPv4Address((redirected_ip), "redirected_ip"), \ TraceLoggingUInt16((redirected_port), "redirected_port"), \ - TraceLoggingUInt64((verdict), "verdict") \ + TraceLoggingUInt64((verdict), "verdict"), \ TraceLoggingUInt32((compartment_id), "compartment_id")); #define NET_EBPF_EXT_LOG_SOCK_ADDR_REDIRECT_CLASSIFY_IPV6( \ @@ -1602,7 +1618,12 @@ net_ebpf_extension_sock_addr_authorize_recv_accept_classify( } _net_ebpf_ext_log_sock_addr_classify( - "recv_accept_classify", incoming_metadata_values->transportEndpointHandle, sock_addr_ctx, NULL, result, compartment_id); + "recv_accept_classify", + incoming_metadata_values->transportEndpointHandle, + sock_addr_ctx, + NULL, + result, + compartment_id); Exit: NET_EBPF_EXT_LOG_EXIT(); @@ -1681,7 +1702,12 @@ net_ebpf_extension_sock_addr_authorize_connection_classify( } _net_ebpf_ext_log_sock_addr_classify( - "auth_classify", incoming_metadata_values->transportEndpointHandle, sock_addr_ctx, NULL, verdict, compartment_id); + "auth_classify", + incoming_metadata_values->transportEndpointHandle, + sock_addr_ctx, + NULL, + verdict, + compartment_id); NET_EBPF_EXT_LOG_EXIT(); return;