* 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>
* minor updates to arch diagram
* update the png file based on the visio
* update extension description
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>