* 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>
* 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>
* 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
* 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>
* 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
* Update to use latest usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update to latest usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Use NonPagedPoolNx instead of NonPagedPool for netebpfext state
NonPagedPool is executable, which we don't want
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* build ebpfcore under usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Work around analysis warnings
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix installer project
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Temporarily use ubpf branch with memory fix
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* WIP
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* WIP
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Create project for files shared between ebpfapi and the ebpf runtime
Move existing files from libs/platform either to:
* libs/shared, if meant to be common between user-mode and ebpf runtime
* libs/runtime, if meant to be used by the ebpf runtime only (whether in
user or kernel mode)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Move ebpf_tracelog.c to shared
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Create shared_user and shared_kernel projects
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* WIP
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* WIP
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Remove usersim from ebpfsvc
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update to cxplat branch of usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Use cxplat_utf8_string
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix build errors
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix ebpf_allocate_with_tag
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Bug fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix use of ebpf_reallocate to not pass a null pointer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix printf tests
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix memory leaks
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Temporary change to help debug double-free in test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update to latest usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix analysis warnings
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update to latest usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update usersim to latest
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Change native module to use latest usersim
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update nuget package
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Only call cxplat_cleanup if cxplat_initialize succeeds
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Revert setup_build.vcxproj change
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update usersim to latest
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
* Use usersim as DLL
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Convert usersim to a DLL
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Make cmake build clear program info state like VS build does
PR #1192 updated the vcxproj file but not the corresponding CMakeLists.txt file
for export_program_info
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Pick up latest usersim fix
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix deadlock in epoch_test_stale_items test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Don't throw exceptions in unit tests
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix single instance hook initialization in test cases
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix deadlock in performance test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add usersim.dll to installer files
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update usersim library for DPC API support
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Flush queued DPCs before terminating usersim platform
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix fault injection test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix test bugs found by fault injection
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Use usersim Ke*Timer apis
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix bad uses of REQUIRE in netebpfext_unit constructors/destructors
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix mismatched initiate/terminate calls
Move Test-FaultInjection.ps1 to the usersim repo
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Use REQUIRE instead of throwing exceptions from unit tests
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Don't use REQUIRE in constructors
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix memory leak bug in netebpf_ext_helper destructor
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix reference count leak in net_ebpf_extension_sock_ops_flow_established_classify
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More usersim library cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix analyze warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Use TraceLogging for printk
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix analysis warnings
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix deadlock in core_helper_fuzzer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update usersim library
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix call to RpcStringFreeA
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Use usersim repo
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Remove DISPATCH test code from _preprocess_load_native_module
Per Anurag: the code was added earlier to execute the 2 paths in
native module, and it is not needed anmore IIRC, as the "DISPATCH"
code has been removed now from the native module
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Bug fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Unify some APIs
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix warnings and clean up code
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* updated
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Initial commit to get AddressSanitizer build
* Fix heap-use-after-free
* merge main contents
* Added client registration initialization and double heap free after use
* Fix build error
* Checked for bindcontext
* Only fail NMR registration
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
---------
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
tests that pass again.
2. Update Test-FaultInjection.ps1 to log what tests
are run in each iteration.
3. Avoid decoding symbols under a lock.
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Fix sanitizer build of fuzzer
Fixes#1817
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Disable some build steps for FuzzerDebug
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update github workflows
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update verifier to latest
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix execution_context_fuzzer build
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix bpf2c and samples
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix samples compilation
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix custom program type sample
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Raise STATUS_ASSERTION_FAILURE on test timeout
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Manually generated dump on test timeout
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
---------
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Refactor low memory test into generic fault injection
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Update number of frames to skip
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
---------
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* add test cases for reauth flags
* Update netebpfext/user/fwp_um.cpp
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
* address PR comment
* update the test for reauth
* create one test
* change the comment
* change flag name
* change flag name
* Update netebpfext_unit.cpp
* Update fwp_um.cpp
---------
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
* Export new sock_addr specific helper function (windows only)
* Revert PR 1827, export new sock_addr specific helper function (windows only)
This reverts commit 80bc1cb737.
* add step re. adding standard user credentials as well
* incorporate PR feedback
* documentation fix from PR feedback
* Add option to invoke eBPF programs in batch mode
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Fix use of uninitialized memory
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback and additional testing
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Fix code analysis failure
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Cleanup and additional test
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
---------
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
* Add test case for XDP_TX
This tests a failure path since FwpsInjectMacSendAsync0 is not implemented
in fwp_um.cpp. However the CI/CD run ought to repro a leak.
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix analysis warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>
* Clean up order of includes
Fixes#1963
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update clang-format
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Clean up headers
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update sort
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* FIx various build errors
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix ordering if including a .c file
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix cmake build
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More header cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update expected bpf2c output
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More header fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update expected bpf2c output for custom bpf.c
The generate script does not handle this file.
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix tests
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix more expected bpf2c output
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
---------
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
* Add option to generate .spd files for sample driven PGO
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Fix test failure
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Move hook NMR registration into netebpext helper class
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Unit test bind hook
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add cgroup sock addr unit test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add unit tests for rest of cgroup sock addr attach types
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Partial sock_ops unit test support
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add sock_ops unit test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix code analysis warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix code analysis warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix crash
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add netebpfext fuzzer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update solution
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add CI/CD workflow
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add script to create netebpfext corpus
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix code analysis warning
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Handle prog types with no data buffer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix code analysis annotations for _In_ and _In_opt_ parameters,
add const where appropriate or change to _Inout_ where appropriate.
The following regex expressions were used to find the problems:
Find _In_ or _In_opt_ that are not const and are not followed by _Post_invalid_ or _Frees_ptr_ or _Post_ptr_invalid_:
```_In_[ ]+(?!.*(const|_Post_invalid_|_Frees_ptr_|_Post_ptr_invalid_))```
```_In_opt_[ ]+(?!.*(const|_Post_invalid_|_Frees_ptr_|_Post_ptr_invalid_))```
Some of the _In_ and _In_opt_ parameters are not const due to required compatibility with the Windows API.
Pointers to functions are const by definition, so the const qualifier is not required.
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Fix code analysis failure
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
* Use netebpfext_user in fuzz testing
Address the helper function part of #1325
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix winsock inclusion issues
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix nmr implementation
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Update WDK path for more projects
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Disable ubpf warnings
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix unit tests
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Make build install execution context fuzzer corpus
Filed #1505 to improve this
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix libfuzz harness
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix MBL use by core helper fuzzer
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix cmake build
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix user-mode NMR locking issue
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Extra debug statements
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More fixes
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix bad merge
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
* Refactor netebpfext (#1351)
* refactor netebpfext to allow unit and fuzzing
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Normalize parameter casing
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Normalize types
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix release build
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix CMake build
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix NetEbpfExt_headers CMake target
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Rename unit to user
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Switch netebpfext_unit -> netebpfext_user
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Flesh out kernel thunk
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* More canonical naming and W4 clean
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix prefast issue
* Fix CMake
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix code analysis
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
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>
* Clean up fw_thunk.h (#1369)
* Clean up fw_thunk.h
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix SAL annotations
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Netebpf ext unit test (#1365)
* Add netebfpext start/stop unit tests
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Update NMR thunk and expand netebpf_ext helper
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Fix code-analysis issues
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 duplicate NMR includes (#1370)
* Remove duplicate NMR includes
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback and more header cleanup
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>
* Refactor NMR user mode to be thread safe (#1371)
* Refactor NMR user mode to be thread safe
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
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>
* Add a unit test that tests classify_packet in user mode (#1379)
* Add packet test scaffolding
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* More of test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add dummy packet to test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add dummy program
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Cleanup
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix mock NMR bug
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Temporarily add printfs
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Incorporate fix for 1378
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix test bug
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Add a packet-drop case to the test
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Try fixing include path
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
* Fix double free of workitem
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* Revert unrelated changes in ebpfcore and ebpfapi
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
* PR feedback
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>
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>