* Log QUIC_TLS_SECRETS on all TestConnections and have option to write to disk on cleanup.
* Implement kernel mode routine to write sslkeylogfile
* Add sslkeylogfile generation to handshake tests.
* Prepare Machine and msquic checkout should not be necessary for testing linux packages
* Install dependencies with package
* Try to fix dependencies
* Fix validated set
* use the updated 3rd party api
* add example callout
* call validate params function to make sure we're good to continue
* wip
* adapt script to use env variables
* fix syntax error
* check status
* eq true
* remove bad log profile
* wip
* make it compatible with powershell 5.1
* make it compatible with powershell 5.1
* make it compatible with powershell 5.1
* make it compatible with powershell 5.1
* make it compatible with powershell 5.1
* make it compatible with powershell 5.1
* make it compatible with powershell 5.1
* xdp on exp. boost test
* xdp on exp. boost test
* xdp on exp. boost test
* xdp on exp. boost test
* xdp on exp. boost test
* xdp on exp. boost test
* xdp on exp. boost test
* xdp on exp boost
* xdp on exp boost wip
* refactor complete wip
* not not windows = is windows
* Update scripts/secnetperf-helpers.psm1
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update scripts/secnetperf-helpers.psm1
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update scripts/secnetperf-helpers.psm1
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update scripts/secnetperf.ps1
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update scripts/secnetperf.ps1
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* print out 'sent special UDP packet'
---------
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* 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>
* secnetperf script for 1es azure pools
* more debug logging
* fix infinite loop issue
* dumb syntax issue
* remove C:\ remove
* wip
* use config pwsh 7
* skip preparing machine for now
* add support for starting stopping server passively
* fix syntax issue
* create the file
* more logging
* remove ps1 extension
* fix ps1 issue
* get rid of 30s timeout
* NULL in case of Az linux
* wip
* GOAL: Get a successful secnetperf run for linux
* lets get some data
* add stop server logic
* p2p module remove
* ensure we stop using remote pwsh if it's not supported
* get some answers
* print more logs
* && does not exist lmao
* collect me some data
* add run id and stuff
* wrap in a try catch
* wip
* wip
* get some stdout
* forget about core dumps in 1es
* revert 1es change
* Rety flaky test
* fix variable name
* remove accessing testsuite level property
* fix '==' and message
* update logging message to show how many tests are consistently failing
* 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>
* persist bestResult baseline for all keys
* don't return N/A on good runs
* fix small bugs
* update error messages
---------
Co-authored-by: Jack He <jackhe@microsoft.com>
* add function implementation for latency regression
* use watermark json
* baseline is BS
* improve error messages
* bored on a Friday
* move helpers to the modules file
* fix parameter bug
---------
Co-authored-by: Jack He <jackhe@microsoft.com>
* receive packet
* populated the packet struct
* added ACK frame sending
* Initial ACK frame response sent
* added handshake decryption
* Completed handshake decryption
* finshed processing handshake packet
* fuzzed handshake packet and sent
* fixed Read key not available bug
* fixed a bug
* Testing to see if pipelines passes
* pop packet when decryption fail
* minor change
* only free packet after we are done processing
* attempt to fix the pipeline
* packet copy is sent
* recv event modified
* zeroed out send buffer
* minor change
* minor
* free packet event
* redefined few variables to fix memory leak
* minor change
* fixed recv datagram bug
* attempt to fix the pipeline
* test
* added few checks
* minor change
* minor change
* debug statement
* some debug statements for the pipeling
* minor change
* Few fixes
* minor
* added allocated check
* chain processing changed
* cleaned up code
* minor change
* minor change
* minor change
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* minor code cleanups:
* mode changes
* minor
* made initial packet and handshake packet fuzzing work together
* minor change
* debug
* minor change
* minor change
* minor change
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* minor change
* few cxplatevent changes
* few minor changes
* handle failure
* minor
* few minor things
* delete state buffer after every iteration
* minor
* minor
* test change
* minor change
* minor change
* added startms
* added result flag
* cleanup code and few debug statements
* cleanup
* Made packet as stack variable
* reverted change
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* resolved comments
* fixed potential memory leak
* Update src/tools/recvfuzz/recvfuzz.cpp
Co-authored-by: Nick Banks <nibanks@microsoft.com>
* resolved comments
* New handshake each iteration
* removed unnecessary comment
* minor change
* minor change
* Some modifications
* fixed memory leaks
* minor change
* freed up send data
* revert
* revert
* minor change
* minor changes
* test
* add free send data
* rest
* modified implementation
* minor change
* few optimisations
* attempt to fix
* added ASAN option
* resolved comments
* minor refactoring
* minor change
---------
Co-authored-by: Nick Banks <nibanks@microsoft.com>