* 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>
* refactor to work with dynamic design
* remove 'plat' from name
---------
Co-authored-by: Jack He <jackhe@microsoft.com>
Co-authored-by: Nick Banks <nibanks@microsoft.com>