Userspace ebpf programs might utilize bpf_tail_call helper and BPF_MAP_TYPE_PROG_ARRAY. fds in BPF_MAP_TYPE_PROG_ARRAY should be kernel prog fds.
kernel programs to call could be arbitary types that bpf_prog_test_run supports (see https://docs.kernel.org/bpf/bpf_prog_run.html#id1 for full list). In our unit tests, we use BPF_PROG_TYPE_RAW_TRACEPOINT.
Context passed through bpf_tail_call should either be a null pointer (where bpftime will provide 64-byte context to the kernel program), or an at-least 64 byte buffer.
Implement userspace to kernel tailcall.
Userspace ebpf programs might utilize bpf_tail_call helper and BPF_MAP_TYPE_PROG_ARRAY. fds in BPF_MAP_TYPE_PROG_ARRAY should be kernel prog fds.
kernel programs to call could be arbitary types that bpf_prog_test_run supports (see https://docs.kernel.org/bpf/bpf_prog_run.html#id1 for full list). In our unit tests, we use BPF_PROG_TYPE_RAW_TRACEPOINT.
Context passed through bpf_tail_call should either be a null pointer (where bpftime will provide 64-byte context to the kernel program), or an at-least 64 byte buffer.