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

935 Коммитов

Автор SHA1 Сообщение Дата
Alan Jowett 9bf579de43
Document Native Code Generations (#763)
* Document Native Code Generations

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-02-23 08:58:29 -07:00
Alan Jowett 1dafb123d6
Emit function name if found (#771)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-02-22 18:01:54 -07:00
Alan Jowett 407b57fb01
Update codeql-analysis.yml (#766) 2022-02-18 10:45:18 -08:00
Alan Jowett e5aec8985c
Parse BTF data if present and emit #line directives (#764)
* Parse BTF data if present and emit #line directives

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-02-16 12:49:04 -07:00
Alan Jowett 430e575f1a
Add tool to generate C code from eBPF byte code in ELF file (#757)
Add bpf2, a tool to generate C programs from eBPF instructions in an ELF file.

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-02-15 17:44:23 -07:00
Dave Thaler 59c0b4e185
Allow attaching an XDP program to a specific ifindex (#755)
* Allow attaching an XDP program to a specific ifindex
* Update tests since droppacket.o changed
* Add ifindex use back to droppacket.c for testing purposes
* Verify xdp program to unlink is actually an XDP program
* Add comment re moving xdp fd replace logic to execution context
* Add libbpf test and add support for bpf_xdp_query_id

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-02-14 16:40:56 -08: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
Alan Jowett d98a296d42
Add option EBPF_JIT_ALWAYS_ON to permit building EC with no interpreter (#742)
* Add option EBPF_JIT_ALWAYS_ON to permit building EC with no interpreter

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

* Add documentation on using compile time options

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

* Set EBPF_JIT_ALWAYS_ON for release builds

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

* Tests should expect interpret to fail if EBPF_JIT_ALWAYS_ON is defined

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

* Rename EBPF_JIT_ALWAYS_ON to CONFIG_BPF_JIT_ALWAYS_ON

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

* Tests should expect interpret to fail if EBPF_JIT_ALWAYS_ON is defined

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

* Update docs/GettingStarted.md

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

* Load returns EBPF_PROGRAM_LOAD_FAILED

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

* Split up load into individual test cases

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

* Program load fails with EBPF_PROGRAM_LOAD_FAILED

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

* Skip tests that depend on interpret mode when it's disabled

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

* PR feedback

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-02-04 10:41:52 -07:00
saxena-anurag 56eff76d59
update ebpf-verifier to a fork with latest changes (#750) 2022-02-02 17:29:48 -08:00
saxena-anurag 4a1e01ee08
add script to copy pre-commit file to relative hooks folder (#745)
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-02-02 12:58:00 -08:00
Dave Thaler 6ab5030e54
Fix broken link to InstallEbpf.md (#743)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-02-02 10:04:31 -07:00
Shankar Seal 48f0ff60e2
fix CICD script to throw on test failure. (#741)
* fix script.

* temporary workaround.

* fix test.
2022-01-31 21:23:23 -08:00
saxena-anurag 6b4dda75a1
remove ebpf_api_initiate, ebpf_api_terminate from sources (#738)
* remove ebpf_api_initiate, ebpf_api_terminate from sources

* cleaup traces

* cleanup traces
2022-01-31 08:32:28 -08:00
Shankar Seal a782d86ce1
refactor maps (#719)
* refactor maps

* PR Feedback.
2022-01-24 18:26:45 -08:00
Shankar Seal cf0e761216
run_tests workflow. (#729) 2022-01-24 17:18:25 -08:00
Dave Thaler 8a5e2f8db2
Update docs (#724)
Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-01-24 08:51:23 -08:00
Dave Thaler 228d7f6b60
Minor cleanup in sample extension (#726)
* Hard code the extension name in only one place
* Change "Test" to "Sample" in various comments

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-01-23 21:52:40 -08:00
Dave Thaler 8dc0f5e1b5
Support map fds with bpf_load_program (#718)
* Support map fds with bpf_load_program

Fixes #714

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

* Address code review feedback

Also do some code cleanup

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

* Address feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-01-14 14:11:19 -08:00
Dave Thaler b9dc141163
Add bpf() API (#711)
* Add bpf() API

Addresses issue #559

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

* Address code review suggestion

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-01-11 20:47:06 -08:00
poornagmsft eae18558cc
minor updates to arch diagram (#713)
* minor updates to arch diagram

* update the png file based on the visio

* update extension description

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-01-11 09:03:54 -08:00
Dave Thaler 41f5fd1b29
Add bpf_load_program, bpf_load_program_xattr APIs (#710)
* Add bpf_load_program, bpf_load_program_xattr APIs

Fixes #186

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

* Address review feedback

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

* Address code review feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-01-07 10:31:31 -08:00
Yinon Avraham c4ced0928d
Align formatting (#705)
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-01-04 11:03:37 -08:00
Dave Thaler 6fb17c819e
Disable color output to avoid appverif problem (#708)
* Disable color output to avoid appverif problem

There does not appear to be any simple way to use a custom color
class with CATCH2 so we just disable color as is done for a UWP.

Fixes #679

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

* Add reference to catch2 issue

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-01-04 10:23:24 -08:00
Alan Jowett d8f00f8513
Accelerate build (#698)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-12-16 12:22:41 -07:00
Song Jiang 90e9672735
More improvements on GettingStarted.md (#695)
* More improvements on GettingStarted.md

* Update docs/GettingStarted.md

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

* Update docs/GettingStarted.md

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-12-14 16:15:10 -08:00
saxena-anurag eecc851f32
Add support to clear prog array entry (#680)
* add support to clear prog array entry

* cr comments

* cr comments

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2021-12-13 12:22:35 -07:00
Song Jiang 562e51c057
updated version of Spectre-mitigated libs for docs (#690)
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-12-13 12:01:02 -07:00
Alan Jowett dc90e386fe
Pin actions/upload-artifact to version 2.2.4 to unblock ci/cd (#694)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-12-13 10:05:19 -08:00
Shankar Seal 0f433ff5fe
decap ip-in-ip. (#682)
* decap ip-in-ip.

* PR feedback.
2021-12-06 15:47:34 -08:00
Dave Thaler e9f454c4e1
Add tutorial for debugging verification issues (#676)
* Add tutorial for debugging verification issues

Fixes #656

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

* Address PR comment

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-12-06 08:54:47 -08:00
Shankar Seal 91e74be955
ring buffer map. (#659)
* ring buffer map.

* PR Feedback iteration 0.

* PR Feedback iteration 1

* Fix race.

* PR Feedback iteration 2

* bugfix.

* Bug fix.

* Fix test issue

* PR Feedback.

* Update libs/api_common/device_helper.cpp

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-12-03 13:19:21 -08:00
James Sturtevant 93d1c3e66f
Updates link to slack (#677) 2021-11-30 08:59:36 -07:00
Dave Thaler f184993c66
Add doxygen comments on all map types and map options (#675)
* Add doxygen comments on all map types and map options

Fixes #672

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

* Address PR comment

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-11-29 11:47:58 -08:00
saxena-anurag 5328bf3f14
tail_call fix (#670)
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-11-23 12:38:29 -08:00
Dave Thaler b771bac9bd
Update docs (#665)
* Update docs

Fixes #651
Fixes #655

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

* Fix xdp_hook_t documentation

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

* Address CR comment

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

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2021-11-19 17:10:49 -08:00
Alan Jowett f920f9d1f5
Fix crash in kernel on divide by zero (#667)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-11-19 11:56:32 -08:00
saxena-anurag 3b118fa779
netebpfext fix (#663) 2021-11-18 14:24:55 -08:00
Alan Jowett 123e7a2626
Fix driver verifier failure due to not setting the flag to indicate pages are locked (#653)
* Fix driver verifier failure due to not setting the flag to indicate pages are locked

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

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-11-10 13:48:58 -07:00
Dave Thaler 1664a4f58b
Update to latest verifier code (#652)
* Update to latest verifier code

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

* Add reference to yaml-cpp vcxproj file

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

* Fix verifier tests

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-11-07 10:47:47 -08:00
Alan Jowett f3a10a1b0e
Update external/ubpf to latest (#650)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-11-03 10:24:54 -06:00
Alan Jowett 260a8d77dc
Instrument eBPF for Windows platform layer (#647)
* Instrument eBPF Core with tracing

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-11-03 09:33:40 -06:00
Shankar Seal 65f3a545a5
remove dupe functions. (#649)
* remove dupe functions.
2021-10-29 02:49:43 -07:00
Alan Jowett 043f16691e
Add initial infrastructure to trace function entry/exit in eBPF (#646)
* Add initial infrastructure to trace function entry/exit in eBPF

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

* Offline feedback

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

* Fix verifier false positive

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-10-27 09:57:23 -06:00
Shankar Seal d6fca3107b
doc changes (#643)
* doc changes

* PR Feedback.

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-10-27 08:19:26 -07:00
Dave Thaler f15fd232c7
Preserve ebpf_result values up through user mode APIs (#642)
* Rename win32 error code APIs for internal consistency

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

* Update error mappings

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

* Replace unstable NTSTATUS code with a documented one

STATUS_FILE_NOT_SUPPORTED does not appear in MS-ERREF and support varies
by OS version so cannot be relied on.  Replaced with
STATUS_INVALID_IMAGE_FORMAT.

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-10-25 14:35:25 -07:00
Shankar Seal 01384c7880
Add filter in outbound L2 layer. (#641)
* Add filter in outbound L2 layer.

* PR Feedback.

* Apply suggestions from code review

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-10-20 21:18:31 -07:00
Shankar Seal 59045d3446
remove links to nuget cache (#638) 2021-10-18 13:06:02 -07:00
Alan Jowett be119ea8b6
Add code in mock layer and driver to handle async requests (#632)
* Add logic to track asynchronous operations

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-10-14 14:22:35 -06:00
Alan Jowett cb4381bea9
Remove old kernel CI/CD workflow (#636)
* Remove old kernel CI/CD workflow

Now that the new kernel CI/CD workflow is working, we can remove the old one.

* Add release to test matrix
2021-10-12 08:43:59 -06:00
Alan Jowett ee6a81bc74
Add logic to track asynchronous ebpf operations (#626)
* Add logic to track asynchronous operations

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>

* Switch to American spelling

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

* Update libs/platform/ebpf_completion.h

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

* Update libs/platform/ebpf_completion.h

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

* Rename ebpf_completion to ebpf_async

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

* Backport fixes from #632

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

* PR feedback

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-10-11 16:03:22 -06:00