mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-08-04 18:21:32 +00:00
* Determine the Go ABI and get `goid` offset from DWARF
* Add `ABI` enum and morph the function according to the detected ABI
* Pass `goid` offset to an eBPF map to retrieve it in eBPF context
* Add `vmlinux.h` and implement `get_goid_from_thread_local_storage`
* Fix BPF verifier errors
* Update the comments
* Add `go_abi_0.h` and implement `ABI0` specific reads for `arm64`
* Upgrade `github.com/cilium/ebpf` to `v0.9.0`
* Add a comment
* Add macros for x86 specific parts
* Update `x86.o`
* Fix the map key type
* Add `user_pt_regs`
* Update arm64 object file
* Fix the version detection logic
* Add `getGStructOffset` method
* Define `goid_offsets`, `goid_offsets_map` structs and pass the offsets correctly
* Fix the `net.TCPConn` and buffer addresses for `ABI0`
* Remove comment
* Fix the issues for arm64 build
* Update x86.o
* Revert "Fix the issues for arm64 build"
This reverts commit
|
||
---|---|---|
.. | ||
build.sh | ||
Dockerfile | ||
README.md |
Bpf builder
Currently we push the ebpf *.o
files to source control, the motivation for it is to avoid the need for everyone to compile it in their PC.
This directory helps those who do want to build the .o files, it also serve as a documentation for the process of compiling the ebpf code.
How to run ebpf-builder
From you shell, go to this directory and run ./build.sh
Once the docker finished successfully, make sure to commit the four relevant files.
tlstapper_bpfeb.go tlstapper_bpfel.go tlstapper_bpfeb.o tlstapper_bpfel.o