GNU Linux-libre 4.19.286-gnu1
[releases.git] / samples / bpf / tcp_bpf.readme
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
11 Anything that runs under this shell belongs to the foo cgroupv2 To load
12 (attach) one of the tcp_*_kern.o programs:
13
14   ./load_sock_ops -l /tmp/cgroupv2/foo tcp_basertt_kern.o
15
16 If the "-l" flag is used, the load_sock_ops program will continue to run
17 printing the BPF log buffer. The tcp_*_kern.o programs use special print
18 functions to print logging information (if enabled by the ifdef).
19
20 If using netperf/netserver to create traffic, you need to run them under the
21 cgroupv2 to which the BPF programs are attached (i.e. under bash shell
22 attached to the cgroupv2).
23
24 To remove (unattach) a socket_ops BPF program from a cgroupv2:
25
26   ./load_sock_ops -r /tmp/cgroupv2/foo