As seen at Cloud Native eBPF Day 2021.
Create a container that we can issue curl requests to.
docker run -d --rm --name backend-A -h backend-A --env TERM=xterm-color nginxdemos/hello:plain-text
# Get the IP address of this target
docker exec -it backend-A ip a
Create a privileged container from which we can run eBPF programs. We will attach most of our programs to its eth0
virtual
interface.
docker run --rm -it -v /usr:/usr -v /home:/home -v /sys:/sys --privileged --env TERM=xterm-color -h container ubuntu
Assuming you cloned this repo into your home directory, the mount of /home
means you can cd /home/<user name>/ebpf-networking
within this container to
find this example code.
In a separate terminal window, observe the debug trace output:
sudo cat /sys/kernel/debug/tracing/trace_pipe
These examples use BCC
See the slides and video (coming soon) for more info on the different examples included here, and how to use them.
Examples include
This is part of a series of eBPF example code that are indexed at lizrice/ebpf-beginners