64ac6feb82
clang 6.0 and onwards, for the external function call generates
BPF_PSEUDO_CALL instruction:
call pseudo +-off -> call another bpf function.
More details about that change: https://lwn.net/Articles/741773/
DPDK BPF implementation right now doesn't support multiple BPF
functions per module.
To overcome that problem, and preserve existing functionality
(ability to call allowed by user external functions),
bpf_elf_load() clears EBPF_PSEUDO_CALL value.
For details how to reproduce the issue:
https://bugs.dpdk.org/show_bug.cgi?id=259
Fixes:
|
||
---|---|---|
.. | ||
bpf_def.h | ||
bpf_exec.c | ||
bpf_impl.h | ||
bpf_jit_x86.c | ||
bpf_load_elf.c | ||
bpf_load.c | ||
bpf_pkt.c | ||
bpf_validate.c | ||
bpf.c | ||
Makefile | ||
meson.build | ||
rte_bpf_ethdev.h | ||
rte_bpf_version.map | ||
rte_bpf.h |