* Test on Ubuntu 24.04 GitHub Images
* Dockerfile
* more ubuntu24.04 on yml files
* remove Dockerfile
* update reuse image
* Remove misc-include-cleaner build warnings
* More codecheck ignores
* Missed one
* Fix potential buffer overflow
* rollback fix and ignore the error
* Windows to avoid touching GCC pragma
* the warning should be from gcc13
* static_assert expects its string to be normal
* Revert "static_assert expects its string to be normal"
This reverts commit 73ac2579d1.
* add supress option for clang
* clang version
* fix openssl check issue
* fix yaml
* exclude android
* remove Sanitize for xdp
* support azure pipeline
---------
Co-authored-by: ami-GS <1991.daiki@gmail.com>
* increase nofile for sudo. default was 1024
* enable linux XDP HPS test
* use bash instead of pwsh
* use internally pwsh
* try full path for bash
* print stderr to see pipeline specific issue
* use file
* print output
* rollback and ccommentout throw
* print
* set LD_LIBRARY_PATH
* print more
* accelerate
* export
* rollback
* 'Args' should not be used. it become empty
* print parameters
* test
* cleanup
* use limits.conf for ulimit setting
* show warning for installing Linux XDP deps
* change force flag name
* Fix yml to use ForceXdpInstall
* unify
* try single quote
* remove redundant xdp flag
* fix renux packaging
* enable secnetperf with xdp on azure VM
* remove redundant settings
* move sudo inside script
* cleanup
* add 'sudo' in Invoke-Secnetperf
* cleanup
* Few minor fixes
* Change back
* touch ethtool only when ubuntu-22.04
* cleanup xdpgeneric and remote
* cleanup if xdp is there
* add XDP flag for execution config
* fix for DataPathTest
* remove MSQUIC_ENABLE_XDP flag
* remove Status
* remove local variable
* make FLAG_XDP visible from DataPathTest.cpp
* define preview feature
* fix RebindAddrPadded bug
* make RebindDatapathAddr to duonic dependent
* Use appropriate default values
* rollback
* fix memory leak
---------
Co-authored-by: Ubuntu <daiki@f4-ubuntu22-02.lcaeom4kylsuvmegib5mitghvd.bx.internal.cloudapp.net>
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* built on Linux
* ne files
* renaming
* split socket funcs
* refactor from win
* build from linux
* more on linux
* rename and generate
* use libbpf
* oops
* rebase and add new member
* unify CxPlatTryAddSocket
* pass datapath tests
* integrate Ubuntu 22.04 default libbpf v0.5.0
* temporally
* multithread. all test passed
* secnetperf works
* update build scripts
* nit update
* add duonic installer script for linux
* add xdp-tools directory
* cleanup
* fix Windows build
* fix windows xdp build
* add Github action
* nit fix
* fix dependencies for Install-DuoNic
* add udpate
* add linux xdp dependencies to docker file
* fix installation script
* initialize submodules/xdp-tools recursively
* temporal fix
* make XDP optional
* use ShutdownSqe
* fix yaml files
* remove gcc-multilib and include explicitly
* fix tcp socket to allocate raw
* install xdp deps for linux
* libxdp bug workaround
* oops
* fix idempotency and add one more dep
* TODO: remove this
* enable x86_64 and Ubuntu22.04
* fix type mismatch of uint16_t and UINT16
* add aarch64
* fix
* use flag
* change arch check and file copy
* fix static build and android
* update clog
* clog fix
* fix Clang link issue
* fix CodeCheck and prepare-machine for build
* disable ANDROID for xdp
* fix clog
* Support XDP from 'test.ps1 -UseXdp'
* link libxdp from artifact
* fix dependency
* fix dep
* update xdp-tools to v1.4.2
* fix runtime deps
* fix deps
* Fix Umem addressing and make Rx path async to efficiently fill FQ
* fix CodeQL analyze deps
* fix Analyze
* fix analyze
* linux xdp to use sudo
* change 'if' order
* path fix?
* sudo pwsh
* add retry for xsk_socket__create when returns -EBUSY
* cleanup xdp program before running
* Fix cargo build --all
* fix cargo test dynamic linking
* remove Sanitize for initial commit
* generate artifact
* fix yml syntax issue
* fix CodeQl Analysys
* forget to add Partition declaration
* Use Rundown to wait for deleting socket before binding next
* fix Rundown for all xdp socket
* Fix EBUSY issue when binding xdp socket
* explictly disable port sharing test
* refactoring and cleanup
* fix pipeline. else for normal linux socket
* Fix cargo linking issue?
* disable xdp for cargo build
* fix codeql
* rollback build.rs
* fix package runtime link and codeql
* wrap packet dump function to DEBUG macro
* check dependency
* another check
* leave only LD_LIBRARY_PATH
* iterate attach mode
* fix codeql
* add IP address check in XDP prog
* break is enough & avoid compiler bug
* fix CodeCheck
* Fix use of RxHeadroom
* fix umem leak when failed to initialize
* use pool alloc for Interface
* fix ipv4 check
* remove workaround
* cleanup. from snake case to pascal case
* fix clog
* try ubuntu20.04 and enable stress test
* few fix of stress test yml
* integrate package libxdp linking
* fix RX parse error case
* disable ubuntu20.04
* remove 2 env variable to run
* add document
* fix ForBuild && clog
* stop installing deps on Ubuntu 20.04
* fix build
* fix libc6-dev-i386 side effect
* Add one more dependency (libzstd) for static build
* new line fix
* always install libc6-dev-i386
* fix install order
* fix CMakeLists.txt to cover qns.Dockerfile case
* remove env var dep, update doc
* fix stress.yml
* add env var for xdp knob and fix stress
* fix stress
* update clog
* update doc
* Fix doc appearance and words
* add UseXdp
* Update docs/BUILD.md
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update docs/BUILD.md
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* use SKB mode for now
* move Linux XDP logging to TSG.md
* stop warning print from libxdp/libbpf
* move CxPlat definitions to each plat
* initial commit
* common xdp utilities
* move sudo inside scripts
* fix comments
* fix clog
* fix ifdef syntax
* fix annotations
* all arch to build dataptah_xplat.c
* fix mac build
* fix lisence of ebpf prog
* fix spin.ps1 to propagate parameter
* Ether and IPv6 was not set appropriately
* Update docs/TSG.md
* remove warning supression
* remove BuildLibXdpFromSource
---------
Co-authored-by: ami-GS <azureuser@node1.s4l0gsbs5l2efgb53yvjusshdg.xx.internal.cloudapp.net>
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Allow stateless reset token key to be set #1719
* Update src/core/library.c
How about we use the same way as the random initial reset key, we call MsQuicLibraryFreePartitions() to set all PerProc->ResetTokenHash to NULL
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Address the code review feedback
* Revert clog.sidecar changes
* Add event for stateless reset key
* Revert the file clog.sidecar
* Remove DatapathTcpAuxBinding changes from clog.sidecar
* Remove parameter from function QuicTestStatelessResetKey and address other comments
* Update src/test/MsQuicTests.h
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/core/library.c
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/test/lib/DataTest.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Address code review comments
* Move stateless reset key after the other global param
* Address CheckDotnet test and update document
* Address the failure at CIFuzz
* Address the failure in CIFuzz
* Add one test case when MsQuic lib has not been initialized yet
---------
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Remove QUIC_USE_RAW_DATAPATH (logic only)
* move logic to core side
* remove QUIC_USE_RAW_DATAPATH from test
* fix googletest version and add last line
* replace from flag to function call
* fix build error
* fix build/test issues
* implement CxPlatResolveRoute for normal socket
* add Getter of Datapath feature
* fix build issues
* adopt comments
* adopt comment and fix kernel build error
* fix kernel build error
* more fix for kernel build
* Unify datapath
* DatapathTest partially work
* just unify build of both normal socket and xdp
* SOCKET: RAW{...Socket{BASE{addr}}}, DATAPATH: XDP{RAW{DATAPATH*}} <-> DATAPATH{RAW*, BASE{callbacks}}
* tmp
* add preview_feature flag back
* refactoring CxPlatIsRouteReady
* fix linux code check
* adjust func names
* fix comments
* fix IsRouteReady and clean ifdef for _KERNEL_MODE
* kernel build error
* Set RouteResolved for Rx
* fix more tests
* move global definition in header file
* kernel to avoid calling helper function
* move QuitTestIsFeatureSupported after RegistrationOpen
* supress warning
* remove QuitTestIsFeatureSupported from quic_gtest as it doesn't work as expected by dependency of MsQuicLib.Datapath
* remove raw feature check as much as possible
* ifdef for UseQTIP visibility
* tmp
* tmp
* fix merge side effects
* all tests passed
* fix tests in msquicplatformtest
* fix tcp with duonic
* update clog
* use xdp v1
* WIP cleanup
* refactoring CXPLAT_SEND_DATA
* remove mangling and function pointer
* remove unnecessary change in test
* fix comments
* cleanup
* move logic to _winuser
* use dummy raw datapath for uwp build
* dummy raw
* remove double free
* fix comments
* update dummy func
* fix perf run for TCP
* partially fix comments
* fix build error for uwp and remove duplicate variable in raw socket
* set socket before start receiving
* add dummy to clog
* add clog files for dummy
* fix dependency for cargo on windows
* remove dummy clog files
* remove AuxSocket
* add pwsh for cargo setup
* clog fix
* add include dir for cargo
* [WIP] fix cargo and qtip
* fix clog, qtip, rename private raw functions and cleanup
* experiment to avoid write overflow
* use Config->Route->DatapathType for data allocation
* more strict if conditions
* fix comments
* fix uwp build
* fix clog and artifact name
* fix back xdp dependency
* Simply build automation
* missed one
* apply unification to linux and remove QUIC_USE_XDP flag
* move types to any platform
* add abstruction layer for linux
* add clog
* add clog dependencies
* fix CodeCheck issues
* remove xdp specific artifact dir name and always install xdp deps
* add docs
* More Fixes for XDP in automation (mostly OneBranch)
---------
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* add new parameter
* remember to set success status
* add test cases
* fix test cases
* fix styling
* no need to redefine client config
* add non-null checking
* fix formatting and use helpers
* update description and add trailing whitespace
* add null ptr queries
* run ./scripts/generate-dotnet.ps1
---------
Co-authored-by: Jack He <jackhe@microsoft.com>