mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-12-26 07:29:34 +00:00
lib bpf: Add support for BPF_PROG_ATTACH and BPF_PROG_DETACH
Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
7d59d6354f
commit
fc4ccce038
@ -75,6 +75,9 @@ int bpf_trace_pipe(void);
|
||||
|
||||
void bpf_print_ops(FILE *f, struct rtattr *bpf_ops, __u16 len);
|
||||
|
||||
int bpf_prog_attach_fd(int prog_fd, int target_fd, enum bpf_attach_type type);
|
||||
int bpf_prog_detach_fd(int target_fd, enum bpf_attach_type type);
|
||||
|
||||
#ifdef HAVE_ELF
|
||||
int bpf_send_map_fds(const char *path, const char *obj);
|
||||
int bpf_recv_map_fds(const char *path, int *fds, struct bpf_map_aux *aux,
|
||||
|
||||
21
lib/bpf.c
21
lib/bpf.c
@ -868,6 +868,27 @@ out_prog:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int bpf_prog_attach_fd(int prog_fd, int target_fd, enum bpf_attach_type type)
|
||||
{
|
||||
union bpf_attr attr = {};
|
||||
|
||||
attr.target_fd = target_fd;
|
||||
attr.attach_bpf_fd = prog_fd;
|
||||
attr.attach_type = type;
|
||||
|
||||
return bpf(BPF_PROG_ATTACH, &attr, sizeof(attr));
|
||||
}
|
||||
|
||||
int bpf_prog_detach_fd(int target_fd, enum bpf_attach_type type)
|
||||
{
|
||||
union bpf_attr attr = {};
|
||||
|
||||
attr.target_fd = target_fd;
|
||||
attr.attach_type = type;
|
||||
|
||||
return bpf(BPF_PROG_DETACH, &attr, sizeof(attr));
|
||||
}
|
||||
|
||||
#ifdef HAVE_ELF
|
||||
struct bpf_elf_prog {
|
||||
enum bpf_prog_type type;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user