* Initial commit
* Initial commit
* Added _DEBUG around tail call display
* Renamed key to data
* Removed _DEBUG
* Added SAL annotation, as per the comments
* Added SAL annotation, as per the comments
* Fix crash
* make data non-optional
* Added the check for .key_size != 0
* Removed additional tracing in EBPF_LOG_MESSAGE_BINARY macro
* Merged with main
* Trying 16KB of stack size
* Addressed PR comment
* Added macro with combined traces
* Increased stack size to 32K for DEBUG image
* Fix the string concatenation in macro
* Increase the stack size to 64, and added some logs to check the crashdumps during hangs
* Added retry when the dump file cannot be compressed because it is used by another process
* Expanded stack size for all netebpf wfp callouts
* Addressed PR comments
* Added _DEBUG back
* Increased stack size to 20K for DEBUG
* Add optimatization
* With 4K stack expansion size
* Final commit
* Centralize eBPF version to Directory.Build.props
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Remove unused and failing builds
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Allow platform specific eBPF nuget packages to be created
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Specify version in output
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* remove --no-verify option from bpf2c and tests using it
Closes#3571
* remove builds for unsafe programs in sample.vcxproj
* remove unsafe test cases from netsh_test.cpp
* remove new noverify references
* Revert deletion of netsh tests.
* Add back compilation of unsafe programs (but not bpf2c call)
* remove invalid program tests which used noverify
* remove end_to_end tests using noverify
---------
Co-authored-by: Michael Agun <danielagun@microsoft.com>
* Stamp all tools with version information.
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Add commit id to nuget package
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Move versioning to Directory.Build.props
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Set correct project type in sample.vcxproj
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Add version info to fuzz tests
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update tests/socket/resource.h
Co-authored-by: Dave Thaler <dthaler1968@gmail.com>
* Revert editor change
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Dave Thaler <dthaler1968@gmail.com>
* Add VS Clang to path
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix tests
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Reformat using clang 17.0.3
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Account for git_commit_id.h dependency
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Revert https://github.com/microsoft/ebpf-for-windows/pull/3756 from this branch
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Make LLVM path dependent on cl.exe path
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Use VCINSTALLDIR as root of LLVM path
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update hash and set path to use environment variable
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Move C++ hashing lib from tests/libs/util/ to libs/shared/
This puts hash.cpp/hash.h in a more central location for use by other project files.
* Set empty program name to hash of instructions
ebpf_program_load_bytes now hashes the instructions and uses that for the name
instead of generating a random number.
Closes#3443
* fix signed/unsigned warning (and ensure windows helper id >= 0)
* add bcrypt.dll dependency for ebpfapi.dll
* WIP new test case for ebpf_program_load_bytes with nullptr program name
* WIP ebpf_program_load_bytes testing
* truncate SHA256 hash to 63 bytes to stay under BPF_OBJ_NAME_LEN
* remove bcrypt from release dependencies and suppress analyze warning
* PR feedback - fix comment and bpf2c include paths
---------
Co-authored-by: Michael Agun <danielagun@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
* Enable building and signing eBPF for Windows
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Update copyright to be eBPF for Windows contributors
Fixes#3507
Signed-off-by: Dave Thaler <dthaler1968@gmail.com>
* Undo gratuitous formatting changes in expected files
---------
Signed-off-by: Dave Thaler <dthaler1968@gmail.com>
* various fixes.
* fix mem leak.
* fix double free/
fix one more leak.
* PR feedback.
s# Please enter the commit message for your changes. Lines starting
* extension_header
* fix logic error.
* Re-purposing the size field to act as the "minor version". Additional validation checks are added.
* PR Feedback.
* fix break due to bad merge with PR #3372
* Add support for statically initializing BPF_MAP_TYPE_HASH_OF_MAPS
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update installer and add code gen tests
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Add files to expected install list
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* remove store km lib and code
* fix
* more cleanup
* Apply suggestions from code review
Co-authored-by: Dave Thaler <dthaler1968@gmail.com>
---------
Co-authored-by: Dave Thaler <dthaler1968@gmail.com>
* Fix build break from VS 2022 17.8.2
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix conflicting C++ versions
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* New depenedency on kernel32.dll
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Pickup latests usersim
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
---------
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* replace XDP guids with XDP_TEST guids
* updated missde instance
* update bpf2c
* leave xdp_hook as is
* remove extra files
* update with new XDP_TEST guid, update other tests to use sample_ext
* update some tests, update test_helper
* update fuzzer
* temporarily remove bpftool tests
* update execution context test
* replace XDP guids with XDP_TEST guids
* updated missde instance
* update bpf2c
* leave xdp_hook as is
* remove extra files
* update with new XDP_TEST guid, update other tests to use sample_ext
* update some tests, update test_helper
* update fuzzer
* temporarily remove bpftool tests
* update execution context test
* build failures
* update sample ext with context_allocate and destroy
* update vm script to use xdp_test
* switch api tests to use sample program
* rename to xdp_Test
* update sample ext
* update incorrect SAL, update netsh tests
* update sample, update tests to use sample where applicable
* update tests
* fix up tests
* fix libbpf tets
* revert unnecessary changes
* remove extra prints
* add back in bpftool tests
* update to use xdp instead of xdp_test for bpftool test
* update atomic_instructions_others.o
* extra debug logs
* updated expected, update bpftool tests
* correct bpftool tests
* more debug logs
* add reg debug
* clear program info
* Attempt fix of buffer overrun
* remove debug logs, minor cleanup, set XDP guids back to their original names
* update docs with xdp_test
* fix guid usage
* CR: remove program, update comments, fix commented out tests, update bpf_program__attach_xdp
* revert changes in libbpf, as they need to use the actual XDP guids
* update comment
* update some XDP tests to use sample ext, comment out some expected failing tests
* update bpftool tests
* fix up bpf prog test run expected output, move to #if instead of comments
* fix up return code issue
* fix bpftool testes
* add some failed xdp tests, set some params to null for sample tests
* update comment
* tmp commit - move to xdp mock
* update unit tests to use mock XDP where possible
* made some samples back to XDP type
* netebpfext unit tests should use xdp_test
* CR
* Compress Km dumps and perf ETLs before upload.
* Force run on PR.
* run just perf test release
* print out etls before zip
* fix up etl path
* uncomment CI
* cleanup
---------
Co-authored-by: Igor Klemenski <igklemen@microsoft.com>
* fixx COnnectRedirect test error reporting
* fix error pasring in api_test
* differential comparison - force api_test failure, should not be detected
* try conn_redir error catch
* restore
---------
Co-authored-by: Igor Klemenski <igklemen@microsoft.com>