Skip to content

Commit

Permalink
Submodule XDP
Browse files Browse the repository at this point in the history
  • Loading branch information
nibanks committed Nov 22, 2023
1 parent 332c1cc commit 4e8b1e2
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 33 deletions.
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,7 @@
[submodule "submodules/clog"]
path = submodules/clog
url = https://github.com/microsoft/CLOG.git
[submodule "submodules/xdp-for-windows"]
path = submodules/xdp-for-windows
url = https://github.com/microsoft/xdp-for-windows.git
branch = release/1.0
37 changes: 5 additions & 32 deletions scripts/prepare-machine.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,6 @@ param (
[Parameter(Mandatory = $false)]
[switch]$InstallJom,

[Parameter(Mandatory = $false)]
[switch]$InstallXdpSdk,

[Parameter(Mandatory = $false)]
[switch]$UseXdp,

Expand Down Expand Up @@ -123,7 +120,6 @@ if ($ForBuild) {
# enabled for any possible build.
$InstallNasm = $true
$InstallJom = $true
$InstallXdpSdk = $true
$InstallCoreNetCiDeps = $true; # For kernel signing certs
}

Expand Down Expand Up @@ -151,8 +147,6 @@ if ($ForTest) {
}

if ($InstallXdpDriver) {
# The XDP SDK contains XDP driver, so ensure it's downloaded.
$InstallXdpSdk = $true
$InstallSigningCertificates = $true;
}

Expand Down Expand Up @@ -211,26 +205,6 @@ function Install-SigningCertificates {
}
}

# Downloads the latest version of XDP (for building).
function Install-Xdp-Sdk {
if (!$IsWindows) { return } # Windows only
$XdpPath = Join-Path $ArtifactsPath "xdp"
if ($Force) {
rm -Force -Recurse $XdpPath -ErrorAction Ignore | Out-Null
}
if (!(Test-Path $XdpPath)) {
Write-Host "Downloading XDP kit"
$ZipPath = Join-Path $ArtifactsPath "xdp.zip"
Invoke-WebRequest -Uri (Get-Content (Join-Path $PSScriptRoot "xdp.json") | ConvertFrom-Json).kit -OutFile $ZipPath
Write-Host "Extracting XDP kit"
Expand-Archive -Path $ZipPath -DestinationPath $XdpPath -Force
New-Item -Path "$ArtifactsPath\bin\xdp" -ItemType Directory -Force
Copy-Item -Path "$XdpPath\symbols\*" -Destination "$ArtifactsPath\bin\xdp" -Force
Copy-Item -Path "$XdpPath\bin\*" -Destination "$ArtifactsPath\bin\xdp" -Force
Remove-Item -Path $ZipPath
}
}

# Installs the XDP driver (for testing).
# NB: XDP can be uninstalled via Uninstall-Xdp
function Install-Xdp-Driver {
Expand All @@ -250,11 +224,6 @@ function Uninstall-Xdp {
Write-Host "Uninstalling XDP driver"
try { msiexec.exe /x $MsiPath /quiet | Out-Null } catch {}
}
$XdpPath = Join-Path $ArtifactsPath "xdp"
if (Test-Path $XdpPath) {
Write-Host "Deleting XDP kit"
rm -Force -Recurse $XdpPath -ErrorAction Ignore | Out-Null
}
}

# Installs DuoNic from the CoreNet-CI repo.
Expand Down Expand Up @@ -478,6 +447,11 @@ if ($ForBuild -or $ForContainerBuild) {
Write-Host "Initializing clog submodule"
git submodule init submodules/clog

if (!$IsLinux) {
Write-Host "Initializing XDP-for-Windows submodule"
git submodule init submodules/xdp-for-windows
}

if ($Tls -eq "openssl") {
Write-Host "Initializing openssl submodule"
git submodule init submodules/openssl
Expand All @@ -499,7 +473,6 @@ if ($ForBuild -or $ForContainerBuild) {
if ($InstallCoreNetCiDeps) { Download-CoreNet-Deps }
if ($InstallSigningCertificates) { Install-SigningCertificates }
if ($InstallDuoNic) { Install-DuoNic }
if ($InstallXdpSdk) { Install-Xdp-Sdk }
if ($InstallXdpDriver) { Install-Xdp-Driver }
if ($UninstallXdp) { Uninstall-Xdp }
if ($InstallNasm) { Install-NASM }
Expand Down
2 changes: 1 addition & 1 deletion src/platform/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ if ("${CX_PLATFORM}" STREQUAL "windows")
platform
PRIVATE
${EXTRA_PLATFORM_INCLUDE_DIRECTORIES}
${PROJECT_SOURCE_DIR}/artifacts/xdp/include)
${PROJECT_SOURCE_DIR}/submodules/xdp-for-windows/include/published/external)
endif()

if (MSVC AND (QUIC_TLS STREQUAL "openssl" OR QUIC_TLS STREQUAL "schannel") AND NOT QUIC_ENABLE_SANITIZERS)
Expand Down
1 change: 1 addition & 0 deletions submodules/xdp-for-windows
Submodule xdp-for-windows added at dfd8b1

0 comments on commit 4e8b1e2

Please sign in to comment.