Executable and Linkable Format (ELF), is the default binary format on Linux-based systems.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Compile with gcc | |
gcc -nostdlib main.c |
Important: This article was written by Github Copilot, while it's not entirely accurate, it's quite good to see what it ended up with.
The bpf verifier is a tool that can be used to check the correctness of eBPF programs. It is implemented in C and is used by the kernel. When the kernel is built with CONFIG_BPF_JIT, it does further optimization on the BPF programs.
To write a valid eBPF program you need to follow a few rules:
Flux is a lightweight scripting language for querying databases (like InfluxDB) and working with data. It's part of InfluxDB 1.7 and 2.0, but can be run independently of those.
This gist contains a main.go
file that shows how flux can be used as a library in your programs.
The main components you need are:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <linux/bpf.h> | |
#include <linux/in.h> | |
#include <linux/if_ether.h> | |
#include <linux/ip.h> | |
#define SEC(NAME) __attribute__((section(NAME), used)) | |
SEC("dropper_main") | |
int dropper(struct xdp_md *ctx) { | |
int ipsize = 0; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[[constraint]] | |
name = "k8s.io/api" | |
version = "kubernetes-1.11.0" | |
[[constraint]] | |
name = "k8s.io/apimachinery" | |
version = "kubernetes-1.11.0" | |
[[constraint]] | |
name = "k8s.io/client-go" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Calculate the offset | |
offset(fn) = virtual_address(fn) - virtual_address(.text) + offset(.text) | |
2. Virtual address: | |
readelf -S /home/fntlnz/go/bin/influx | grep -i text | |
[ 1] .text PROGBITS 0000000000401000 00001000 | |
So, virtual address= 0x0000000000401000 |
docker service create --mode global --mount type=volume,volume-opt=o=addr=10.3.20.25,volume-opt=device=:/share/poc1/pluto,volume-opt=type=nfs,source=pluto,target=/pluto --name nfstest alpine top
NewerOlder