History

bpf: introduce BPF_PROG_QUERY command

introduce BPF_PROG_QUERY command to retrieve a set of either attached programs to given cgroup or a set of effective programs that will execute for events within a cgroup

Alexei Starovoitov committed 9 years ago

Commit 468e2f61 parent 324bda97 files · +148 −0Browse files

Showing the changes to include/uapi/linux (1 of 7 files). Show all

Unified · Split

include/uapi/linux/bpf.h+13−0
@@ -92,6 +92,7 @@ enum bpf_cmd { · 91 unmodified lines
92 BPF_PROG_GET_FD_BY_ID,92 BPF_PROG_GET_FD_BY_ID,
93 BPF_MAP_GET_FD_BY_ID,93 BPF_MAP_GET_FD_BY_ID,
94 BPF_OBJ_GET_INFO_BY_FD,94 BPF_OBJ_GET_INFO_BY_FD,
95 BPF_PROG_QUERY,
95};96};
96 97
97enum bpf_map_type {98enum bpf_map_type {
@@ -211,6 +212,9 @@ enum bpf_attach_type { · 113 unmodified lines
211/* Specify numa node during map creation */212/* Specify numa node during map creation */
212#define BPF_F_NUMA_NODE (1U << 2)213#define BPF_F_NUMA_NODE (1U << 2)
213 214
215/* flags for BPF_PROG_QUERY */
216#define BPF_F_QUERY_EFFECTIVE (1U << 0)
217
214#define BPF_OBJ_NAME_LEN 16U218#define BPF_OBJ_NAME_LEN 16U
215 219
216union bpf_attr {220union bpf_attr {
@@ -289,6 +293,15 @@ union bpf_attr { · 72 unmodified lines
289 __u32 info_len;293 __u32 info_len;
290 __aligned_u64 info;294 __aligned_u64 info;
291 } info;295 } info;
296
297 struct { /* anonymous struct used by BPF_PROG_QUERY command */
298 __u32 target_fd; /* container object to query */
299 __u32 attach_type;
300 __u32 query_flags;
301 __u32 attach_flags;
302 __aligned_u64 prog_ids;
303 __u32 prog_cnt;
304 } query;
292} __attribute__((aligned(8)));305} __attribute__((aligned(8)));
293 306
294/* BPF helper function descriptions:307/* BPF helper function descriptions: