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

663 Коммитов

Автор SHA1 Сообщение Дата
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
Dave Thaler cd77fe694b
Add libbpf bpf_create_map_in_map() API (#613)
* Add libbpf bpf_create_map_in_map() API

* bpf_create_map() now fails for outer maps.  You must use
  bpf_create_map_in_map() instead.
* Fix bug where EBPF_INVALID_FD was incorrectly converted to
  EBPF_INVALID_ARGUMENT by ioctl handling code (part of issue #595)
  One symptom of this bug was that errno was being set to EINVAL
  in a number of cases which should have been EBADF.
* Fix bug where a HASH_OF_MAPS (unlike ARRAY_OF_MAPS) wasn't enforcing
  that an inner map value had to match the inner map template.
  Refactored the code in ebpf_maps.c so the checking is in done in one
  place called by both maps, to ensure consistency.
* Fix bug in HASH_OF_MAPS where if an update failed, it would leave
  the old entry but incorrectly drop the reference it held.  It now
  preserves the reference since the entry is unchanged.
* Added test case for ARRAY_OF_MAPS created via libbpf.  Previously
  only HASH_OF_MAPS creation was tested for that path.

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

* Fix bug caught by kernel test

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-09-29 14:13:24 -07:00
Dave Thaler 599230fd3f
Libbpf doxygen fixes (#608)
* Libbpf doxygen fixes

* Add missing bpf_map__name
* Move bpf_object__unload to be in alphabetical order

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-09-28 17:22:31 -07:00
Alan Jowett 082d938501
Implement BPF_MAP_TYPE_LPM_TRIE over lock-free hashmap. (#572)
* Implement BPF_MAP_TYPE_LPM_TRIE over lock-free hashmap.

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2021-09-28 13:27:50 -07:00
Alan Jowett 65783fb64d
Getting started should nuget restore (#602)
The getting started guide doesn't say to run nuget restore. Without that step the build fails.
2021-09-28 12:46:35 -07: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
poornagmsft f8ee22f4f4
add port_quota demo tool to the getting started document (#587)
* add port_quota demo tool to the getting started document

Co-authored-by: Poorna Gaddehosur <poornag@ntdev.microsoft.com>
2021-09-28 10:28:58 -07:00
Dave Thaler 1a17769087
Add program type and attach type to netsh output (#603)
* Add program type to netsh "show programs" output
* Add attach type to netsh "show links" output

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2021-09-28 09:45:22 -07:00