Split and rename files so there is one userspace program (pping) and
two kernel-space ones (one for XDP and one for TC-BPF).
Copy the shell script for loading the TC-BPF program from
traffic-pacing-edt folder, but add support for loading a specific
section.
The XDP and TC-BPF programs do not share the ts_start map, so program
does not work.
Signed-off-by: Simon Sundberg <simon.sundberg@kau.se>
The XDP program pushes the calculated RTTs to userspace through the
perf-buffer and the userspace program polls it to print them out
Signed-off-by: Simon Sundberg <simon.sundberg@kau.se>
When installing libbpf headers into 'lib/libbpf/src/root/' then the git
submodule for libbpf is marked dirty. This result in stgit complains under
different operations.
This patch fix the issue by installing libbpf outside submodule directory.
Choose directory 'lib/libbpf-install/' to emphasize relation to 'lib/libbpf/'.
V2: Don't install the library only the header files as before. Also
installing the should be a separate commit. Patch still statically
link with libbpf/src/libbpf.a.
Signed-off-by: Jesper Dangaard Brouer <netoptimizer@brouer.com>
SPDX-License should be first line in file.
This Makefile is for bpf-examples not xdp-tools.
Signed-off-by: Jesper Dangaard Brouer <netoptimizer@brouer.com>
We run 'make install' inside the libbpf subdirectory which will mark it as
'dirty' as far as the parent repo is concerned. Since we're not doing any
libbpf development in this repository, just ignoring it should not bring
any issues; we'll still get a notification if the committed content of the
submodule changes.
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
On production setup i40e driver sends all packets to CPU-6 (RX).
Thus, we want to exclude CPU-6 itself from processing/pacing
packets itself.
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com>
Implement configure script that detect support, and Makefile
defines that propagate to BPF-C file, making it possible to
use and compile with BTF type maps.
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com>
The bpftrace programs use bpf_ktime_get_boot_ns, for underlying 'nsecs'
keyword. Switch TC-BPF prog to use the same, to make sure that we
don't report false result when detecting/measureing EDT accuracy.
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com>
This can be used by bpftrace programs to identify different
stages, when trying to determine the EDT accuracy.
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com>
Also found measurement tool can disturb timing.
I might have to write this in BPF-C directly to avoid overhead.
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com>
The hard drop horizon (T_HORIZON_DROP) can be increased (to 40ms)
as codel target latency (T_HORIZON_TARGET) is taking care of
signaling TCP downloads via drops (after codel scheme).
Signed-off-by: Jesper D. Brouer <netoptimizer@brouer.com>