Comments (4)
This is to expose literally the libbpf APIs, at least as .h file inline wrappers if not native.
from ebpf-for-windows.
libbpf APIs have a permissive license so some of the code may be usable, even if not the code that wraps bpf() syscall.
from ebpf-for-windows.
There are some issues currently in the libbpf code base, including:
- GCC compiler-specific pragmas and
__attribute__
markups - Direct inclusion of <linux/…> headers
- GCC-compiler specific language construct “= {}” instead of “= {0}”
- GCC-compiler pecific language construct "?:", as in "err = err ?: value;"
- Deprecated APIs like strdup instead of _strdup
- Files with ambiguous license (no header at top) like https://raw.githubusercontent.com/libbpf/libbpf/master/travis-ci/vmtest/vmlinux.h
The above could only be addressed by updating the libbpf code itself.
from ebpf-for-windows.
After much investigation, I've concluded that it would not currently make sense to try to use libbpf code directly, since libbpf hard-codes a list of prog types, helper func id names, etc., which lists can vary by platform. So the current libbpf implementation is really Linux-specific even if the header file is platform agnostic. At least in the short term, runtime implementations would be better off implementing their own platform-specific implementations of the common libbpf header.
from ebpf-for-windows.
Related Issues (20)
- `ebpf_serialize` module should be moved to test code. HOT 2
- Fix code scanning alert - Token-Permissions
- Fix code scanning alert - Branch-Protection HOT 1
- Fix code scanning alert - Pinned-Dependencies HOT 1
- Remove KM version of eBPF store APIs
- Update the ReleaseProcess.md to standardize Debug artifacts in Release
- Fix the IOCTL numbers so that ebpfapi.dll for x64 and x64-NativeOnly are cross-compatible. HOT 1
- Change of struct name from xdp_md to xdp_md_ breaks eBPF programs that assume older name HOT 1
- Workflow failed - driver_native_only_ws2019 HOT 3
- Workflow failed - bpf2c_fuzzer HOT 4
- Workflow failed - driver_ws2019 HOT 2
- Scheduled eBPF release is due HOT 1
- Workflow failed - fault_injection_full HOT 8
- Test cleanup - Duplicate code to load either .o or .dll for testing
- bpf_test_run_opts should support passing required IRQL
- Implement File System eBPF hook
- Workflow failed - km_mt_stress_tests_restart_extension HOT 33
- Capture user and kernel dumps for all kernel mode tests for in cases of run-time hangs HOT 2
- bpf2c_plugin doesn't support --elf argument HOT 1
- Workflow failed - user_mode_multi_threaded_stress HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ebpf-for-windows.