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: 5dba93ae5f2d ("bpf: add ability to load eBPF program from ELF object file") Cc: stable@dpdk.org Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>