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

176 Коммитов

Автор SHA1 Сообщение Дата
Igor Klemenski 78f826c2f0
Convert xdp_test and connect_redirect_tests into single-machine tests. (#2699)
* make xdp tests run on 2 duonic pairs

* makre 2-machine tests ready for duonic

* update expected bpf2c files

* rephrase xdp_test VM name comments

* update doc

---------

Co-authored-by: Igor Klemenski <igklemen@microsoft.com>
2023-07-28 01:21:01 +00:00
Sharmi 5c322af64c
Updated TSG doc with latest traces (#2686)
* Updated TSG with latest info

* Added Program type invalid trace

* Update docs/TroubleshootingGuide.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Update docs/TroubleshootingGuide.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Update docs/TroubleshootingGuide.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Addressed PR comments

* Update docs/TroubleshootingGuide.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

---------

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-07-24 15:22:12 +00:00
Dave Thaler 8fecc2e376
Make bpf2c maps parser match verifier's maps parser (#2543)
* Add map_in_map_legacy.c

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

* Make bpf2c maps parser match verifier's maps parser

The verifier will parse "maps/*" sections, and is able to deal with
maps sections with various record sizes.  This PR updates bpf2c to
use the same algorithm.  In the future it would be good to refactor
the verifier so the same code can be used.

Fixes #900

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

* Make tests pass

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

* PR feedback

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

* Rename map_in_map_* samples

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

* Fix BTF ID resolution

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

* PR feedback

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

* Cleanup

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

* Bug fixes

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

* Add doc fix

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

* Update verifier

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

* Updates for libbtf

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

* Use libbtf

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

* Fix sanitize build by using updated libbtf

Temporarily point to fork until https://github.com/vbpf/ebpf-verifier/pull/515
is merged, so we can verify the fix in CI/CD.

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

* Update ebpf-verifier

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

* PR feedback

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

---------

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2023-06-28 18:32:13 +00:00
Gianni Trevisiol 020cdad9b8
Add VC++ Debug redist deployment to `deploy-ebpf.ps1`. (#2613)
* Add VC++ Debug redist deployment.

* wip

* Update doc.

* indent

* adjust $null checks in all PS scripts

* fix
2023-06-24 01:47:59 +00:00
Matthew Ige d8cee6a134
Add troubleshooting guide (#2563)
* Add initial TSG

* reformat traces

* update

* address some CR

* address CR

* add note about ETL

* address CR - reorder some points for clarity
2023-06-19 20:15:44 +00:00
Alan Jowett 9edb6a3da8
Add support for map info via BTF in .maps section (#2551)
* Switch bpf2c to use BTF .maps section

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>
2023-06-08 05:26:05 +00:00
Dave Thaler 87b6520c34
Remove JIT and interpreter code from NativeOnly builds (#2475)
* Remove JIT and interpreter code from NativeOnly builds

Fixes #2030
Fixes #2488

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

* Try conditional project references

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

* Various test fixes

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

* Native-only fixes to deploy-ebpf.ps1

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

* Native-only support for setup-ebpf.ps1

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

* Native-only support for api_test.exe

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

* Add connect_redirect_tests to deploy-ebpf.ps1

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

* PR feedback from Anurag

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

---------

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2023-06-07 15:49:03 +00:00
Gianni Trevisiol dc6e368526
Add script for automating release version update. (#2418)
* draft

* Add missing solution 'FuzzerDebug' update.

* wip

* Update script

* wip

* wip

* wip

* full e2e test pass

* rename

* Build msi&nuget for regular_native-only

* rename

* rename
2023-05-02 08:47:59 +00:00
Dhiren Vispute c0e0804456
Ensure non-zero helper function count before using it in allocation computations. (#2393) 2023-05-02 00:50:34 +00:00
Alan Jowett 332fa2ba1e
Provide option to version info in generated .sys file (#2401)
* Provide option to version info in generated .sys file

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>
2023-05-02 00:39:42 +00:00
Sharmi 70ade2889c
Add Fault injection in NmrClientAttachProvider NMR API (#2364)
* Add Fault injection in NmrClientAttachProvider NMR API

* Update docs
2023-04-24 16:49:56 +00:00
Gianni Trevisiol 44337cb9e7
Update release steps. (#2361) 2023-04-21 15:50:18 +00:00
Sharmi 9c88aeab3c
Update the doc with hash information (#2356) 2023-04-21 15:48:46 +00:00
Michael Friesen 664a6125ac
Fix ebpf_program_batch_end_invoke_function_t definition and clean up NPI (#2329) 2023-04-17 20:23:20 +00:00
Gianni Trevisiol e7ed1b8ad7
Update the release process documentation and add servicing documentation. (#2288)
* Update release process

* Add servicing process

* wip

* Code formatting

* consolidated

* wip

* Update docs/ReleaseProcess.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

---------

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-04-17 15:14:37 +00:00
Dave Thaler 93b7634d23
Fix sanitizer build of fuzzer (#2201)
* 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>
2023-04-13 15:00:49 +00:00
kelowerirql 3fd495af79
Correct the ELF acronym (#2284)
ELF is an acronym for Executable and Linkable Format
2023-04-06 17:26:51 +00:00
Alan Jowett de29fbb951
Remove hard affinity in epoch code (#2262)
* Remove hard affinity in epoch code

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

* Code analysis failure

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

* Remove APC related logic

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

---------

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2023-04-04 02:52:21 +00:00
Gianni Trevisiol 0f773e1858
Add build_msi flag, build nuget on regular build only. (#2204)
* Add build_msi flag, build nuget on regular only

* Embed artifact name in output name

* env vars
2023-03-20 20:06:38 +00:00
Alan Jowett 4cf0391526
Refactor low memory test into generic fault injection (#2173)
* 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>
2023-03-11 02:42:28 +00:00
Gianni Trevisiol 9f58bcb653
Release v0.7.0 (#2169)
* wip

* wip

* wip

* doc

* Fix bpftoc generation script
2023-03-09 18:44:06 +00:00
Gianni Trevisiol 9a2e8ee331
Sync msi's libbpf directory tree to nuget (#2149)
* draft

* include sync

* doc

* doc - release step

* remove pdb
2023-03-07 01:22:09 +00:00
Dhiren Vispute bebb9a14cd
Export new sock_addr specific helper function (windows only) (#2091)
* 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
2023-02-22 20:43:23 +00:00
Gianni Trevisiol 5f4a933f43
Complement artifacts in msi testing feature & PS deploy script's input. (#2088)
* Add testing artifacts, doc tweaks

* doc mods

* Add missing artifacts in deployment script.

* wip

* doc update

* Update docs/InstallEbpf.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

---------

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-02-22 01:34:44 +00:00
Delaram Amiri 4283733f25
Replace Windows style type names with types names that match the coding guidelines (#2019)
* clean up code

* fixing the build

* Update libs/ebpfnetsh/elf.cpp

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* fixing the build

* fixing the build

* fixing the build

* fixing the build

* fixing the build

* fixing the build

* revert HRESULT

* change BOOL type

* change BOOL type

* change BOOL type

* change BOOL type

* change BOOL type

* change BOOL type

* revert LPSERVICE_MAIN_FUNCTION

* revert SERVICE_MAIN_FUNCTION*

* SAL annotation for svcmain.cpp

* revert some SAL annotation

* remove some extra spaces

* fix tests

* change to bool type

* Update map_dll.c

* fix according to dll_main prototype

* fix BOOL

* fix according to dll_main prototype

* BOOl type

* BOOl type

* modify doc for self host runner setup

* modify doc for self host runner setup

* update tests with bool

* Update tests/unit/wer_report_test_wrapper.cpp

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Update libs/platform/user/ebpf_platform_user.cpp

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Update libs/ebpfnetsh/programs.cpp

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* change _Null_terminated_ to _Field_z_

* address PR comment

---------

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Gianni Trevisiol <gtrevi@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2023-02-16 11:56:32 -08:00
Gianni Trevisiol 3c8ff81b4f
Update choco's script hash, specify algorythm. 2023-02-15 23:54:17 +00:00
Gianni Trevisiol 51bdf6a681
Doc update: add .net 3.5 dependency installation step. 2023-02-14 22:52:45 +00:00
red d2014da017
Add support for atomic instructions in bpf2c (#1936) 2023-02-14 11:15:38 -07:00
Alan Jowett 605ba578cd
Workaround to avoid race between attach failing and unregister (#2049)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-02-08 11:51:42 -07:00
Gianni Trevisiol 18a35989b7
fix bullet (#2047) 2023-02-08 09:42:03 -07:00
Gianni Trevisiol c3325dc961
Add Wix Toolset as a `nuget` package. 2023-02-07 21:55:35 +00:00
Dave Thaler 3d626ff9c1
Clean up order of includes (#2015)
* 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>
2023-02-07 18:32:19 +00:00
Gianni Trevisiol 694485a5e3
Add JIT & Interpreter build switches. (#2031)
* draft

* nit

* doc update

* doc update

* description update

---------

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-02-07 15:08:47 +00:00
Dave Thaler c4f8f96599
Bump version to 0.6 in preparation for another unsigned release (#2036)
Following the process documented at
https://github.com/microsoft/ebpf-for-windows/blob/main/docs/ReleaseProcess.md

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2023-02-06 20:22:27 +00:00
Alan Jowett 0174977d80
Document epoch based memory management (#1988)
* Document epoch based memory management

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

* Editorial fixes

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

* Editorial fixes

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

* Add private allocation header and clarify callback

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

* Make it clear the thread state is per thread per cpu

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

---------

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-02-01 23:58:06 +00:00
Michael Friesen c556b4dfae
Add support for deploying eBPF to arbitrary filesystem locations (#1995)
* add support for deploying ebpf to arbitrary filesystem locations

* fix typo

* add documentation

* fix coding style
2023-02-01 15:13:25 -08:00
Dave Thaler 68544ba5e6
Update verifier to latest (#1991)
* Update verifier to latest

Fixes #1451
Fixes #1756

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

* Update samples to work around verifier limitation

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

* Update expected bpf2c output

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

* Fix cmake build

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

---------

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2023-02-01 12:52:20 -07:00
Gianni Trevisiol 715715520c
Added Wix installer native project. (#1960)
* Added Wix native installer.

* Update docs/InstallEbpf.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* Update docs/InstallEbpf.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* typos

* Change ebpfsvc as a "JIT" option for Debug-only.

* misc fixes and improvements

* fix env path

* upload the msi package as a separate artifact

* fix sample driver uninstall, added log doc

* tests passed

* Doc update

* conditional MSI upload for regular/release only

* Upload dual installer version

* Set all drivers to auto start.

* update hash in doc

* Add check for VC++ redist

* doc update

* workaround for WixQuietExec64

* doc update

* Update scripts/run_tests.bat

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2023-01-26 21:25:23 -08:00
Song Jiang 7b142fc481
Use MSI package to build docker image (#1957)
* Use msi package to build docker image

* Fix installation script

* Update docs
2023-01-25 12:48:55 -08:00
Alan Jowett eced450508
Regenerate and checkin corpus files (#1872)
* Regenerate and checkin corpus files

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>
2023-01-24 18:29:10 +00:00
Dave Thaler 023aeb49eb
List test executables in testing document (#1919)
* List test executables in testing document

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

* PR feedback

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

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2023-01-20 21:04:16 +00:00
Dave Thaler fb7d8860be
Remove the obsolete fuzz.exe (#1920)
* Remove the obsolete fuzz.exe

The functionality was replaced by execution_context_fuzzer.exe.

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

* Fix cmake build

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

* Update fuzzing docs

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

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2023-01-20 11:08:52 -07:00
Dave Thaler f2a04af907
Add a project governance doc (#1912)
* Add a project governance doc

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

* Add note about tracing

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>
2023-01-18 19:14:59 -08:00
Dave Thaler 71dcd1d076
Add doc about automated tests (#1913)
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>
2023-01-18 22:19:58 +00:00
Anurag Saxena 80bc1cb737
Support for extension to get the program context (#1827)
* fix

* update doc

* cleanup

* Apply suggestions from code review

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* fix build break

* cr comments

* fix netebpfext um

* Update netebpfext/net_ebpf_ext_prog_info_provider.c

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* fix break

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2023-01-09 20:38:16 +00:00
Alan Jowett de5ab7aaec
Add bpf_prog_test_run_opts support (#1825)
* Add bpf_prog_test_run_opts support

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

* Update BPF syscall interface

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

* Fix code analysis failure

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

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2023-01-09 00:24:24 +00:00
Dhiren Vispute b0c8342ca0
Update table to indicate j*32 ebpf instruction support in bpf2c (#1811) 2023-01-03 21:07:14 +00:00
Dhiren Vispute 971f19b8d4
Add support for j*32 instructions (#1792) 2023-01-02 14:53:19 -08:00
Delaram Amiri 50e41df1f9
Update documentation for fuzz testing (#1790)
* update fuzzing doc

* Update docs/Fuzzing.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

* update based on PR comment

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-12-30 04:15:00 +00:00
Gianni Trevisiol 99b7ece81f
Visual Studio 2022 porting (#1521)
* Draft

* wip - full build

* wip

* Docs & scripts update

* revert test

* Updates to overall GettingStarted.md guide.

* Updated CI/CD scripts

* Update ebpf-verifier cache key

* Fix #1513. Next action forwarded to #1563.

* Bump up epbfverifier to 05bca47

* Fix CRT path.

* Disable sanitizing

* fix cmake build

* Removed unsupported x86 and ARM configurations.

* Test address sanitizer off

* wip -full build w/asan

* asan enabled on ci/cd

* update wdk version to 22621

* wip - full build

* add mock asan

* Update CL param

* wip - proj sync

* wip - ltcg

* wip - driver settings

* wip-build props

* wip - asan opts

* wip-plat asan

* wip-asan

* wip

* wip

* wip-debug

* Branch resync

* Mitigate compiler OOM.

* remove asan mock

* doc update

* doc update

* Removed commented code.

* Added comments for pragma-s
2022-12-08 20:06:57 -07:00