Граф коммитов

25 Коммитов

Автор SHA1 Сообщение Дата
Alan Jowett f2e17ef88c
Switch to mt19937 algorithm (#2956)
* Switch to mt19937 algorithm

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Improve PRNG tests

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Revert usersim change

Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* Fix include path

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>
2023-10-09 18:07:35 +00:00
Dave Thaler 83de72512b
Update to use latest usersim (#2858)
* 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>
2023-09-20 01:07:46 +00:00
Dave Thaler c947ca63b9
Make runtime binaries not depend on usersim (#2783)
* 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>
2023-09-05 17:57:21 +00:00
Dave Thaler ec27659adf
Move usersim code into a separate repo (#2596)
* 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>
2023-06-27 15:26:46 +00:00
Alan Jowett ca5321adbd
Remove bpf_conformance submodule (#1816)
* Remove bpf_conformance submodule

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix path to bpf_conformance test files

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2023-01-04 09:07:43 -08:00
Alan Jowett fb9d87c057
Switch to release of bpf_conformance (#1692)
* Pickup v0.0.3 of bpf_conformance_runner

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-12-01 18:47:19 +00:00
Delaram Amiri c2831aa3a0
dependabot's tracking for 'gitmodules' is failing (#1589)
* modify .gitmodules

* modify .gitmodules

* change .gitmodules
2022-11-07 20:09:10 -07:00
Dave Thaler 3a9958f501
Support "netsh ebpf show sections" with native drivers (#1070)
* WIP: enumerate sections in native code

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Make bpf2c emit section names

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* More of PE section enumeration

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix program type and map count display for native programs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update cmake files

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Temporarily disable some compiler warnings for the pe-parse project

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Native programs have different sizes for skeleton in debug vs release

Also add text case for section is just ".text"

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address PR feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Force inlining utility functions inside ebpf programs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update expected output

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* More expected output changes

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix ebpfapi to allow a single section of name .text

To match libbpf behavior

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Resolve analysis warnings

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix analysis warnings

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address PR comments from Anurag

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-05-11 14:06:49 -07:00
Alessandro Gario 6a54714ec2
cmake: Add base targets (#882)
Signed-off-by: Alessandro Gario <alessandro.gario@gmail.com>
2022-04-26 05:39:37 -07:00
Alan Jowett b06f6ac820
Remove Linux + parcon dependency (#906)
* Remove Linux + parcon dependency

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Remove Linux + parcon dependency

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Set path to compiler

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix the build

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix build

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedbac

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-04-07 17:19:04 -07:00
Dave Thaler b9d46ae8e4
Use upstream main branch for ebpf-verifier (#894)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-04-05 11:01:36 -07:00
Alan Jowett 977c41018f
Fix pip dependencies (#838)
* Test of setting up requirements for bpf2c_tests

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Attempt to pin

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix parcon dependency

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Add parcon as submodule

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix parcon

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-30 13:04:11 -06:00
dependabot[bot] 7f9cead638
Bump external/bpftool from `3aea563` to `a7f0e7f` (#830)
* Bump external/bpftool from `3aea563` to `a7f0e7f`

Bumps [external/bpftool](https://github.com/dthaler/bpftool-1) from `3aea563` to `a7f0e7f`.
- [Release notes](https://github.com/dthaler/bpftool-1/releases)
- [Commits](3aea5630b1...a7f0e7f057)

---
updated-dependencies:
- dependency-name: external/bpftool
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix gitmodules to point to windows branch

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-03-21 20:47:15 -06:00
Alan Jowett 5e468b8857
Switch to current catch2 release (#809)
* Switch to current catch2 release

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-18 17:39:21 -06:00
Dave Thaler 34598edf84
Update bpftool and libbpf dependencies (#744)
* Update bpftool

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update paths to libbpf and bpftool

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add more libbpf APIs

* Added bpf_map_create, bpf_object__next_map, bpf_object__next_program, bpf_object__prev_map, bpf_object__prev_program
* Removed obsolete exports ebpf_create_map and ebpf_create_map_name
* Updated prototype of bpf_program__attach and bpf_progam__attach_xdp to
  match latest libbpf header

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address code review feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-02-08 13:21:19 -08:00
saxena-anurag 56eff76d59
update ebpf-verifier to a fork with latest changes (#750) 2022-02-02 17:29:48 -08:00
Dave Thaler ce12b0cb0c
Initial bpftool port (#597)
* Initial libbpf port

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-09-28 11:44:26 -07:00
Dave Thaler 8006f181e0
Libbpf API compatibility (#350)
* Libbpf API compatibility

Libbpf is incorporated as a submodule just for the header file.
As discussed in issue #84, we cannot currently use the implementation
since it is very Linux and GCC specific.

This PR also fixes a bug where the user-mode API was calling
CloseHandle directly instead of Platform::CloseHandle which is needed
to make tests work with the mock platform.

Addresses #84

Some code will be cleaner once issue #81 is done

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-07-30 15:34:21 -07:00
Alan Jowett 38dae7294d
Switch to using https://github.com/iovisor/ubpf as the upstream branch for ubpf (#178)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-05-11 20:48:32 -07:00
Alan Jowett aa04455d1f Merged PR 4246780: Switch to ebpf / prevail master branch
Switch to ebpf / prevail master branch
2021-03-16 01:39:35 +00:00
Dave Thaler 6b9fb4b103 Use the Prevail master branch
Moves Windows platform files into the internal repo.

Also adds ebpf_windows.h file to centralize defines that were previously
duplicated in at least three places.

Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-03-02 20:54:15 -08:00
Alan Jowett ec1eba0da5 Merged PR 4081118: Add first draft of code invoke ioctl interface
Add first draft of code invoke ioctl interface
2021-02-06 19:39:57 +00:00
Alan Jowett c3dd0ae742 Merged PR 4079802: Add src/ebpf/libs/EbpfJitterDemoLib/
Add src/ebpf/libs/EbpfJitterDemoLib/
2021-02-05 18:56:12 +00:00
Alan Jowett df26662865 Merged PR 4002430: Add skeleton enclave + host code
Add skeleton enclave + host code
2021-01-21 20:13:48 +00:00
Dave Thaler 1a3539874b Add ebpf-verifier as submodule
Signed-off-by: Dave Thaler <dthaler@ntdev.microsoft.com>
2021-01-15 17:22:07 -08:00