Commit | Line | Data |
---|---|---|
bfdf7569 LB |
1 | This file describes how to run the tcp_*_kern.o tcp_bpf (or socket_ops) |
2 | programs. These programs attach to a cgroupv2. The following commands create | |
3 | a cgroupv2 and attach a bash shell to the group. | |
4 | ||
5 | mkdir -p /tmp/cgroupv2 | |
6 | mount -t cgroup2 none /tmp/cgroupv2 | |
7 | mkdir -p /tmp/cgroupv2/foo | |
8 | bash | |
9 | echo $$ >> /tmp/cgroupv2/foo/cgroup.procs | |
10 | ||
ea9b6362 | 11 | Anything that runs under this shell belongs to the foo cgroupv2. To load |
bfdf7569 LB |
12 | (attach) one of the tcp_*_kern.o programs: |
13 | ||
ea9b6362 JK |
14 | bpftool prog load tcp_basertt_kern.o /sys/fs/bpf/tcp_prog |
15 | bpftool cgroup attach /tmp/cgroupv2/foo sock_ops pinned /sys/fs/bpf/tcp_prog | |
16 | bpftool prog tracelog | |
bfdf7569 | 17 | |
ea9b6362 JK |
18 | "bpftool prog tracelog" will continue to run printing the BPF log buffer. |
19 | The tcp_*_kern.o programs use special print functions to print logging | |
20 | information (if enabled by the ifdef). | |
bfdf7569 LB |
21 | |
22 | If using netperf/netserver to create traffic, you need to run them under the | |
23 | cgroupv2 to which the BPF programs are attached (i.e. under bash shell | |
24 | attached to the cgroupv2). | |
25 | ||
26 | To remove (unattach) a socket_ops BPF program from a cgroupv2: | |
27 | ||
d78e3f06 | 28 | bpftool cgroup detach /tmp/cgroupv2/foo sock_ops pinned /sys/fs/bpf/tcp_prog |