You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aya/test/integration-ebpf/src
tyrone-wu cb8e478800
aya,integration-test: improve integration tests for info API
Improves the existing integraiton tests for `loaded_programs()` and
`loaded_maps()` in consideration for older kernels:
  - Opt for `SocketFilter` program in tests since XDP requires v4.8 and
    fragments requires v5.18.
  - For assertion tests, first perform the assertion, if the assertion
    fails, then it checks the host kernel version to see if it is above
    the minimum version requirement. If not, then continue with test,
    otherwise fail.
    For assertions that are skipped, they're logged in stderr which can
    be observed with `-- --nocapture`.

This also fixes the `bpf_prog_get_info_by_fd()` call for kernels below
v4.15. If calling syscall  on kernels below v4.15, it can produce an
`E2BIG` error  because `check_uarg_tail_zero()` expects the entire
struct to all-zero bytes (which is caused from the map info).

Instead, we first attempt the syscall with the map info filled, if it
returns `E2BIG`, then perform syscall again with empty closure.

Also adds doc for which version a kernel feature was introduced for
better  awareness.

The tests have been verified kernel versions:
  - 4.13.0
  - 4.15.0
  - 6.1.0
2 months ago
..
bpf_probe_read.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
lib.rs integration-test: build-dep on integration-ebpf 1 year ago
log.rs aya-log: Allow logging `core::net::Ipv4Addr` and `core::net::Ipv6Addr` 4 months ago
map_test.rs aya,integration-test: improve integration tests for info API 2 months ago
memmove_test.rs feat(aya-ebpf): Add integration test for memmove implementation 4 months ago
name_test.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
pass.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
redirect.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
relocations.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
ring_buf.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
simple_prog.rs aya,integration-test: improve integration tests for info API 2 months ago
test.rs test/integration-ebpf: added integration tests for kretprobe & uretprobe 7 months ago
two_progs.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago
xdp_sec.rs chore(aya-ebpf): Rename bpf -> ebpf 8 months ago