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>
* 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>
* 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>
* 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>