Skip to content
Open
Changes from 25 commits
Commits
Show all changes
77 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
3243f6d
Merge branch 'main' into nibanks/kernel-platform-worker
ami-GS Jan 14, 2025
484a446
Use Nt APIs
ami-GS Jan 14, 2025
51ef7bc
Update src/inc/quic_platform_winkernel.h
ami-GS Jan 15, 2025
79b9004
Update src/inc/quic_platform_winkernel.h
ami-GS Jan 15, 2025
c02e738
Update src/inc/quic_platform_winkernel.h
ami-GS Jan 15, 2025
09f2fbf
fix comment
ami-GS Jan 15, 2025
c4a8f36
write IO completion API placeholders
ami-GS Jan 15, 2025
1f23c09
link ntdll for Nt*IoCompletion APIs
ami-GS Jan 15, 2025
fd58cee
sync annotation
ami-GS Jan 15, 2025
1f9c6e9
Use Zw version API
ami-GS Jan 16, 2025
101f6b9
fix as proposed
ami-GS Jan 16, 2025
a7def7a
use InitializeObjectAttributes
ami-GS Jan 21, 2025
2d547c6
workaround to use completion port under DISPATCH_LEVEL
ami-GS Jan 29, 2025
fc6b308
Update src/inc/quic_platform_winkernel.h
ami-GS Jan 31, 2025
c364a7a
cleanup
ami-GS Jan 31, 2025
75579e2
Merge branch 'main' into nibanks/kernel-platform-worker
nibanks Feb 13, 2025
b7795f5
cleanup
nibanks Feb 13, 2025
8132f01
refactor
nibanks Feb 13, 2025
beeeffc
space
nibanks Feb 13, 2025
665315d
fix annotation
nibanks Feb 13, 2025
7c887e9
better sal
nibanks Feb 13, 2025
8cb40bd
fix sal
nibanks Feb 13, 2025
6dd2aed
per sqe minipacket; set4
nibanks Feb 13, 2025
b77cb3f
revert set4
nibanks Feb 13, 2025
565f872
Merge branch 'nibanks/kernel-platform-worker' into dev/daiki/winkerne…
nibanks Feb 13, 2025
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
5 changes: 3 additions & 2 deletions .CodeQL.yml
Original file line number Diff line number Diff line change
@@ -2,13 +2,14 @@
# https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/codeql/troubleshooting/bugs/generated-library-code
# (Access restricted to Microsoft employees only.)

# The following paths are explicitly classified which indicates they should no
# The following paths are explicitly classified which indicates they should not
# be analyzed by CodeQL and generate alerts.
path_classifiers:
docs:
- docs
generated:
- build
- src/cs
- src/generated
submodules:
- subodules
- submodules
8 changes: 4 additions & 4 deletions .azure/OneBranch.Tests.Official.yml
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
@@ -45,7 +45,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
@@ -63,7 +63,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
@@ -81,7 +81,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
8 changes: 4 additions & 4 deletions .azure/OneBranch.Tests.PullRequest.yml
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
@@ -45,7 +45,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
@@ -63,7 +63,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
@@ -81,7 +81,7 @@ stages:
- template: ./obtemplates/run-bvt.yml
parameters:
pool: 1es-msquic-pool-internal
image: WinServerPrerelease
image: WinServerPrerelease-LatestPwsh
platform: windows
tls: schannel
logProfile: Full.Light
1 change: 1 addition & 0 deletions .github/workflows/build-darwin-framework.yml
Original file line number Diff line number Diff line change
@@ -25,3 +25,4 @@ jobs:
uses: ./.github/workflows/build-reuse-darwin-framework.yml
with:
config: 'Release'
repo: ${{ github.repository }}
17 changes: 11 additions & 6 deletions .github/workflows/build-reuse-darwin-framework.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,10 @@ on:
required: false
default: ''
type: string
repo:
required: false
default: microsoft/msquic
type: string
config:
required: false
default: 'Release'
@@ -46,6 +50,7 @@ jobs:
arch: ${{ matrix.arch }}
tls: ${{ inputs.tls }}
static: ${{ inputs.static }}
repo: ${{ inputs.repo }}

build-darwin-universal:
name: Build Universal Binaries
@@ -55,7 +60,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: microsoft/msquic
repository: ${{ inputs.repo}}
ref: ${{ inputs.ref }}
- name: Download Build Artifacts (x64)
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
@@ -71,7 +76,7 @@ jobs:
shell: pwsh
run: scripts/merge-darwin.ps1 -DeleteSource -Config ${{ inputs.config }}
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: ${{ inputs.config }}-macos-macos-13-universal-${{ inputs.tls }}${{ inputs.static }}
path: artifacts
@@ -92,7 +97,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: microsoft/msquic
repository: ${{ inputs.repo}}
ref: ${{ inputs.ref }}
- name: Download Build Artifacts (x64)
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
@@ -103,7 +108,7 @@ jobs:
shell: pwsh
run: scripts/package-darwin-framework.ps1 -Config ${{ inputs.config }} -Platform ${{ matrix.vec.plat }} -Arch ${{ matrix.vec.arch }}
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: Framework-${{ inputs.config }}-${{ matrix.vec.plat }}-macos-13-${{ matrix.vec.arch }}-${{ inputs.tls }}${{ inputs.static }}
path: artifacts
@@ -116,7 +121,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: microsoft/msquic
repository: ${{ inputs.repo}}
ref: ${{ inputs.ref }}
- name: Download Build Artifacts (iOS x64)
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
@@ -137,7 +142,7 @@ jobs:
shell: pwsh
run: scripts/package-darwin-xcframework.ps1 -Config ${{ inputs.config }}
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: XCFramework-${{ inputs.config }}
path: artifacts/frameworks
11 changes: 7 additions & 4 deletions .github/workflows/build-reuse-unix.yml
Original file line number Diff line number Diff line change
@@ -9,6 +9,10 @@ on:
required: false
default: ''
type: string
repo:
required: false
default: microsoft/msquic
type: string
config:
required: false
default: 'Release'
@@ -28,9 +32,8 @@ on:
os:
required: false
type: string
default: 'ubuntu-20.04'
default: 'ubuntu-22.04'
# options:
# - ubuntu-20.04
# - ubuntu-22.04
# - ubuntu-24.04
# - macos-13
@@ -91,7 +94,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: microsoft/msquic
repository: ${{ inputs.repo}}
ref: ${{ inputs.ref }}
- name: Set ownership
if: inputs.plat == 'linux'
@@ -114,7 +117,7 @@ jobs:
shell: pwsh
run: scripts/build.ps1 -Config ${{ inputs.config }} -Platform ${{ inputs.plat }} -Arch ${{ inputs.arch }} -Tls ${{ inputs.tls }} ${{ inputs.static }} ${{ inputs.clang }} ${{ inputs.systemcrypto }} ${{ inputs.codecheck }} ${{ inputs.sanitize }} ${{ inputs.xdp }} -OneBranch
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: ${{ inputs.config }}-${{ inputs.plat }}-${{ inputs.os }}-${{ inputs.arch }}-${{ inputs.tls }}${{ inputs.static }}${{ inputs.clang }}${{ inputs.systemcrypto }}${{ inputs.codecheck }}${{ inputs.sanitize }}${{ inputs.xdp }}${{ inputs.build }}
path: artifacts
8 changes: 6 additions & 2 deletions .github/workflows/build-reuse-win.yml
Original file line number Diff line number Diff line change
@@ -9,6 +9,10 @@ on:
required: false
default: ''
type: string
repo:
required: false
default: microsoft/msquic
type: string
config:
required: false
default: 'Release'
@@ -71,7 +75,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: microsoft/msquic
repository: ${{ inputs.repo}}
ref: ${{ inputs.ref }}
- name: Install Perl
uses: shogo82148/actions-setup-perl@98dfedee230bcf1ee68d5b021931fc8d63f2016e
@@ -108,7 +112,7 @@ jobs:
Remove-Item artifacts/corenet-ci-main -Recurse -Force -ErrorAction Ignore
Remove-Item artifacts/xdp -Recurse -Force -ErrorAction Ignore
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: ${{ inputs.config }}-${{ inputs.plat }}-${{ inputs.os }}-${{ inputs.arch }}-${{ inputs.tls }}${{ inputs.sanitize }}${{ inputs.static }}${{ inputs.build }}
path: artifacts
8 changes: 6 additions & 2 deletions .github/workflows/build-reuse-winkernel.yml
Original file line number Diff line number Diff line change
@@ -9,6 +9,10 @@ on:
required: false
default: ''
type: string
repo:
required: false
default: microsoft/msquic
type: string
config:
required: false
default: 'Release'
@@ -60,7 +64,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: microsoft/msquic
repository: ${{ inputs.repo}}
ref: ${{ inputs.ref }}
- name: Prepare Machine
shell: pwsh
@@ -88,7 +92,7 @@ jobs:
Remove-Item artifacts/corenet-ci-main -Recurse -Force -ErrorAction Ignore
Remove-Item artifacts/xdp -Recurse -Force -ErrorAction Ignore
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: ${{ inputs.config }}-${{ inputs.plat }}-${{ inputs.os }}-${{ inputs.arch }}-${{ inputs.tls }}${{ inputs.build }}
path: artifacts
17 changes: 8 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -53,6 +53,7 @@ jobs:
arch: ${{ matrix.arch }}
tls: ${{ matrix.tls }}
static: ${{ matrix.static }}
repo: ${{ github.repository }}

build-windows-kernel:
name: WinKernel
@@ -72,6 +73,7 @@ jobs:
os: ${{ matrix.os }}
arch: ${{ matrix.arch }}
tls: ${{ matrix.tls }}
repo: ${{ github.repository }}

build-ubuntu-cross-compile:
name: UbuntuArm
@@ -81,7 +83,7 @@ jobs:
matrix:
config: ['Debug', 'Release']
plat: [linux]
os: ['ubuntu-20.04', 'ubuntu-22.04', 'ubuntu-24.04']
os: ['ubuntu-22.04', 'ubuntu-24.04']
arch: [arm, arm64]
tls: [openssl, openssl3]
static: ['', '-Static']
@@ -93,6 +95,7 @@ jobs:
arch: ${{ matrix.arch }}
tls: ${{ matrix.tls }}
static: ${{ matrix.static }}
repo: ${{ github.repository }}

build-ubuntu:
name: Ubuntu
@@ -102,7 +105,7 @@ jobs:
matrix:
config: ['Debug', 'Release']
plat: [linux, android]
os: ['ubuntu-20.04', 'ubuntu-22.04', 'ubuntu-24.04']
os: ['ubuntu-22.04', 'ubuntu-24.04']
arch: [x86, x64]
tls: [openssl, openssl3]
systemcrypto: ['', '-UseSystemOpenSSLCrypto']
@@ -120,10 +123,6 @@ jobs:
# TODO: android to support ubuntu-24.04
- plat: android
os: 'ubuntu-24.04'
# No openssl3 system crypto on ubuntu-20.04
- plat: linux
os: 'ubuntu-20.04'
tls: 'openssl3'
systemcrypto: '-UseSystemOpenSSLCrypto'
# No openssl system crypto on ubuntu-22.04
- plat: linux
@@ -138,8 +137,6 @@ jobs:
# linux xdp is for ubuntu24.04 only for now
- plat: android
xdp: "-UseXdp"
- os: 'ubuntu-20.04'
xdp: "-UseXdp"
- os: 'ubuntu-22.04'
xdp: "-UseXdp"
- arch: x86
@@ -177,6 +174,7 @@ jobs:
clang: ${{ matrix.clang }}
codecheck: ${{ matrix.codecheck }}
xdp: ${{ matrix.xdp }}
repo: ${{ github.repository }}

build-darwin:
name: MacOs
@@ -198,6 +196,7 @@ jobs:
arch: ${{ matrix.arch }}
tls: ${{ matrix.tls }}
static: ${{ matrix.static }}
repo: ${{ github.repository }}

build-nuget:
name: Build Nuget Package
@@ -236,7 +235,7 @@ jobs:
shell: pwsh
run: scripts/package-nuget.ps1 -Tls ${{ matrix.vec.tls }} ${{ matrix.vec.arg }} -GHA
- name: Upload build artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: Nuget-Release-${{ matrix.vec.plat }}-windows-2022-arm64-${{ matrix.vec.tls }}
path: artifacts/dist/*.nupkg
25 changes: 23 additions & 2 deletions .github/workflows/cargo.yml
Original file line number Diff line number Diff line change
@@ -15,8 +15,23 @@ permissions: read-all
jobs:
cargo:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-xlarge]
features: ["", "--features static", "--features schannel", "--features schannel,static", "--features overwrite"]
exclude:
- os: ubuntu-latest
features: "--features schannel"
- os: ubuntu-latest
features: "--features schannel,static"
- os: macos-latest
features: "--features schannel"
- os: macos-latest
features: "--features schannel,static"
- os: macos-latest-xlarge
features: "--features schannel"
- os: macos-latest-xlarge
features: "--features schannel,static"
runs-on: ${{ matrix.os }}
name: Cargo
steps:
@@ -40,9 +55,15 @@ jobs:
- name: Install Cargo
if: runner.os == 'Linux'
run: curl https://sh.rustup.rs -sSf | sh -s -- -y
- name: Cargo fmt
run: cargo fmt --all -- --check
- name: Cargo clippy
run: cargo clippy --all-targets -- -D warnings
- name: Cargo build
run: cargo build --all
run: cargo build --all ${{ matrix.features }}
- name: Check all generated files with git
run: git diff --exit-code
- name: Cargo test
run: cargo test --all
run: cargo test --all ${{ matrix.features }}
- name: Cargo Publish (dry run)
run: cargo publish --dry-run --allow-dirty
Loading
Oops, something went wrong.
Loading
Oops, something went wrong.