Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Winkernel to use xdp datapath #4654

Open
wants to merge 52 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
92cb8a8
Kernel Platform Worker Support
nibanks Oct 9, 2024
3b8a0b6
more SAL
nibanks Oct 9, 2024
265ab8e
Fixes
nibanks Oct 9, 2024
1f47cd4
minor refactor
nibanks Oct 9, 2024
47505ab
Start the worker pool
nibanks Oct 10, 2024
a10451c
Merge branch 'main' into nibanks/kernel-platform-worker
nibanks Nov 3, 2024
7d7e3f2
Remove extra variable
nibanks Nov 3, 2024
b332a71
merge winkernel and dummy datapath
ami-GS Nov 11, 2024
91d4cc1
fix
ami-GS Nov 11, 2024
22924dd
flag to identify datapath
ami-GS Nov 11, 2024
866179e
Merge branch 'main' into dev/daiki/winkernel_merging
ami-GS Nov 12, 2024
7cdc727
trailing newline
ami-GS Nov 12, 2024
e186b59
Merge branch 'main' into nibanks/kernel-platform-worker
nibanks Nov 13, 2024
3569672
Merge branch 'nibanks/kernel-platform-worker' of https://github.com/m…
nibanks Nov 13, 2024
56c8ce0
Merge branch 'main' into dev/daiki/winkernel_merging
ami-GS Nov 14, 2024
84593b2
use common members
ami-GS Nov 14, 2024
1a363f1
cleanup
ami-GS Nov 19, 2024
75cfc74
change dp type naming
ami-GS Nov 19, 2024
70fdaca
fix type and refactoring
ami-GS Nov 19, 2024
d67a79b
fix
ami-GS Nov 19, 2024
ca42af4
assemble definition in same ifdef
ami-GS Nov 20, 2024
93cda23
try using latest xdp
ami-GS Nov 12, 2024
8d627d6
build
ami-GS Nov 12, 2024
aba07ac
adjust newer xdp api restriction
ami-GS Nov 12, 2024
70ff428
remove XDP_ASSERT_INTERNAL
ami-GS Nov 13, 2024
7fe7903
build with placeholders
ami-GS Nov 13, 2024
a127407
use named branch
ami-GS Nov 13, 2024
ac86872
update xdp-for-windows directly
ami-GS Nov 14, 2024
a8a81e1
move macro definition to code
ami-GS Nov 14, 2024
b89d1db
install built xdp
ami-GS Nov 14, 2024
83b37b1
download prerelease
ami-GS Nov 14, 2024
2f1dac7
signing
ami-GS Nov 14, 2024
37a4f13
tmp
ami-GS Nov 20, 2024
58c1a6f
FIX?
ami-GS Nov 21, 2024
507f020
ending by newline
ami-GS Nov 22, 2024
b375145
Merge branch 'dev/daiki/winkernel_merging' into dev/daiki/winkernel_m…
ami-GS Nov 22, 2024
e16934d
kernel build fix
ami-GS Nov 25, 2024
b1b8402
enable XDP for kernel
ami-GS Nov 25, 2024
ba3423c
Merge branch 'main' into dev/daiki/winkernel_merging_exp
ami-GS Nov 25, 2024
99a9aac
update clog
ami-GS Nov 26, 2024
32d778f
fix several access violation
ami-GS Nov 27, 2024
f277b67
Merge branch 'main' into dev/daiki/winkernel_merging_exp
ami-GS Nov 27, 2024
f6bc45c
Merge branch 'nibanks/kernel-platform-worker' into dev/daiki/winkerne…
ami-GS Nov 27, 2024
6c1b53c
unify datapath_raw_winXXX
ami-GS Nov 27, 2024
fd92152
add logging
ami-GS Nov 28, 2024
b906cbe
Set Rx event. experimental
ami-GS Dec 10, 2024
107fb42
Merge branch 'main' into dev/daiki/winkernel_merging_exp
ami-GS Dec 10, 2024
05ca68f
rmeove macro
ami-GS Dec 10, 2024
2766546
fix usermode build
ami-GS Dec 10, 2024
33fcea4
remove ZwSetInformationFile from CxPlatXdpExecute
ami-GS Dec 11, 2024
e4c8271
fix interface init phase with proper flag and error code
ami-GS Dec 13, 2024
6cd0fee
make status code valid for both user/kernel
ami-GS Dec 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ jobs:
fail-fast: false
matrix:
vec: [
{ config: "Debug", plat: "winkernel", os: "windows-2022", arch: "x64", tls: "schannel", build: "-Test", xdp: "-UseXdp" },
{ config: "Release", plat: "winkernel", os: "windows-2022", arch: "x64", tls: "schannel", build: "-Test", xdp: "-UseXdp" },
{ config: "Debug", plat: "winkernel", os: "windows-2022", arch: "x64", tls: "schannel", build: "-Test" },
{ config: "Release", plat: "winkernel", os: "windows-2022", arch: "x64", tls: "schannel", build: "-Test" },
{ config: "Debug", plat: "winkernel", os: "WinServerPrerelease", arch: "x64", tls: "schannel", build: "-Test" },
Expand All @@ -208,7 +210,7 @@ jobs:
path: artifacts
- name: Prepare Machine
shell: pwsh
run: scripts/prepare-machine.ps1 -ForTest -ForKernel
run: scripts/prepare-machine.ps1 -ForTest -ForKernel ${{ matrix.vec.xdp }}
- name: Install ETW Manifest
shell: pwsh
run: |
Expand All @@ -219,12 +221,12 @@ jobs:
- name: Test
shell: pwsh
timeout-minutes: 90
run: scripts/test.ps1 -Config ${{ matrix.vec.config }} -Arch ${{ matrix.vec.arch }} -Tls ${{ matrix.vec.tls }} -OsRunner ${{ matrix.vec.os }} -GHA -LogProfile Full.Light -GenerateXmlResults -Kernel -Filter -*ValidateConfiguration:*ValidAlpnLengths:*ResumeRejection*:*ClientCertificate*:*LoadBalanced*
run: scripts/test.ps1 -Config ${{ matrix.vec.config }} -Arch ${{ matrix.vec.arch }} -Tls ${{ matrix.vec.tls }} -OsRunner ${{ matrix.vec.os }} ${{ matrix.vec.xdp }} -GHA -LogProfile Full.Light -GenerateXmlResults -Kernel -Filter -*ValidateConfiguration:*ValidAlpnLengths:*ResumeRejection*:*ClientCertificate*:*LoadBalanced*
- name: Upload on Failure
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
if: failure()
with:
name: BVT-Kernel-${{ matrix.vec.config }}-${{ matrix.vec.plat }}-${{ matrix.vec.os }}-${{ matrix.vec.arch }}-${{ matrix.vec.tls }}
name: BVT-Kernel-${{ matrix.vec.config }}-${{ matrix.vec.plat }}-${{ matrix.vec.os }}-${{ matrix.vec.arch }}-${{ matrix.vec.tls }}${{ matrix.vec.xdp }}
path: artifacts

interop-winlatest:
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
[submodule "submodules/xdp-for-windows"]
path = submodules/xdp-for-windows
url = https://github.com/microsoft/xdp-for-windows.git
branch = release/1.0
branch = dev/daiki/xdp_api_v3
5 changes: 4 additions & 1 deletion scripts/clog.inputs
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@
../src/platform/datapath_xplat.c
../src/platform/datapath_raw_dpdk.c
../src/platform/datapath_raw_socket.c
../src/platform/datapath_raw_socket_common.c
../src/platform/datapath_raw_socket_win.c
../src/platform/datapath_raw_socket_winuser.c
../src/platform/datapath_raw_socket_linux.c
../src/platform/datapath_raw_xdp_win.c
../src/platform/datapath_raw_xdp_winuser.c
../src/platform/datapath_raw_xdp_winkernel.c
../src/platform/datapath_raw_xdp_linux.c
../src/platform/datapath_raw_win.c
../src/platform/datapath_raw_linux.c
Expand Down
8 changes: 8 additions & 0 deletions scripts/prepare-machine.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,17 @@ function Install-SigningCertificates {
# NB: XDP can be uninstalled via Uninstall-Xdp
function Install-Xdp-Driver {
if (!$IsWindows) { return } # Windows only
# Install VCRT. Not required for official XDP builds.
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"
Start-Process -FilePath "vc_redist.x64.exe" -ArgumentList "/install /quiet /norestart" -Wait -NoNewWindow

Write-Host "Downloading XDP msi"
$MsiPath = Join-Path $ArtifactsPath "xdp.msi"
Invoke-WebRequest -Uri (Get-Content (Join-Path $PSScriptRoot "xdp.json") | ConvertFrom-Json).installer -OutFile $MsiPath
$CertFileName = 'xdp.cer'
Get-AuthenticodeSignature $MsiPath | Select-Object -ExpandProperty SignerCertificate | Export-Certificate -Type CERT -FilePath $CertFileName
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\root'
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\trustedpublisher'
Write-Host "Installing XDP driver"
msiexec.exe /i $MsiPath /quiet | Out-Null
}
Expand Down
8 changes: 8 additions & 0 deletions scripts/quic_callback.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,18 @@ if ($Command.Contains("/home/secnetperf/_work/quic/artifacts/bin/linux/x64_Relea
./artifacts/bin/windows/x64_Release_schannel/secnetperf -exec:$mode -io:$io -stats:$stats
} elseif ($Command.Contains("Install_XDP")) {
Write-Host "Executing command: Install_XDP"
# Install VCRT. Not required for official XDP builds.
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"
Start-Process -FilePath "vc_redist.x64.exe" -ArgumentList "/install /quiet /norestart" -Wait -NoNewWindow

Write-Host "(SERVER) Downloading XDP installer"
$installerUri = $Command.Split(";")[1]
$msiPath = Repo-Path "xdp.msi"
Invoke-WebRequest -Uri $installerUri -OutFile $msiPath -UseBasicParsing
$CertFileName = 'xdp.cer'
Get-AuthenticodeSignature $msiPath | Select-Object -ExpandProperty SignerCertificate | Export-Certificate -Type CERT -FilePath $CertFileName
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\root'
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\trustedpublisher'
Write-Host "(SERVER) Installing XDP. Msi path: $msiPath"
msiexec.exe /i $msiPath /quiet | Out-Host
Wait-DriverStarted "xdp" 10000
Expand Down
16 changes: 16 additions & 0 deletions scripts/secnetperf-helpers.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,19 @@ function Wait-DriverStarted {
# Download and install XDP on both local and remote machines.
function Install-XDP {
param ($Session, $RemoteDir)
# Install VCRT. Not required for official XDP builds.
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"
Start-Process -FilePath "vc_redist.x64.exe" -ArgumentList "/install /quiet /norestart" -Wait -NoNewWindow

$installerUri = (Get-Content (Join-Path $PSScriptRoot "xdp.json") | ConvertFrom-Json).installer
$msiPath = Repo-Path "artifacts/xdp.msi"
Write-Host "Downloading XDP installer"
whoami
Invoke-WebRequest -Uri $installerUri -OutFile $msiPath -UseBasicParsing
$CertFileName = 'xdp.cer'
Get-AuthenticodeSignature $msiPath | Select-Object -ExpandProperty SignerCertificate | Export-Certificate -Type CERT -FilePath $CertFileName
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\root'
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\trustedpublisher'
Write-Host "Installing XDP driver locally"
msiexec.exe /i $msiPath /quiet | Out-Null
$Size = Get-FileHash $msiPath
Expand All @@ -157,6 +165,14 @@ function Install-XDP {
Copy-Item -ToSession $Session $msiPath -Destination $remoteMsiPath
$WaitDriverStartedStr = "${function:Wait-DriverStarted}"
Invoke-Command -Session $Session -ScriptBlock {
# Install VCRT. Not required for official XDP builds.
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"
Start-Process -FilePath "vc_redist.x64.exe" -ArgumentList "/install /quiet /norestart" -Wait -NoNewWindow

$CertFileName = 'xdp.cer'
Get-AuthenticodeSignature $Using:remoteMsiPath | Select-Object -ExpandProperty SignerCertificate | Export-Certificate -Type CERT -FilePath $CertFileName
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\root'
Import-Certificate -FilePath $CertFileName -CertStoreLocation 'cert:\localmachine\trustedpublisher'
msiexec.exe /i $Using:remoteMsiPath /quiet | Out-Host
$WaitDriverStarted = [scriptblock]::Create($Using:WaitDriverStartedStr)
& $WaitDriverStarted xdp 10000
Expand Down
2 changes: 1 addition & 1 deletion scripts/xdp.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"installer": "https://github.com/microsoft/xdp-for-windows/releases/download/v1.0.1/xdp-for-windows.1.0.1.msi"
"installer": "https://github.com/microsoft/xdp-for-windows/releases/download/v1.1.0%2B2886c03f/xdp-for-windows.x64.1.1.0.msi"
}
14 changes: 12 additions & 2 deletions src/bin/winkernel/msquic.kernel.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,12 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\inc;$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
..\..\inc;
$(SolutionDir)submodules\xdp-for-windows\published\external;
$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;
$(IntDir);%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalOptions Condition="'$(Platform)'!='x64'">/Gw /kernel /ZH:SHA_256</AdditionalOptions>
Expand All @@ -105,7 +110,12 @@
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\inc;$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;$(UM_IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
..\..\inc;
$(SolutionDir)submodules\xdp-for-windows\published\external;
$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;
$(UM_IncludePath);%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
Expand Down
15 changes: 13 additions & 2 deletions src/bin/winkernel/msquicpriv.kernel.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,12 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\inc;$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
..\..\inc;
$(SolutionDir)submodules\xdp-for-windows\published\external;
$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;
$(IntDir);%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalOptions Condition="'$(Platform)'!='x64'">/Gw /kernel /ZH:SHA_256</AdditionalOptions>
Expand All @@ -105,7 +110,13 @@
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\inc;$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;$(UM_IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
..\..\inc;
$(SolutionDir)submodules\xdp-for-windows\published\external;
$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;
$(UM_IncludePath);
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
Expand Down
7 changes: 6 additions & 1 deletion src/core/core.kernel.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,12 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\inc;$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
..\inc;
$(SolutionDir)submodules\xdp-for-windows\published\external;
$(SolutionDir)build\winkernel\$(Platform)_$(Configuration)_schannel\inc;
$(IntDir);%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalOptions Condition="'$(Platform)'!='x64'">/Gw /kernel /ZH:SHA_256</AdditionalOptions>
Expand Down
5 changes: 1 addition & 4 deletions src/core/worker.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,10 @@ QuicWorkerInitialize(
Worker->ExecutionContext.NextTimeUs = UINT64_MAX;
Worker->ExecutionContext.Ready = TRUE;

#ifndef _KERNEL_MODE // Not supported on kernel mode
if (ExecProfile != QUIC_EXECUTION_PROFILE_TYPE_MAX_THROUGHPUT) {
Worker->IsExternal = TRUE;
CxPlatAddExecutionContext(&MsQuicLib.WorkerPool, &Worker->ExecutionContext, PartitionIndex);
} else
#endif // _KERNEL_MODE
{
} else {
uint16_t ThreadFlags;
switch (ExecProfile) {
default:
Expand Down
36 changes: 6 additions & 30 deletions src/generated/linux/datapath_raw_socket.c.clog.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@
#include "datapath_raw_socket.c.clog.h.lttng.h"
#endif
#include <lttng/tracepoint-event.h>
#ifndef _clog_MACRO_QuicTraceLogVerbose
#define _clog_MACRO_QuicTraceLogVerbose 1
#define QuicTraceLogVerbose(a, ...) _clog_CAT(_clog_ARGN_SELECTOR(__VA_ARGS__), _clog_CAT(_,a(#a, __VA_ARGS__)))
#endif
#ifndef _clog_MACRO_QuicTraceLogConnInfo
#define _clog_MACRO_QuicTraceLogConnInfo 1
#define QuicTraceLogConnInfo(a, ...) _clog_CAT(_clog_ARGN_SELECTOR(__VA_ARGS__), _clog_CAT(_,a(#a, __VA_ARGS__)))
Expand All @@ -29,26 +25,6 @@
#ifdef __cplusplus
extern "C" {
#endif
/*----------------------------------------------------------
// Decoder Ring for DatapathTcpAuxBinding
// [data][%p] Binding TCP socket to %s
// QuicTraceLogVerbose(
DatapathTcpAuxBinding,
"[data][%p] Binding TCP socket to %s",
Socket,
LocalAddressString.Address);
// arg2 = arg2 = Socket = arg2
// arg3 = arg3 = LocalAddressString.Address = arg3
----------------------------------------------------------*/
#ifndef _clog_4_ARGS_TRACE_DatapathTcpAuxBinding
#define _clog_4_ARGS_TRACE_DatapathTcpAuxBinding(uniqueId, encoded_arg_string, arg2, arg3)\
tracepoint(CLOG_DATAPATH_RAW_SOCKET_C, DatapathTcpAuxBinding , arg2, arg3);\

#endif




/*----------------------------------------------------------
// Decoder Ring for RouteResolutionEnd
// [conn][%p] Route resolution completed on Path[%hhu] with L2 address %hhx:%hhx:%hhx:%hhx:%hhx:%hhx
Expand Down Expand Up @@ -87,12 +63,12 @@ tracepoint(CLOG_DATAPATH_RAW_SOCKET_C, RouteResolutionEnd , arg1, arg3, arg4, ar
// QuicTraceEvent(
DatapathErrorStatus,
"[data][%p] ERROR, %u, %s.",
Socket,
Error,
"closesocket");
// arg2 = arg2 = Socket = arg2
// arg3 = arg3 = Error = arg3
// arg4 = arg4 = "closesocket" = arg4
Datapath,
Length,
"packet is too small for a UDP header");
// arg2 = arg2 = Datapath = arg2
// arg3 = arg3 = Length = arg3
// arg4 = arg4 = "packet is too small for a UDP header" = arg4
----------------------------------------------------------*/
#ifndef _clog_5_ARGS_TRACE_DatapathErrorStatus
#define _clog_5_ARGS_TRACE_DatapathErrorStatus(uniqueId, encoded_arg_string, arg2, arg3, arg4)\
Expand Down
35 changes: 6 additions & 29 deletions src/generated/linux/datapath_raw_socket.c.clog.h.lttng.h
Original file line number Diff line number Diff line change
@@ -1,29 +1,6 @@



/*----------------------------------------------------------
// Decoder Ring for DatapathTcpAuxBinding
// [data][%p] Binding TCP socket to %s
// QuicTraceLogVerbose(
DatapathTcpAuxBinding,
"[data][%p] Binding TCP socket to %s",
Socket,
LocalAddressString.Address);
// arg2 = arg2 = Socket = arg2
// arg3 = arg3 = LocalAddressString.Address = arg3
----------------------------------------------------------*/
TRACEPOINT_EVENT(CLOG_DATAPATH_RAW_SOCKET_C, DatapathTcpAuxBinding,
TP_ARGS(
const void *, arg2,
const char *, arg3),
TP_FIELDS(
ctf_integer_hex(uint64_t, arg2, (uint64_t)arg2)
ctf_string(arg3, arg3)
)
)



/*----------------------------------------------------------
// Decoder Ring for RouteResolutionEnd
// [conn][%p] Route resolution completed on Path[%hhu] with L2 address %hhx:%hhx:%hhx:%hhx:%hhx:%hhx
Expand Down Expand Up @@ -77,12 +54,12 @@ TRACEPOINT_EVENT(CLOG_DATAPATH_RAW_SOCKET_C, RouteResolutionEnd,
// QuicTraceEvent(
DatapathErrorStatus,
"[data][%p] ERROR, %u, %s.",
Socket,
Error,
"closesocket");
// arg2 = arg2 = Socket = arg2
// arg3 = arg3 = Error = arg3
// arg4 = arg4 = "closesocket" = arg4
Datapath,
Length,
"packet is too small for a UDP header");
// arg2 = arg2 = Datapath = arg2
// arg3 = arg3 = Length = arg3
// arg4 = arg4 = "packet is too small for a UDP header" = arg4
----------------------------------------------------------*/
TRACEPOINT_EVENT(CLOG_DATAPATH_RAW_SOCKET_C, DatapathErrorStatus,
TP_ARGS(
Expand Down
75 changes: 75 additions & 0 deletions src/generated/linux/datapath_raw_socket_common.c.clog.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#ifndef CLOG_DO_NOT_INCLUDE_HEADER
#include <clog.h>
#endif
#undef TRACEPOINT_PROVIDER
#define TRACEPOINT_PROVIDER CLOG_DATAPATH_RAW_SOCKET_COMMON_C
#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE
#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE
#undef TRACEPOINT_INCLUDE
#define TRACEPOINT_INCLUDE "datapath_raw_socket_common.c.clog.h.lttng.h"
#if !defined(DEF_CLOG_DATAPATH_RAW_SOCKET_COMMON_C) || defined(TRACEPOINT_HEADER_MULTI_READ)
#define DEF_CLOG_DATAPATH_RAW_SOCKET_COMMON_C
#include <lttng/tracepoint.h>
#define __int64 __int64_t
#include "datapath_raw_socket_common.c.clog.h.lttng.h"
#endif
#include <lttng/tracepoint-event.h>
#ifndef _clog_MACRO_QuicTraceLogVerbose
#define _clog_MACRO_QuicTraceLogVerbose 1
#define QuicTraceLogVerbose(a, ...) _clog_CAT(_clog_ARGN_SELECTOR(__VA_ARGS__), _clog_CAT(_,a(#a, __VA_ARGS__)))
#endif
#ifndef _clog_MACRO_QuicTraceEvent
#define _clog_MACRO_QuicTraceEvent 1
#define QuicTraceEvent(a, ...) _clog_CAT(_clog_ARGN_SELECTOR(__VA_ARGS__), _clog_CAT(_,a(#a, __VA_ARGS__)))
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*----------------------------------------------------------
// Decoder Ring for DatapathTcpAuxBinding
// [data][%p] Binding TCP socket to %s
// QuicTraceLogVerbose(
DatapathTcpAuxBinding,
"[data][%p] Binding TCP socket to %s",
Socket,
LocalAddressString.Address);
// arg2 = arg2 = Socket = arg2
// arg3 = arg3 = LocalAddressString.Address = arg3
----------------------------------------------------------*/
#ifndef _clog_4_ARGS_TRACE_DatapathTcpAuxBinding
#define _clog_4_ARGS_TRACE_DatapathTcpAuxBinding(uniqueId, encoded_arg_string, arg2, arg3)\
tracepoint(CLOG_DATAPATH_RAW_SOCKET_COMMON_C, DatapathTcpAuxBinding , arg2, arg3);\

#endif




/*----------------------------------------------------------
// Decoder Ring for DatapathErrorStatus
// [data][%p] ERROR, %u, %s.
// QuicTraceEvent(
DatapathErrorStatus,
"[data][%p] ERROR, %u, %s.",
Socket,
Error,
"closesocket");
// arg2 = arg2 = Socket = arg2
// arg3 = arg3 = Error = arg3
// arg4 = arg4 = "closesocket" = arg4
----------------------------------------------------------*/
#ifndef _clog_5_ARGS_TRACE_DatapathErrorStatus
#define _clog_5_ARGS_TRACE_DatapathErrorStatus(uniqueId, encoded_arg_string, arg2, arg3, arg4)\
tracepoint(CLOG_DATAPATH_RAW_SOCKET_COMMON_C, DatapathErrorStatus , arg2, arg3, arg4);\

#endif




#ifdef __cplusplus
}
#endif
#ifdef CLOG_INLINE_IMPLEMENTATION
#include "quic.clog_datapath_raw_socket_common.c.clog.h.c"
#endif
Loading
Loading