Merge "Add attach bpf with flags and detach single bpf"
diff --git a/staticlibs/native/bpf_syscall_wrappers/include/BpfSyscallWrappers.h b/staticlibs/native/bpf_syscall_wrappers/include/BpfSyscallWrappers.h
index 72eebf3..abf83da 100644
--- a/staticlibs/native/bpf_syscall_wrappers/include/BpfSyscallWrappers.h
+++ b/staticlibs/native/bpf_syscall_wrappers/include/BpfSyscallWrappers.h
@@ -125,11 +125,12 @@
}
inline int attachProgram(bpf_attach_type type, const BPF_FD_TYPE prog_fd,
- const BPF_FD_TYPE cg_fd) {
+ const BPF_FD_TYPE cg_fd, uint32_t flags = 0) {
return bpf(BPF_PROG_ATTACH, {
.target_fd = BPF_FD_TO_U32(cg_fd),
.attach_bpf_fd = BPF_FD_TO_U32(prog_fd),
.attach_type = type,
+ .attach_flags = flags,
});
}
@@ -140,6 +141,15 @@
});
}
+inline int detachSingleProgram(bpf_attach_type type, const BPF_FD_TYPE prog_fd,
+ const BPF_FD_TYPE cg_fd) {
+ return bpf(BPF_PROG_DETACH, {
+ .target_fd = BPF_FD_TO_U32(cg_fd),
+ .attach_bpf_fd = BPF_FD_TO_U32(prog_fd),
+ .attach_type = type,
+ });
+}
+
} // namespace bpf
} // namespace android