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

470 Коммитов

Автор SHA1 Сообщение Дата
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
Alan Jowett 01f9c471c9
Implement simple version of BPF_MAP_TYPE_STACK (#617)
* Implement simple version of BPF_MAP_TYPE_STACK

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

* PR feedback

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

* Update libs/execution_context/ebpf_maps.c

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

* Update libs/execution_context/ebpf_maps.c

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

* Fix rename of error code on merge

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-07 12:44:36 -06:00
Shankar Seal c0339539fb
selfhost runner (#622)
* selfhost runner

* Apply suggestions from code review

* Remove Release from WF

* Apply suggestions from code review

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

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-10-06 23:40:17 -07:00
Alan Jowett 8cb38f9837
Core platform support for ring buffer. (#606)
* Add support for ebpf_ring_buffer_t construct to core platform

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

* PR feedback

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

* Fix build break

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

* PR feedback

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

* Eliminate undefined behavior around calculating remaining space

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-10-05 15:18:28 -06:00
Alan Jowett 90a72d29c2
Add support for parsing and composing TLV with fields > 16bit length (#631)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-10-04 17:52:47 -06:00
Shankar Seal 4dfff59f49
make bpf_csum_diff a global helper. (#625)
* make bpf_csum_diff a global helper.
2021-10-04 11:29:36 -07:00
Shankar Seal 97bd9cf7f6
add ingress interface index to xdp context. (#623)
* add ingress interface index to xdp context.

* Address PR feedback.

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2021-10-04 10:53:42 -06:00
Alan Jowett 9a7eebd993
Update driver_test.yml (#627) 2021-10-04 10:04:35 -06:00
Dave Thaler c87bdf7a5c
Add documentation on how to debug the kernel of a VM (#614)
* Add documentation on how to debug the kernel of a VM.
* Add network debugging as an alternative link

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-10-01 18:52:34 -07:00
Alan Jowett 244325d8cd
Add performance test for LRU map (#607)
* Add performance test for LRU map

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

* Add additional test for BPF_MAP_TYPE_LRU_HASH

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

* More bug fixes

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

* Fix build break

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-10-01 18:07:19 -06:00
saxena-anurag 1bbbc41233
add auto-pinning option for maps. (#612)
* add auto-pinning option

* Apply suggestions from code review

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

* Configure custom pin_root_path using bpf_object_open_opts

* use new api for map-in-map, remove pinning restriction for inner map, remove workaround for inner map id

* code cleanup

* cr comments

* Apply suggestions from code review

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

* fix bad merge

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-10-01 09:01:39 -06:00
saxena-anurag ea5add0cc6
add inner_id support for map of map (#619)
* add inner_id support

* cleanup

* cr comments

* cr comments
2021-09-30 15:14:26 -07:00
Dave Thaler 80c953280e
Add libbpf bpf_prog_bind_map() API (#611)
* Add libbpf bpf_prog_bind_map() API

Fixes #379

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

* Fix SAL annotation

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

* Fix leak

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

* Address feedback

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

* Make program lock protect the set of maps associated with the program

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

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2021-09-30 11:43:06 -06:00
saxena-anurag deea7819c9
fix (#615)
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2021-09-30 09:37:46 -07:00
Alan Jowett a3d035bc38
Provide more details on how ebpf_bitmap_t works. (#610)
* PR feedback to clarify how bitmap works

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-09-29 20:10:01 -07:00
Alan Jowett bc104c03f3
Add support for bpf_map_lookup_and_delete_elem & BPF_MAP_TYPE_QUEUE (#605)
* Add support for BPF_MAP_TYPE_QUEUE
* Expose bpf_map_lookup_and_delete_elem helper and API

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2021-09-29 18:47:30 -06:00