From 4c114dbfb9feb7490335623047d5cac846fd7066 Mon Sep 17 00:00:00 2001 From: Niraj Kumar Goit Date: Tue, 4 Jan 2022 11:26:41 +0530 Subject: [PATCH] Remove libbpf code from connMan Change-Id: I63ce1f9f574b53b93da5dac9ff34031e409c8a98 Signed-off-by: Niraj Kumar Goit --- packaging/connman.spec | 42 - resources/usr/include/bpf/bpf.h | 285 -- resources/usr/include/bpf/libbpf.h | 765 --- resources/usr/include/bpf/libbpf_common.h | 42 - .../usr/include/bpf/linux/asm-generic/socket.h | 147 - resources/usr/include/bpf/linux/bpf.h | 5051 -------------------- resources/usr/include/bpf/linux/bpf_common.h | 57 - resources/usr/lib/libbpf.so.32 | Bin 777436 -> 0 bytes resources/usr/lib/libbpf.so.64 | Bin 1021752 -> 0 bytes resources/var/lib/connman/bpf_code | Bin 2488 -> 0 bytes 10 files changed, 6389 deletions(-) delete mode 100644 resources/usr/include/bpf/bpf.h delete mode 100644 resources/usr/include/bpf/libbpf.h delete mode 100644 resources/usr/include/bpf/libbpf_common.h delete mode 100644 resources/usr/include/bpf/linux/asm-generic/socket.h delete mode 100644 resources/usr/include/bpf/linux/bpf.h delete mode 100644 resources/usr/include/bpf/linux/bpf_common.h delete mode 100755 resources/usr/lib/libbpf.so.32 delete mode 100755 resources/usr/lib/libbpf.so.64 delete mode 100644 resources/var/lib/connman/bpf_code diff --git a/packaging/connman.spec b/packaging/connman.spec index bd8beb0..a7300cc 100644 --- a/packaging/connman.spec +++ b/packaging/connman.spec @@ -147,22 +147,6 @@ Conflicts: %{name}-extension-ivi Connman without ethernet support This overwrites conf file of %{name}. -%package extension-bpf -Summary: Files for BPF support -Requires: libelf -Requires: zlib -Requires: %{name} = %{version}-%{release} -%description extension-bpf -Files for BPF support - -%package extension-bpf-devel -License: GPL-2.0+ and LGPL-2.1+ -Summary: Development files for BPF support -Requires: %{name} = %{version}-%{release} -Requires: %{name}-extension-bpf -%description extension-bpf-devel -Header files and development files for BPF support - %package profile_robot Summary: connman extension for robot profile Requires: %{name} = %{version}-%{release} @@ -254,17 +238,6 @@ cp src/connman-robot.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/ cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf %endif -# BPF file -mkdir -p %{buildroot}/%{_includedir}/bpf -cp -rf resources/usr/include/bpf/* %{buildroot}/%{_includedir}/bpf -cp resources/var/lib/connman/bpf_code %{buildroot}/%{_localstatedir}/lib/connman/bpf_code - -%ifarch aarch64 -cp resources/usr/lib/libbpf.so.64 %{buildroot}/%{_libdir}/libbpf.so.0.2.0 -%else -cp resources/usr/lib/libbpf.so.32 %{buildroot}/%{_libdir}/libbpf.so.0.2.0 -%endif - %post #chsmack -a 'System' /%{_localstatedir}/lib/connman #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings @@ -368,21 +341,6 @@ mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.c %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth %license COPYING -%files extension-bpf -%manifest %{name}.manifest -%attr(755,root,root) %{_libdir}/libbpf.so.0.2.0 -%attr(640,network_fw,network_fw) %{_localstatedir}/lib/connman/bpf_code - -%post extension-bpf -ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so.0 -ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so - -%files extension-bpf-devel -%manifest %{name}.manifest -%{_includedir}/bpf/* -%license COPYING -%license COPYING.LGPLv2 - %post profile_robot mv %{_sysconfdir}/dbus-1/system.d/connman-robot.conf %{_sysconfdir}/dbus-1/system.d/connman.conf diff --git a/resources/usr/include/bpf/bpf.h b/resources/usr/include/bpf/bpf.h deleted file mode 100644 index 875dde2..0000000 --- a/resources/usr/include/bpf/bpf.h +++ /dev/null @@ -1,285 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * common eBPF ELF operations. - * - * Copyright (C) 2013-2015 Alexei Starovoitov - * Copyright (C) 2015 Wang Nan - * Copyright (C) 2015 Huawei Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License (not later!) - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, see - */ -#ifndef __LIBBPF_BPF_H -#define __LIBBPF_BPF_H - -#include -#include -#include -#include - -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct bpf_create_map_attr { - const char *name; - enum bpf_map_type map_type; - __u32 map_flags; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 numa_node; - __u32 btf_fd; - __u32 btf_key_type_id; - __u32 btf_value_type_id; - __u32 map_ifindex; - union { - __u32 inner_map_fd; - __u32 btf_vmlinux_value_type_id; - }; -}; - -LIBBPF_API int -bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr); -LIBBPF_API int bpf_create_map_node(enum bpf_map_type map_type, const char *name, - int key_size, int value_size, - int max_entries, __u32 map_flags, int node); -LIBBPF_API int bpf_create_map_name(enum bpf_map_type map_type, const char *name, - int key_size, int value_size, - int max_entries, __u32 map_flags); -LIBBPF_API int bpf_create_map(enum bpf_map_type map_type, int key_size, - int value_size, int max_entries, __u32 map_flags); -LIBBPF_API int bpf_create_map_in_map_node(enum bpf_map_type map_type, - const char *name, int key_size, - int inner_map_fd, int max_entries, - __u32 map_flags, int node); -LIBBPF_API int bpf_create_map_in_map(enum bpf_map_type map_type, - const char *name, int key_size, - int inner_map_fd, int max_entries, - __u32 map_flags); - -struct bpf_load_program_attr { - enum bpf_prog_type prog_type; - enum bpf_attach_type expected_attach_type; - const char *name; - const struct bpf_insn *insns; - size_t insns_cnt; - const char *license; - union { - __u32 kern_version; - __u32 attach_prog_fd; - }; - union { - __u32 prog_ifindex; - __u32 attach_btf_id; - }; - __u32 prog_btf_fd; - __u32 func_info_rec_size; - const void *func_info; - __u32 func_info_cnt; - __u32 line_info_rec_size; - const void *line_info; - __u32 line_info_cnt; - __u32 log_level; - __u32 prog_flags; -}; - -/* Flags to direct loading requirements */ -#define MAPS_RELAX_COMPAT 0x01 - -/* Recommend log buffer size */ -#define BPF_LOG_BUF_SIZE (UINT32_MAX >> 8) /* verifier maximum in kernels <= 5.1 */ -LIBBPF_API int -bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr, - char *log_buf, size_t log_buf_sz); -LIBBPF_API int bpf_load_program(enum bpf_prog_type type, - const struct bpf_insn *insns, size_t insns_cnt, - const char *license, __u32 kern_version, - char *log_buf, size_t log_buf_sz); -LIBBPF_API int bpf_verify_program(enum bpf_prog_type type, - const struct bpf_insn *insns, - size_t insns_cnt, __u32 prog_flags, - const char *license, __u32 kern_version, - char *log_buf, size_t log_buf_sz, - int log_level); - -LIBBPF_API int bpf_map_update_elem(int fd, const void *key, const void *value, - __u64 flags); - -LIBBPF_API int bpf_map_lookup_elem(int fd, const void *key, void *value); -LIBBPF_API int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, - __u64 flags); -LIBBPF_API int bpf_map_lookup_and_delete_elem(int fd, const void *key, - void *value); -LIBBPF_API int bpf_map_delete_elem(int fd, const void *key); -LIBBPF_API int bpf_map_get_next_key(int fd, const void *key, void *next_key); -LIBBPF_API int bpf_map_freeze(int fd); - -struct bpf_map_batch_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u64 elem_flags; - __u64 flags; -}; -#define bpf_map_batch_opts__last_field flags - -LIBBPF_API int bpf_map_delete_batch(int fd, void *keys, - __u32 *count, - const struct bpf_map_batch_opts *opts); -LIBBPF_API int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, - void *keys, void *values, __u32 *count, - const struct bpf_map_batch_opts *opts); -LIBBPF_API int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, - void *out_batch, void *keys, - void *values, __u32 *count, - const struct bpf_map_batch_opts *opts); -LIBBPF_API int bpf_map_update_batch(int fd, void *keys, void *values, - __u32 *count, - const struct bpf_map_batch_opts *opts); - -LIBBPF_API int bpf_obj_pin(int fd, const char *pathname); -LIBBPF_API int bpf_obj_get(const char *pathname); - -struct bpf_prog_attach_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - unsigned int flags; - int replace_prog_fd; -}; -#define bpf_prog_attach_opts__last_field replace_prog_fd - -LIBBPF_API int bpf_prog_attach(int prog_fd, int attachable_fd, - enum bpf_attach_type type, unsigned int flags); -LIBBPF_API int bpf_prog_attach_xattr(int prog_fd, int attachable_fd, - enum bpf_attach_type type, - const struct bpf_prog_attach_opts *opts); -LIBBPF_API int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type); -LIBBPF_API int bpf_prog_detach2(int prog_fd, int attachable_fd, - enum bpf_attach_type type); - -union bpf_iter_link_info; /* defined in up-to-date linux/bpf.h */ -struct bpf_link_create_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; - union bpf_iter_link_info *iter_info; - __u32 iter_info_len; - __u32 target_btf_id; -}; -#define bpf_link_create_opts__last_field target_btf_id - -LIBBPF_API int bpf_link_create(int prog_fd, int target_fd, - enum bpf_attach_type attach_type, - const struct bpf_link_create_opts *opts); - -LIBBPF_API int bpf_link_detach(int link_fd); - -struct bpf_link_update_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; /* extra flags */ - __u32 old_prog_fd; /* expected old program FD */ -}; -#define bpf_link_update_opts__last_field old_prog_fd - -LIBBPF_API int bpf_link_update(int link_fd, int new_prog_fd, - const struct bpf_link_update_opts *opts); - -LIBBPF_API int bpf_iter_create(int link_fd); - -struct bpf_prog_test_run_attr { - int prog_fd; - int repeat; - const void *data_in; - __u32 data_size_in; - void *data_out; /* optional */ - __u32 data_size_out; /* in: max length of data_out - * out: length of data_out */ - __u32 retval; /* out: return code of the BPF program */ - __u32 duration; /* out: average per repetition in ns */ - const void *ctx_in; /* optional */ - __u32 ctx_size_in; - void *ctx_out; /* optional */ - __u32 ctx_size_out; /* in: max length of ctx_out - * out: length of cxt_out */ -}; - -LIBBPF_API int bpf_prog_test_run_xattr(struct bpf_prog_test_run_attr *test_attr); - -/* - * bpf_prog_test_run does not check that data_out is large enough. Consider - * using bpf_prog_test_run_xattr instead. - */ -LIBBPF_API int bpf_prog_test_run(int prog_fd, int repeat, void *data, - __u32 size, void *data_out, __u32 *size_out, - __u32 *retval, __u32 *duration); -LIBBPF_API int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_map_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_link_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_prog_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_map_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_btf_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_link_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len); -LIBBPF_API int bpf_prog_query(int target_fd, enum bpf_attach_type type, - __u32 query_flags, __u32 *attach_flags, - __u32 *prog_ids, __u32 *prog_cnt); -LIBBPF_API int bpf_raw_tracepoint_open(const char *name, int prog_fd); -LIBBPF_API int bpf_load_btf(const void *btf, __u32 btf_size, char *log_buf, - __u32 log_buf_size, bool do_log); -LIBBPF_API int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, - __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, - __u64 *probe_offset, __u64 *probe_addr); - -enum bpf_stats_type; /* defined in up-to-date linux/bpf.h */ -LIBBPF_API int bpf_enable_stats(enum bpf_stats_type type); - -struct bpf_prog_bind_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; -}; -#define bpf_prog_bind_opts__last_field flags - -LIBBPF_API int bpf_prog_bind_map(int prog_fd, int map_fd, - const struct bpf_prog_bind_opts *opts); - -struct bpf_test_run_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - const void *data_in; /* optional */ - void *data_out; /* optional */ - __u32 data_size_in; - __u32 data_size_out; /* in: max length of data_out - * out: length of data_out - */ - const void *ctx_in; /* optional */ - void *ctx_out; /* optional */ - __u32 ctx_size_in; - __u32 ctx_size_out; /* in: max length of ctx_out - * out: length of cxt_out - */ - __u32 retval; /* out: return code of the BPF program */ - int repeat; - __u32 duration; /* out: average per repetition in ns */ - __u32 flags; - __u32 cpu; -}; -#define bpf_test_run_opts__last_field cpu - -LIBBPF_API int bpf_prog_test_run_opts(int prog_fd, - struct bpf_test_run_opts *opts); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_BPF_H */ diff --git a/resources/usr/include/bpf/libbpf.h b/resources/usr/include/bpf/libbpf.h deleted file mode 100644 index 6909ee8..0000000 --- a/resources/usr/include/bpf/libbpf.h +++ /dev/null @@ -1,765 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Common eBPF ELF object loading operations. - * - * Copyright (C) 2013-2015 Alexei Starovoitov - * Copyright (C) 2015 Wang Nan - * Copyright (C) 2015 Huawei Inc. - */ -#ifndef __LIBBPF_LIBBPF_H -#define __LIBBPF_LIBBPF_H - -#include -#include -#include -#include -#include // for size_t -#include - -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -enum libbpf_errno { - __LIBBPF_ERRNO__START = 4000, - - /* Something wrong in libelf */ - LIBBPF_ERRNO__LIBELF = __LIBBPF_ERRNO__START, - LIBBPF_ERRNO__FORMAT, /* BPF object format invalid */ - LIBBPF_ERRNO__KVERSION, /* Incorrect or no 'version' section */ - LIBBPF_ERRNO__ENDIAN, /* Endian mismatch */ - LIBBPF_ERRNO__INTERNAL, /* Internal error in libbpf */ - LIBBPF_ERRNO__RELOC, /* Relocation failed */ - LIBBPF_ERRNO__LOAD, /* Load program failure for unknown reason */ - LIBBPF_ERRNO__VERIFY, /* Kernel verifier blocks program loading */ - LIBBPF_ERRNO__PROG2BIG, /* Program too big */ - LIBBPF_ERRNO__KVER, /* Incorrect kernel version */ - LIBBPF_ERRNO__PROGTYPE, /* Kernel doesn't support this program type */ - LIBBPF_ERRNO__WRNGPID, /* Wrong pid in netlink message */ - LIBBPF_ERRNO__INVSEQ, /* Invalid netlink sequence */ - LIBBPF_ERRNO__NLPARSE, /* netlink parsing error */ - __LIBBPF_ERRNO__END, -}; - -LIBBPF_API int libbpf_strerror(int err, char *buf, size_t size); - -enum libbpf_print_level { - LIBBPF_WARN, - LIBBPF_INFO, - LIBBPF_DEBUG, -}; - -typedef int (*libbpf_print_fn_t)(enum libbpf_print_level level, - const char *, va_list ap); - -LIBBPF_API libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn); - -/* Hide internal to user */ -struct bpf_object; - -struct bpf_object_open_attr { - const char *file; - enum bpf_prog_type prog_type; -}; - -struct bpf_object_open_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* object name override, if provided: - * - for object open from file, this will override setting object - * name from file path's base name; - * - for object open from memory buffer, this will specify an object - * name and will override default "-" name; - */ - const char *object_name; - /* parse map definitions non-strictly, allowing extra attributes/data */ - bool relaxed_maps; - /* DEPRECATED: handle CO-RE relocations non-strictly, allowing failures. - * Value is ignored. Relocations always are processed non-strictly. - * Non-relocatable instructions are replaced with invalid ones to - * prevent accidental errors. - * */ - bool relaxed_core_relocs; - /* maps that set the 'pinning' attribute in their definition will have - * their pin_path attribute set to a file in this directory, and be - * auto-pinned to that path on load; defaults to "/sys/fs/bpf". - */ - const char *pin_root_path; - __u32 attach_prog_fd; - /* Additional kernel config content that augments and overrides - * system Kconfig for CONFIG_xxx externs. - */ - const char *kconfig; -}; -#define bpf_object_open_opts__last_field kconfig - -LIBBPF_API struct bpf_object *bpf_object__open(const char *path); -LIBBPF_API struct bpf_object * -bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts); -LIBBPF_API struct bpf_object * -bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, - const struct bpf_object_open_opts *opts); - -/* deprecated bpf_object__open variants */ -LIBBPF_API struct bpf_object * -bpf_object__open_buffer(const void *obj_buf, size_t obj_buf_sz, - const char *name); -LIBBPF_API struct bpf_object * -bpf_object__open_xattr(struct bpf_object_open_attr *attr); - -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -/* pin_maps and unpin_maps can both be called with a NULL path, in which case - * they will use the pin_path attribute of each map (and ignore all maps that - * don't have a pin_path set). - */ -LIBBPF_API int bpf_object__pin_maps(struct bpf_object *obj, const char *path); -LIBBPF_API int bpf_object__unpin_maps(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__pin_programs(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__unpin_programs(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__pin(struct bpf_object *object, const char *path); -LIBBPF_API void bpf_object__close(struct bpf_object *object); - -struct bpf_object_load_attr { - struct bpf_object *obj; - int log_level; - const char *target_btf_path; -}; - -/* Load/unload object into/from kernel */ -LIBBPF_API int bpf_object__load(struct bpf_object *obj); -LIBBPF_API int bpf_object__load_xattr(struct bpf_object_load_attr *attr); -LIBBPF_API int bpf_object__unload(struct bpf_object *obj); - -LIBBPF_API const char *bpf_object__name(const struct bpf_object *obj); -LIBBPF_API unsigned int bpf_object__kversion(const struct bpf_object *obj); - -struct btf; -LIBBPF_API struct btf *bpf_object__btf(const struct bpf_object *obj); -LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj); - -LIBBPF_API struct bpf_program * -bpf_object__find_program_by_title(const struct bpf_object *obj, - const char *title); -LIBBPF_API struct bpf_program * -bpf_object__find_program_by_name(const struct bpf_object *obj, - const char *name); - -LIBBPF_API struct bpf_object *bpf_object__next(struct bpf_object *prev); -#define bpf_object__for_each_safe(pos, tmp) \ - for ((pos) = bpf_object__next(NULL), \ - (tmp) = bpf_object__next(pos); \ - (pos) != NULL; \ - (pos) = (tmp), (tmp) = bpf_object__next(tmp)) - -typedef void (*bpf_object_clear_priv_t)(struct bpf_object *, void *); -LIBBPF_API int bpf_object__set_priv(struct bpf_object *obj, void *priv, - bpf_object_clear_priv_t clear_priv); -LIBBPF_API void *bpf_object__priv(const struct bpf_object *prog); - -LIBBPF_API int -libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, - enum bpf_attach_type *expected_attach_type); -LIBBPF_API int libbpf_attach_type_by_name(const char *name, - enum bpf_attach_type *attach_type); -LIBBPF_API int libbpf_find_vmlinux_btf_id(const char *name, - enum bpf_attach_type attach_type); - -/* Accessors of bpf_program */ -struct bpf_program; -LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog, - const struct bpf_object *obj); - -#define bpf_object__for_each_program(pos, obj) \ - for ((pos) = bpf_program__next(NULL, (obj)); \ - (pos) != NULL; \ - (pos) = bpf_program__next((pos), (obj))) - -LIBBPF_API struct bpf_program *bpf_program__prev(struct bpf_program *prog, - const struct bpf_object *obj); - -typedef void (*bpf_program_clear_priv_t)(struct bpf_program *, void *); - -LIBBPF_API int bpf_program__set_priv(struct bpf_program *prog, void *priv, - bpf_program_clear_priv_t clear_priv); - -LIBBPF_API void *bpf_program__priv(const struct bpf_program *prog); -LIBBPF_API void bpf_program__set_ifindex(struct bpf_program *prog, - __u32 ifindex); - -LIBBPF_API const char *bpf_program__name(const struct bpf_program *prog); -LIBBPF_API const char *bpf_program__section_name(const struct bpf_program *prog); -LIBBPF_API LIBBPF_DEPRECATED("BPF program title is confusing term; please use bpf_program__section_name() instead") -const char *bpf_program__title(const struct bpf_program *prog, bool needs_copy); -LIBBPF_API bool bpf_program__autoload(const struct bpf_program *prog); -LIBBPF_API int bpf_program__set_autoload(struct bpf_program *prog, bool autoload); - -/* returns program size in bytes */ -LIBBPF_API size_t bpf_program__size(const struct bpf_program *prog); - -LIBBPF_API int bpf_program__load(struct bpf_program *prog, char *license, - __u32 kern_version); -LIBBPF_API int bpf_program__fd(const struct bpf_program *prog); -LIBBPF_API int bpf_program__pin_instance(struct bpf_program *prog, - const char *path, - int instance); -LIBBPF_API int bpf_program__unpin_instance(struct bpf_program *prog, - const char *path, - int instance); -LIBBPF_API int bpf_program__pin(struct bpf_program *prog, const char *path); -LIBBPF_API int bpf_program__unpin(struct bpf_program *prog, const char *path); -LIBBPF_API void bpf_program__unload(struct bpf_program *prog); - -struct bpf_link; - -LIBBPF_API struct bpf_link *bpf_link__open(const char *path); -LIBBPF_API int bpf_link__fd(const struct bpf_link *link); -LIBBPF_API const char *bpf_link__pin_path(const struct bpf_link *link); -LIBBPF_API int bpf_link__pin(struct bpf_link *link, const char *path); -LIBBPF_API int bpf_link__unpin(struct bpf_link *link); -LIBBPF_API int bpf_link__update_program(struct bpf_link *link, - struct bpf_program *prog); -LIBBPF_API void bpf_link__disconnect(struct bpf_link *link); -LIBBPF_API int bpf_link__detach(struct bpf_link *link); -LIBBPF_API int bpf_link__destroy(struct bpf_link *link); - -LIBBPF_API struct bpf_link * -bpf_program__attach(struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_perf_event(struct bpf_program *prog, int pfd); -LIBBPF_API struct bpf_link * -bpf_program__attach_kprobe(struct bpf_program *prog, bool retprobe, - const char *func_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_uprobe(struct bpf_program *prog, bool retprobe, - pid_t pid, const char *binary_path, - size_t func_offset); -LIBBPF_API struct bpf_link * -bpf_program__attach_tracepoint(struct bpf_program *prog, - const char *tp_category, - const char *tp_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_raw_tracepoint(struct bpf_program *prog, - const char *tp_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_trace(struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_lsm(struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_cgroup(struct bpf_program *prog, int cgroup_fd); -LIBBPF_API struct bpf_link * -bpf_program__attach_netns(struct bpf_program *prog, int netns_fd); -LIBBPF_API struct bpf_link * -bpf_program__attach_xdp(struct bpf_program *prog, int ifindex); -LIBBPF_API struct bpf_link * -bpf_program__attach_freplace(struct bpf_program *prog, - int target_fd, const char *attach_func_name); - -struct bpf_map; - -LIBBPF_API struct bpf_link *bpf_map__attach_struct_ops(struct bpf_map *map); - -struct bpf_iter_attach_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - union bpf_iter_link_info *link_info; - __u32 link_info_len; -}; -#define bpf_iter_attach_opts__last_field link_info_len - -LIBBPF_API struct bpf_link * -bpf_program__attach_iter(struct bpf_program *prog, - const struct bpf_iter_attach_opts *opts); - -struct bpf_insn; - -/* - * Libbpf allows callers to adjust BPF programs before being loaded - * into kernel. One program in an object file can be transformed into - * multiple variants to be attached to different hooks. - * - * bpf_program_prep_t, bpf_program__set_prep and bpf_program__nth_fd - * form an API for this purpose. - * - * - bpf_program_prep_t: - * Defines a 'preprocessor', which is a caller defined function - * passed to libbpf through bpf_program__set_prep(), and will be - * called before program is loaded. The processor should adjust - * the program one time for each instance according to the instance id - * passed to it. - * - * - bpf_program__set_prep: - * Attaches a preprocessor to a BPF program. The number of instances - * that should be created is also passed through this function. - * - * - bpf_program__nth_fd: - * After the program is loaded, get resulting FD of a given instance - * of the BPF program. - * - * If bpf_program__set_prep() is not used, the program would be loaded - * without adjustment during bpf_object__load(). The program has only - * one instance. In this case bpf_program__fd(prog) is equal to - * bpf_program__nth_fd(prog, 0). - */ - -struct bpf_prog_prep_result { - /* - * If not NULL, load new instruction array. - * If set to NULL, don't load this instance. - */ - struct bpf_insn *new_insn_ptr; - int new_insn_cnt; - - /* If not NULL, result FD is written to it. */ - int *pfd; -}; - -/* - * Parameters of bpf_program_prep_t: - * - prog: The bpf_program being loaded. - * - n: Index of instance being generated. - * - insns: BPF instructions array. - * - insns_cnt:Number of instructions in insns. - * - res: Output parameter, result of transformation. - * - * Return value: - * - Zero: pre-processing success. - * - Non-zero: pre-processing error, stop loading. - */ -typedef int (*bpf_program_prep_t)(struct bpf_program *prog, int n, - struct bpf_insn *insns, int insns_cnt, - struct bpf_prog_prep_result *res); - -LIBBPF_API int bpf_program__set_prep(struct bpf_program *prog, int nr_instance, - bpf_program_prep_t prep); - -LIBBPF_API int bpf_program__nth_fd(const struct bpf_program *prog, int n); - -/* - * Adjust type of BPF program. Default is kprobe. - */ -LIBBPF_API int bpf_program__set_socket_filter(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_tracepoint(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_raw_tracepoint(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_kprobe(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_lsm(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_sched_cls(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_sched_act(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_xdp(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_perf_event(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_tracing(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_struct_ops(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_extension(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_sk_lookup(struct bpf_program *prog); - -LIBBPF_API enum bpf_prog_type bpf_program__get_type(struct bpf_program *prog); -LIBBPF_API void bpf_program__set_type(struct bpf_program *prog, - enum bpf_prog_type type); - -LIBBPF_API enum bpf_attach_type -bpf_program__get_expected_attach_type(struct bpf_program *prog); -LIBBPF_API void -bpf_program__set_expected_attach_type(struct bpf_program *prog, - enum bpf_attach_type type); - -LIBBPF_API int -bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, - const char *attach_func_name); - -LIBBPF_API bool bpf_program__is_socket_filter(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_tracepoint(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_raw_tracepoint(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_kprobe(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_lsm(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_sched_cls(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_sched_act(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_xdp(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_perf_event(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_tracing(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_struct_ops(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_extension(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_sk_lookup(const struct bpf_program *prog); - -/* - * No need for __attribute__((packed)), all members of 'bpf_map_def' - * are all aligned. In addition, using __attribute__((packed)) - * would trigger a -Wpacked warning message, and lead to an error - * if -Werror is set. - */ -struct bpf_map_def { - unsigned int type; - unsigned int key_size; - unsigned int value_size; - unsigned int max_entries; - unsigned int map_flags; -}; - -/* - * The 'struct bpf_map' in include/linux/bpf.h is internal to the kernel, - * so no need to worry about a name clash. - */ -LIBBPF_API struct bpf_map * -bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name); - -LIBBPF_API int -bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name); - -/* - * Get bpf_map through the offset of corresponding struct bpf_map_def - * in the BPF object file. - */ -LIBBPF_API struct bpf_map * -bpf_object__find_map_by_offset(struct bpf_object *obj, size_t offset); - -LIBBPF_API struct bpf_map * -bpf_map__next(const struct bpf_map *map, const struct bpf_object *obj); -#define bpf_object__for_each_map(pos, obj) \ - for ((pos) = bpf_map__next(NULL, (obj)); \ - (pos) != NULL; \ - (pos) = bpf_map__next((pos), (obj))) -#define bpf_map__for_each bpf_object__for_each_map - -LIBBPF_API struct bpf_map * -bpf_map__prev(const struct bpf_map *map, const struct bpf_object *obj); - -/* get/set map FD */ -LIBBPF_API int bpf_map__fd(const struct bpf_map *map); -LIBBPF_API int bpf_map__reuse_fd(struct bpf_map *map, int fd); -/* get map definition */ -LIBBPF_API const struct bpf_map_def *bpf_map__def(const struct bpf_map *map); -/* get map name */ -LIBBPF_API const char *bpf_map__name(const struct bpf_map *map); -/* get/set map type */ -LIBBPF_API enum bpf_map_type bpf_map__type(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type); -/* get/set map size (max_entries) */ -LIBBPF_API __u32 bpf_map__max_entries(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries); -LIBBPF_API int bpf_map__resize(struct bpf_map *map, __u32 max_entries); -/* get/set map flags */ -LIBBPF_API __u32 bpf_map__map_flags(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags); -/* get/set map NUMA node */ -LIBBPF_API __u32 bpf_map__numa_node(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node); -/* get/set map key size */ -LIBBPF_API __u32 bpf_map__key_size(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_key_size(struct bpf_map *map, __u32 size); -/* get/set map value size */ -LIBBPF_API __u32 bpf_map__value_size(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_value_size(struct bpf_map *map, __u32 size); -/* get map key/value BTF type IDs */ -LIBBPF_API __u32 bpf_map__btf_key_type_id(const struct bpf_map *map); -LIBBPF_API __u32 bpf_map__btf_value_type_id(const struct bpf_map *map); -/* get/set map if_index */ -LIBBPF_API __u32 bpf_map__ifindex(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex); - -typedef void (*bpf_map_clear_priv_t)(struct bpf_map *, void *); -LIBBPF_API int bpf_map__set_priv(struct bpf_map *map, void *priv, - bpf_map_clear_priv_t clear_priv); -LIBBPF_API void *bpf_map__priv(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_initial_value(struct bpf_map *map, - const void *data, size_t size); -LIBBPF_API bool bpf_map__is_offload_neutral(const struct bpf_map *map); -LIBBPF_API bool bpf_map__is_internal(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_pin_path(struct bpf_map *map, const char *path); -LIBBPF_API const char *bpf_map__get_pin_path(const struct bpf_map *map); -LIBBPF_API bool bpf_map__is_pinned(const struct bpf_map *map); -LIBBPF_API int bpf_map__pin(struct bpf_map *map, const char *path); -LIBBPF_API int bpf_map__unpin(struct bpf_map *map, const char *path); - -LIBBPF_API int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd); - -LIBBPF_API long libbpf_get_error(const void *ptr); - -struct bpf_prog_load_attr { - const char *file; - enum bpf_prog_type prog_type; - enum bpf_attach_type expected_attach_type; - int ifindex; - int log_level; - int prog_flags; -}; - -LIBBPF_API int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr, - struct bpf_object **pobj, int *prog_fd); -LIBBPF_API int bpf_prog_load(const char *file, enum bpf_prog_type type, - struct bpf_object **pobj, int *prog_fd); - -struct xdp_link_info { - __u32 prog_id; - __u32 drv_prog_id; - __u32 hw_prog_id; - __u32 skb_prog_id; - __u8 attach_mode; -}; - -struct bpf_xdp_set_link_opts { - size_t sz; - int old_fd; -}; -#define bpf_xdp_set_link_opts__last_field old_fd - -LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags); -LIBBPF_API int bpf_set_link_xdp_fd_opts(int ifindex, int fd, __u32 flags, - const struct bpf_xdp_set_link_opts *opts); -LIBBPF_API int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags); -LIBBPF_API int bpf_get_link_xdp_info(int ifindex, struct xdp_link_info *info, - size_t info_size, __u32 flags); - -/* Ring buffer APIs */ -struct ring_buffer; - -typedef int (*ring_buffer_sample_fn)(void *ctx, void *data, size_t size); - -struct ring_buffer_opts { - size_t sz; /* size of this struct, for forward/backward compatiblity */ -}; - -#define ring_buffer_opts__last_field sz - -LIBBPF_API struct ring_buffer * -ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, - const struct ring_buffer_opts *opts); -LIBBPF_API void ring_buffer__free(struct ring_buffer *rb); -LIBBPF_API int ring_buffer__add(struct ring_buffer *rb, int map_fd, - ring_buffer_sample_fn sample_cb, void *ctx); -LIBBPF_API int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms); -LIBBPF_API int ring_buffer__consume(struct ring_buffer *rb); - -/* Perf buffer APIs */ -struct perf_buffer; - -typedef void (*perf_buffer_sample_fn)(void *ctx, int cpu, - void *data, __u32 size); -typedef void (*perf_buffer_lost_fn)(void *ctx, int cpu, __u64 cnt); - -/* common use perf buffer options */ -struct perf_buffer_opts { - /* if specified, sample_cb is called for each sample */ - perf_buffer_sample_fn sample_cb; - /* if specified, lost_cb is called for each batch of lost samples */ - perf_buffer_lost_fn lost_cb; - /* ctx is provided to sample_cb and lost_cb */ - void *ctx; -}; - -LIBBPF_API struct perf_buffer * -perf_buffer__new(int map_fd, size_t page_cnt, - const struct perf_buffer_opts *opts); - -enum bpf_perf_event_ret { - LIBBPF_PERF_EVENT_DONE = 0, - LIBBPF_PERF_EVENT_ERROR = -1, - LIBBPF_PERF_EVENT_CONT = -2, -}; - -struct perf_event_header; - -typedef enum bpf_perf_event_ret -(*perf_buffer_event_fn)(void *ctx, int cpu, struct perf_event_header *event); - -/* raw perf buffer options, giving most power and control */ -struct perf_buffer_raw_opts { - /* perf event attrs passed directly into perf_event_open() */ - struct perf_event_attr *attr; - /* raw event callback */ - perf_buffer_event_fn event_cb; - /* ctx is provided to event_cb */ - void *ctx; - /* if cpu_cnt == 0, open all on all possible CPUs (up to the number of - * max_entries of given PERF_EVENT_ARRAY map) - */ - int cpu_cnt; - /* if cpu_cnt > 0, cpus is an array of CPUs to open ring buffers on */ - int *cpus; - /* if cpu_cnt > 0, map_keys specify map keys to set per-CPU FDs for */ - int *map_keys; -}; - -LIBBPF_API struct perf_buffer * -perf_buffer__new_raw(int map_fd, size_t page_cnt, - const struct perf_buffer_raw_opts *opts); - -LIBBPF_API void perf_buffer__free(struct perf_buffer *pb); -LIBBPF_API int perf_buffer__epoll_fd(const struct perf_buffer *pb); -LIBBPF_API int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms); -LIBBPF_API int perf_buffer__consume(struct perf_buffer *pb); -LIBBPF_API int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx); -LIBBPF_API size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb); -LIBBPF_API int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx); - -typedef enum bpf_perf_event_ret - (*bpf_perf_event_print_t)(struct perf_event_header *hdr, - void *private_data); -LIBBPF_API enum bpf_perf_event_ret -bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, - void **copy_mem, size_t *copy_size, - bpf_perf_event_print_t fn, void *private_data); - -struct bpf_prog_linfo; -struct bpf_prog_info; - -LIBBPF_API void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo); -LIBBPF_API struct bpf_prog_linfo * -bpf_prog_linfo__new(const struct bpf_prog_info *info); -LIBBPF_API const struct bpf_line_info * -bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, - __u64 addr, __u32 func_idx, __u32 nr_skip); -LIBBPF_API const struct bpf_line_info * -bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, - __u32 insn_off, __u32 nr_skip); - -/* - * Probe for supported system features - * - * Note that running many of these probes in a short amount of time can cause - * the kernel to reach the maximal size of lockable memory allowed for the - * user, causing subsequent probes to fail. In this case, the caller may want - * to adjust that limit with setrlimit(). - */ -LIBBPF_API bool bpf_probe_prog_type(enum bpf_prog_type prog_type, - __u32 ifindex); -LIBBPF_API bool bpf_probe_map_type(enum bpf_map_type map_type, __u32 ifindex); -LIBBPF_API bool bpf_probe_helper(enum bpf_func_id id, - enum bpf_prog_type prog_type, __u32 ifindex); -LIBBPF_API bool bpf_probe_large_insn_limit(__u32 ifindex); - -/* - * Get bpf_prog_info in continuous memory - * - * struct bpf_prog_info has multiple arrays. The user has option to choose - * arrays to fetch from kernel. The following APIs provide an uniform way to - * fetch these data. All arrays in bpf_prog_info are stored in a single - * continuous memory region. This makes it easy to store the info in a - * file. - * - * Before writing bpf_prog_info_linear to files, it is necessary to - * translate pointers in bpf_prog_info to offsets. Helper functions - * bpf_program__bpil_addr_to_offs() and bpf_program__bpil_offs_to_addr() - * are introduced to switch between pointers and offsets. - * - * Examples: - * # To fetch map_ids and prog_tags: - * __u64 arrays = (1UL << BPF_PROG_INFO_MAP_IDS) | - * (1UL << BPF_PROG_INFO_PROG_TAGS); - * struct bpf_prog_info_linear *info_linear = - * bpf_program__get_prog_info_linear(fd, arrays); - * - * # To save data in file - * bpf_program__bpil_addr_to_offs(info_linear); - * write(f, info_linear, sizeof(*info_linear) + info_linear->data_len); - * - * # To read data from file - * read(f, info_linear, ); - * bpf_program__bpil_offs_to_addr(info_linear); - */ -enum bpf_prog_info_array { - BPF_PROG_INFO_FIRST_ARRAY = 0, - BPF_PROG_INFO_JITED_INSNS = 0, - BPF_PROG_INFO_XLATED_INSNS, - BPF_PROG_INFO_MAP_IDS, - BPF_PROG_INFO_JITED_KSYMS, - BPF_PROG_INFO_JITED_FUNC_LENS, - BPF_PROG_INFO_FUNC_INFO, - BPF_PROG_INFO_LINE_INFO, - BPF_PROG_INFO_JITED_LINE_INFO, - BPF_PROG_INFO_PROG_TAGS, - BPF_PROG_INFO_LAST_ARRAY, -}; - -struct bpf_prog_info_linear { - /* size of struct bpf_prog_info, when the tool is compiled */ - __u32 info_len; - /* total bytes allocated for data, round up to 8 bytes */ - __u32 data_len; - /* which arrays are included in data */ - __u64 arrays; - struct bpf_prog_info info; - __u8 data[]; -}; - -LIBBPF_API struct bpf_prog_info_linear * -bpf_program__get_prog_info_linear(int fd, __u64 arrays); - -LIBBPF_API void -bpf_program__bpil_addr_to_offs(struct bpf_prog_info_linear *info_linear); - -LIBBPF_API void -bpf_program__bpil_offs_to_addr(struct bpf_prog_info_linear *info_linear); - -/* - * A helper function to get the number of possible CPUs before looking up - * per-CPU maps. Negative errno is returned on failure. - * - * Example usage: - * - * int ncpus = libbpf_num_possible_cpus(); - * if (ncpus < 0) { - * // error handling - * } - * long values[ncpus]; - * bpf_map_lookup_elem(per_cpu_map_fd, key, values); - * - */ -LIBBPF_API int libbpf_num_possible_cpus(void); - -struct bpf_map_skeleton { - const char *name; - struct bpf_map **map; - void **mmaped; -}; - -struct bpf_prog_skeleton { - const char *name; - struct bpf_program **prog; - struct bpf_link **link; -}; - -struct bpf_object_skeleton { - size_t sz; /* size of this struct, for forward/backward compatibility */ - - const char *name; - void *data; - size_t data_sz; - - struct bpf_object **obj; - - int map_cnt; - int map_skel_sz; /* sizeof(struct bpf_skeleton_map) */ - struct bpf_map_skeleton *maps; - - int prog_cnt; - int prog_skel_sz; /* sizeof(struct bpf_skeleton_prog) */ - struct bpf_prog_skeleton *progs; -}; - -LIBBPF_API int -bpf_object__open_skeleton(struct bpf_object_skeleton *s, - const struct bpf_object_open_opts *opts); -LIBBPF_API int bpf_object__load_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API int bpf_object__attach_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API void bpf_object__detach_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s); - -enum libbpf_tristate { - TRI_NO = 0, - TRI_YES = 1, - TRI_MODULE = 2, -}; - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_LIBBPF_H */ diff --git a/resources/usr/include/bpf/libbpf_common.h b/resources/usr/include/bpf/libbpf_common.h deleted file mode 100644 index 947d8bd..0000000 --- a/resources/usr/include/bpf/libbpf_common.h +++ /dev/null @@ -1,42 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Common user-facing libbpf helpers. - * - * Copyright (c) 2019 Facebook - */ - -#ifndef __LIBBPF_LIBBPF_COMMON_H -#define __LIBBPF_LIBBPF_COMMON_H - -#include - -#ifndef LIBBPF_API -#define LIBBPF_API __attribute__((visibility("default"))) -#endif - -#define LIBBPF_DEPRECATED(msg) __attribute__((deprecated(msg))) - -/* Helper macro to declare and initialize libbpf options struct - * - * This dance with uninitialized declaration, followed by memset to zero, - * followed by assignment using compound literal syntax is done to preserve - * ability to use a nice struct field initialization syntax and **hopefully** - * have all the padding bytes initialized to zero. It's not guaranteed though, - * when copying literal, that compiler won't copy garbage in literal's padding - * bytes, but that's the best way I've found and it seems to work in practice. - * - * Macro declares opts struct of given type and name, zero-initializes, - * including any extra padding, it with memset() and then assigns initial - * values provided by users in struct initializer-syntax as varargs. - */ -#define DECLARE_LIBBPF_OPTS(TYPE, NAME, ...) \ - struct TYPE NAME = ({ \ - memset(&NAME, 0, sizeof(struct TYPE)); \ - (struct TYPE) { \ - .sz = sizeof(struct TYPE), \ - __VA_ARGS__ \ - }; \ - }) - -#endif /* __LIBBPF_LIBBPF_COMMON_H */ diff --git a/resources/usr/include/bpf/linux/asm-generic/socket.h b/resources/usr/include/bpf/linux/asm-generic/socket.h deleted file mode 100644 index 77f7c16..0000000 --- a/resources/usr/include/bpf/linux/asm-generic/socket.h +++ /dev/null @@ -1,147 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef __ASM_GENERIC_SOCKET_H -#define __ASM_GENERIC_SOCKET_H - -#include -#include - -/* For setsockopt(2) */ -#define SOL_SOCKET 1 - -#define SO_DEBUG 1 -#define SO_REUSEADDR 2 -#define SO_TYPE 3 -#define SO_ERROR 4 -#define SO_DONTROUTE 5 -#define SO_BROADCAST 6 -#define SO_SNDBUF 7 -#define SO_RCVBUF 8 -#define SO_SNDBUFFORCE 32 -#define SO_RCVBUFFORCE 33 -#define SO_KEEPALIVE 9 -#define SO_OOBINLINE 10 -#define SO_NO_CHECK 11 -#define SO_PRIORITY 12 -#define SO_LINGER 13 -#define SO_BSDCOMPAT 14 -#define SO_REUSEPORT 15 -#ifndef SO_PASSCRED /* powerpc only differs in these */ -#define SO_PASSCRED 16 -#define SO_PEERCRED 17 -#define SO_RCVLOWAT 18 -#define SO_SNDLOWAT 19 -#define SO_RCVTIMEO_OLD 20 -#define SO_SNDTIMEO_OLD 21 -#endif - -/* Security levels - as per NRL IPv6 - don't actually do anything */ -#define SO_SECURITY_AUTHENTICATION 22 -#define SO_SECURITY_ENCRYPTION_TRANSPORT 23 -#define SO_SECURITY_ENCRYPTION_NETWORK 24 - -#define SO_BINDTODEVICE 25 - -/* Socket filtering */ -#define SO_ATTACH_FILTER 26 -#define SO_DETACH_FILTER 27 -#define SO_GET_FILTER SO_ATTACH_FILTER - -#define SO_PEERNAME 28 - -#define SO_ACCEPTCONN 30 - -#define SO_PEERSEC 31 -#define SO_PASSSEC 34 - -#define SO_MARK 36 - -#define SO_PROTOCOL 38 -#define SO_DOMAIN 39 - -#define SO_RXQ_OVFL 40 - -#define SO_WIFI_STATUS 41 -#define SCM_WIFI_STATUS SO_WIFI_STATUS -#define SO_PEEK_OFF 42 - -/* Instruct lower device to use last 4-bytes of skb data as FCS */ -#define SO_NOFCS 43 - -#define SO_LOCK_FILTER 44 - -#define SO_SELECT_ERR_QUEUE 45 - -#define SO_BUSY_POLL 46 - -#define SO_MAX_PACING_RATE 47 - -#define SO_BPF_EXTENSIONS 48 - -#define SO_INCOMING_CPU 49 - -#define SO_ATTACH_BPF 50 -#define SO_DETACH_BPF SO_DETACH_FILTER - -#define SO_ATTACH_REUSEPORT_CBPF 51 -#define SO_ATTACH_REUSEPORT_EBPF 52 - -#define SO_CNX_ADVICE 53 - -#define SCM_TIMESTAMPING_OPT_STATS 54 - -#define SO_MEMINFO 55 - -#define SO_INCOMING_NAPI_ID 56 - -#define SO_COOKIE 57 - -#define SCM_TIMESTAMPING_PKTINFO 58 - -#define SO_PEERGROUPS 59 - -#define SO_ZEROCOPY 60 - -#define SO_TXTIME 61 -#define SCM_TXTIME SO_TXTIME - -#define SO_BINDTOIFINDEX 62 - -#define SO_TIMESTAMP_OLD 29 -#define SO_TIMESTAMPNS_OLD 35 -#define SO_TIMESTAMPING_OLD 37 - -#define SO_TIMESTAMP_NEW 63 -#define SO_TIMESTAMPNS_NEW 64 -#define SO_TIMESTAMPING_NEW 65 - -#define SO_RCVTIMEO_NEW 66 -#define SO_SNDTIMEO_NEW 67 - -#define SO_DETACH_REUSEPORT_BPF 68 - -#if !defined(__KERNEL__) - -#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__)) -/* on 64-bit and x32, avoid the ?: operator */ -#define SO_TIMESTAMP SO_TIMESTAMP_OLD -#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD -#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD - -#define SO_RCVTIMEO SO_RCVTIMEO_OLD -#define SO_SNDTIMEO SO_SNDTIMEO_OLD -#else -#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) -#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) -#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) - -#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) -#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) -#endif - -#define SCM_TIMESTAMP SO_TIMESTAMP -#define SCM_TIMESTAMPNS SO_TIMESTAMPNS -#define SCM_TIMESTAMPING SO_TIMESTAMPING - -#endif - -#endif /* __ASM_GENERIC_SOCKET_H */ diff --git a/resources/usr/include/bpf/linux/bpf.h b/resources/usr/include/bpf/linux/bpf.h deleted file mode 100644 index 556216d..0000000 --- a/resources/usr/include/bpf/linux/bpf.h +++ /dev/null @@ -1,5051 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef _UAPI__LINUX_BPF_H__ -#define _UAPI__LINUX_BPF_H__ - -#include -#include - -/* Extended instruction set based on top of classic BPF */ - -/* instruction classes */ -#define BPF_JMP32 0x06 /* jmp mode in word width */ -#define BPF_ALU64 0x07 /* alu mode in double word width */ - -/* ld/ldx fields */ -#define BPF_DW 0x18 /* double word (64-bit) */ -#define BPF_XADD 0xc0 /* exclusive add */ - -/* alu/jmp fields */ -#define BPF_MOV 0xb0 /* mov reg to reg */ -#define BPF_ARSH 0xc0 /* sign extending arithmetic shift right */ - -/* change endianness of a register */ -#define BPF_END 0xd0 /* flags for endianness conversion: */ -#define BPF_TO_LE 0x00 /* convert to little-endian */ -#define BPF_TO_BE 0x08 /* convert to big-endian */ -#define BPF_FROM_LE BPF_TO_LE -#define BPF_FROM_BE BPF_TO_BE - -/* jmp encodings */ -#define BPF_JNE 0x50 /* jump != */ -#define BPF_JLT 0xa0 /* LT is unsigned, '<' */ -#define BPF_JLE 0xb0 /* LE is unsigned, '<=' */ -#define BPF_JSGT 0x60 /* SGT is signed '>', GT in x86 */ -#define BPF_JSGE 0x70 /* SGE is signed '>=', GE in x86 */ -#define BPF_JSLT 0xc0 /* SLT is signed, '<' */ -#define BPF_JSLE 0xd0 /* SLE is signed, '<=' */ -#define BPF_CALL 0x80 /* function call */ -#define BPF_EXIT 0x90 /* function return */ - -/* Register numbers */ -enum { - BPF_REG_0 = 0, - BPF_REG_1, - BPF_REG_2, - BPF_REG_3, - BPF_REG_4, - BPF_REG_5, - BPF_REG_6, - BPF_REG_7, - BPF_REG_8, - BPF_REG_9, - BPF_REG_10, - __MAX_BPF_REG, -}; - -/* BPF has 10 general purpose 64-bit registers and stack frame. */ -#define MAX_BPF_REG __MAX_BPF_REG - -struct bpf_insn { - __u8 code; /* opcode */ - __u8 dst_reg:4; /* dest register */ - __u8 src_reg:4; /* source register */ - __s16 off; /* signed offset */ - __s32 imm; /* signed immediate constant */ -}; - -/* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */ -struct bpf_lpm_trie_key { - __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */ - __u8 data[0]; /* Arbitrary size */ -}; - -struct bpf_cgroup_storage_key { - __u64 cgroup_inode_id; /* cgroup inode id */ - __u32 attach_type; /* program attach type */ -}; - -union bpf_iter_link_info { - struct { - __u32 map_fd; - } map; -}; - -/* BPF syscall commands, see bpf(2) man-page for details. */ -enum bpf_cmd { - BPF_MAP_CREATE, - BPF_MAP_LOOKUP_ELEM, - BPF_MAP_UPDATE_ELEM, - BPF_MAP_DELETE_ELEM, - BPF_MAP_GET_NEXT_KEY, - BPF_PROG_LOAD, - BPF_OBJ_PIN, - BPF_OBJ_GET, - BPF_PROG_ATTACH, - BPF_PROG_DETACH, - BPF_PROG_TEST_RUN, - BPF_PROG_GET_NEXT_ID, - BPF_MAP_GET_NEXT_ID, - BPF_PROG_GET_FD_BY_ID, - BPF_MAP_GET_FD_BY_ID, - BPF_OBJ_GET_INFO_BY_FD, - BPF_PROG_QUERY, - BPF_RAW_TRACEPOINT_OPEN, - BPF_BTF_LOAD, - BPF_BTF_GET_FD_BY_ID, - BPF_TASK_FD_QUERY, - BPF_MAP_LOOKUP_AND_DELETE_ELEM, - BPF_MAP_FREEZE, - BPF_BTF_GET_NEXT_ID, - BPF_MAP_LOOKUP_BATCH, - BPF_MAP_LOOKUP_AND_DELETE_BATCH, - BPF_MAP_UPDATE_BATCH, - BPF_MAP_DELETE_BATCH, - BPF_LINK_CREATE, - BPF_LINK_UPDATE, - BPF_LINK_GET_FD_BY_ID, - BPF_LINK_GET_NEXT_ID, - BPF_ENABLE_STATS, - BPF_ITER_CREATE, - BPF_LINK_DETACH, - BPF_PROG_BIND_MAP, -}; - -enum bpf_map_type { - BPF_MAP_TYPE_UNSPEC, - BPF_MAP_TYPE_HASH, - BPF_MAP_TYPE_ARRAY, - BPF_MAP_TYPE_PROG_ARRAY, - BPF_MAP_TYPE_PERF_EVENT_ARRAY, - BPF_MAP_TYPE_PERCPU_HASH, - BPF_MAP_TYPE_PERCPU_ARRAY, - BPF_MAP_TYPE_STACK_TRACE, - BPF_MAP_TYPE_CGROUP_ARRAY, - BPF_MAP_TYPE_LRU_HASH, - BPF_MAP_TYPE_LRU_PERCPU_HASH, - BPF_MAP_TYPE_LPM_TRIE, - BPF_MAP_TYPE_ARRAY_OF_MAPS, - BPF_MAP_TYPE_HASH_OF_MAPS, - BPF_MAP_TYPE_DEVMAP, - BPF_MAP_TYPE_SOCKMAP, - BPF_MAP_TYPE_CPUMAP, - BPF_MAP_TYPE_XSKMAP, - BPF_MAP_TYPE_SOCKHASH, - BPF_MAP_TYPE_CGROUP_STORAGE, - BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, - BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE, - BPF_MAP_TYPE_QUEUE, - BPF_MAP_TYPE_STACK, - BPF_MAP_TYPE_SK_STORAGE, - BPF_MAP_TYPE_DEVMAP_HASH, - BPF_MAP_TYPE_STRUCT_OPS, - BPF_MAP_TYPE_RINGBUF, - BPF_MAP_TYPE_INODE_STORAGE, -}; - -/* Note that tracing related programs such as - * BPF_PROG_TYPE_{KPROBE,TRACEPOINT,PERF_EVENT,RAW_TRACEPOINT} - * are not subject to a stable API since kernel internal data - * structures can change from release to release and may - * therefore break existing tracing BPF programs. Tracing BPF - * programs correspond to /a/ specific kernel which is to be - * analyzed, and not /a/ specific kernel /and/ all future ones. - */ -enum bpf_prog_type { - BPF_PROG_TYPE_UNSPEC, - BPF_PROG_TYPE_SOCKET_FILTER, - BPF_PROG_TYPE_KPROBE, - BPF_PROG_TYPE_SCHED_CLS, - BPF_PROG_TYPE_SCHED_ACT, - BPF_PROG_TYPE_TRACEPOINT, - BPF_PROG_TYPE_XDP, - BPF_PROG_TYPE_PERF_EVENT, - BPF_PROG_TYPE_CGROUP_SKB, - BPF_PROG_TYPE_CGROUP_SOCK, - BPF_PROG_TYPE_LWT_IN, - BPF_PROG_TYPE_LWT_OUT, - BPF_PROG_TYPE_LWT_XMIT, - BPF_PROG_TYPE_SOCK_OPS, - BPF_PROG_TYPE_SK_SKB, - BPF_PROG_TYPE_CGROUP_DEVICE, - BPF_PROG_TYPE_SK_MSG, - BPF_PROG_TYPE_RAW_TRACEPOINT, - BPF_PROG_TYPE_CGROUP_SOCK_ADDR, - BPF_PROG_TYPE_LWT_SEG6LOCAL, - BPF_PROG_TYPE_LIRC_MODE2, - BPF_PROG_TYPE_SK_REUSEPORT, - BPF_PROG_TYPE_FLOW_DISSECTOR, - BPF_PROG_TYPE_CGROUP_SYSCTL, - BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE, - BPF_PROG_TYPE_CGROUP_SOCKOPT, - BPF_PROG_TYPE_TRACING, - BPF_PROG_TYPE_STRUCT_OPS, - BPF_PROG_TYPE_EXT, - BPF_PROG_TYPE_LSM, - BPF_PROG_TYPE_SK_LOOKUP, -}; - -enum bpf_attach_type { - BPF_CGROUP_INET_INGRESS, - BPF_CGROUP_INET_EGRESS, - BPF_CGROUP_INET_SOCK_CREATE, - BPF_CGROUP_SOCK_OPS, - BPF_SK_SKB_STREAM_PARSER, - BPF_SK_SKB_STREAM_VERDICT, - BPF_CGROUP_DEVICE, - BPF_SK_MSG_VERDICT, - BPF_CGROUP_INET4_BIND, - BPF_CGROUP_INET6_BIND, - BPF_CGROUP_INET4_CONNECT, - BPF_CGROUP_INET6_CONNECT, - BPF_CGROUP_INET4_POST_BIND, - BPF_CGROUP_INET6_POST_BIND, - BPF_CGROUP_UDP4_SENDMSG, - BPF_CGROUP_UDP6_SENDMSG, - BPF_LIRC_MODE2, - BPF_FLOW_DISSECTOR, - BPF_CGROUP_SYSCTL, - BPF_CGROUP_UDP4_RECVMSG, - BPF_CGROUP_UDP6_RECVMSG, - BPF_CGROUP_GETSOCKOPT, - BPF_CGROUP_SETSOCKOPT, - BPF_TRACE_RAW_TP, - BPF_TRACE_FENTRY, - BPF_TRACE_FEXIT, - BPF_MODIFY_RETURN, - BPF_LSM_MAC, - BPF_TRACE_ITER, - BPF_CGROUP_INET4_GETPEERNAME, - BPF_CGROUP_INET6_GETPEERNAME, - BPF_CGROUP_INET4_GETSOCKNAME, - BPF_CGROUP_INET6_GETSOCKNAME, - BPF_XDP_DEVMAP, - BPF_CGROUP_INET_SOCK_RELEASE, - BPF_XDP_CPUMAP, - BPF_SK_LOOKUP, - BPF_XDP, - __MAX_BPF_ATTACH_TYPE -}; - -#define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE - -enum bpf_link_type { - BPF_LINK_TYPE_UNSPEC = 0, - BPF_LINK_TYPE_RAW_TRACEPOINT = 1, - BPF_LINK_TYPE_TRACING = 2, - BPF_LINK_TYPE_CGROUP = 3, - BPF_LINK_TYPE_ITER = 4, - BPF_LINK_TYPE_NETNS = 5, - BPF_LINK_TYPE_XDP = 6, - - MAX_BPF_LINK_TYPE, -}; - -/* cgroup-bpf attach flags used in BPF_PROG_ATTACH command - * - * NONE(default): No further bpf programs allowed in the subtree. - * - * BPF_F_ALLOW_OVERRIDE: If a sub-cgroup installs some bpf program, - * the program in this cgroup yields to sub-cgroup program. - * - * BPF_F_ALLOW_MULTI: If a sub-cgroup installs some bpf program, - * that cgroup program gets run in addition to the program in this cgroup. - * - * Only one program is allowed to be attached to a cgroup with - * NONE or BPF_F_ALLOW_OVERRIDE flag. - * Attaching another program on top of NONE or BPF_F_ALLOW_OVERRIDE will - * release old program and attach the new one. Attach flags has to match. - * - * Multiple programs are allowed to be attached to a cgroup with - * BPF_F_ALLOW_MULTI flag. They are executed in FIFO order - * (those that were attached first, run first) - * The programs of sub-cgroup are executed first, then programs of - * this cgroup and then programs of parent cgroup. - * When children program makes decision (like picking TCP CA or sock bind) - * parent program has a chance to override it. - * - * With BPF_F_ALLOW_MULTI a new program is added to the end of the list of - * programs for a cgroup. Though it's possible to replace an old program at - * any position by also specifying BPF_F_REPLACE flag and position itself in - * replace_bpf_fd attribute. Old program at this position will be released. - * - * A cgroup with MULTI or OVERRIDE flag allows any attach flags in sub-cgroups. - * A cgroup with NONE doesn't allow any programs in sub-cgroups. - * Ex1: - * cgrp1 (MULTI progs A, B) -> - * cgrp2 (OVERRIDE prog C) -> - * cgrp3 (MULTI prog D) -> - * cgrp4 (OVERRIDE prog E) -> - * cgrp5 (NONE prog F) - * the event in cgrp5 triggers execution of F,D,A,B in that order. - * if prog F is detached, the execution is E,D,A,B - * if prog F and D are detached, the execution is E,A,B - * if prog F, E and D are detached, the execution is C,A,B - * - * All eligible programs are executed regardless of return code from - * earlier programs. - */ -#define BPF_F_ALLOW_OVERRIDE (1U << 0) -#define BPF_F_ALLOW_MULTI (1U << 1) -#define BPF_F_REPLACE (1U << 2) - -/* If BPF_F_STRICT_ALIGNMENT is used in BPF_PROG_LOAD command, the - * verifier will perform strict alignment checking as if the kernel - * has been built with CONFIG_EFFICIENT_UNALIGNED_ACCESS not set, - * and NET_IP_ALIGN defined to 2. - */ -#define BPF_F_STRICT_ALIGNMENT (1U << 0) - -/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROF_LOAD command, the - * verifier will allow any alignment whatsoever. On platforms - * with strict alignment requirements for loads ands stores (such - * as sparc and mips) the verifier validates that all loads and - * stores provably follow this requirement. This flag turns that - * checking and enforcement off. - * - * It is mostly used for testing when we want to validate the - * context and memory access aspects of the verifier, but because - * of an unaligned access the alignment check would trigger before - * the one we are interested in. - */ -#define BPF_F_ANY_ALIGNMENT (1U << 1) - -/* BPF_F_TEST_RND_HI32 is used in BPF_PROG_LOAD command for testing purpose. - * Verifier does sub-register def/use analysis and identifies instructions whose - * def only matters for low 32-bit, high 32-bit is never referenced later - * through implicit zero extension. Therefore verifier notifies JIT back-ends - * that it is safe to ignore clearing high 32-bit for these instructions. This - * saves some back-ends a lot of code-gen. However such optimization is not - * necessary on some arches, for example x86_64, arm64 etc, whose JIT back-ends - * hence hasn't used verifier's analysis result. But, we really want to have a - * way to be able to verify the correctness of the described optimization on - * x86_64 on which testsuites are frequently exercised. - * - * So, this flag is introduced. Once it is set, verifier will randomize high - * 32-bit for those instructions who has been identified as safe to ignore them. - * Then, if verifier is not doing correct analysis, such randomization will - * regress tests to expose bugs. - */ -#define BPF_F_TEST_RND_HI32 (1U << 2) - -/* The verifier internal test flag. Behavior is undefined */ -#define BPF_F_TEST_STATE_FREQ (1U << 3) - -/* If BPF_F_SLEEPABLE is used in BPF_PROG_LOAD command, the verifier will - * restrict map and helper usage for such programs. Sleepable BPF programs can - * only be attached to hooks where kernel execution context allows sleeping. - * Such programs are allowed to use helpers that may sleep like - * bpf_copy_from_user(). - */ -#define BPF_F_SLEEPABLE (1U << 4) - -/* When BPF ldimm64's insn[0].src_reg != 0 then this can have - * the following extensions: - * - * insn[0].src_reg: BPF_PSEUDO_MAP_FD - * insn[0].imm: map fd - * insn[1].imm: 0 - * insn[0].off: 0 - * insn[1].off: 0 - * ldimm64 rewrite: address of map - * verifier type: CONST_PTR_TO_MAP - */ -#define BPF_PSEUDO_MAP_FD 1 -/* insn[0].src_reg: BPF_PSEUDO_MAP_VALUE - * insn[0].imm: map fd - * insn[1].imm: offset into value - * insn[0].off: 0 - * insn[1].off: 0 - * ldimm64 rewrite: address of map[0]+offset - * verifier type: PTR_TO_MAP_VALUE - */ -#define BPF_PSEUDO_MAP_VALUE 2 -/* insn[0].src_reg: BPF_PSEUDO_BTF_ID - * insn[0].imm: kernel btd id of VAR - * insn[1].imm: 0 - * insn[0].off: 0 - * insn[1].off: 0 - * ldimm64 rewrite: address of the kernel variable - * verifier type: PTR_TO_BTF_ID or PTR_TO_MEM, depending on whether the var - * is struct/union. - */ -#define BPF_PSEUDO_BTF_ID 3 - -/* when bpf_call->src_reg == BPF_PSEUDO_CALL, bpf_call->imm == pc-relative - * offset to another bpf function - */ -#define BPF_PSEUDO_CALL 1 - -/* flags for BPF_MAP_UPDATE_ELEM command */ -enum { - BPF_ANY = 0, /* create new element or update existing */ - BPF_NOEXIST = 1, /* create new element if it didn't exist */ - BPF_EXIST = 2, /* update existing element */ - BPF_F_LOCK = 4, /* spin_lock-ed map_lookup/map_update */ -}; - -/* flags for BPF_MAP_CREATE command */ -enum { - BPF_F_NO_PREALLOC = (1U << 0), -/* Instead of having one common LRU list in the - * BPF_MAP_TYPE_LRU_[PERCPU_]HASH map, use a percpu LRU list - * which can scale and perform better. - * Note, the LRU nodes (including free nodes) cannot be moved - * across different LRU lists. - */ - BPF_F_NO_COMMON_LRU = (1U << 1), -/* Specify numa node during map creation */ - BPF_F_NUMA_NODE = (1U << 2), - -/* Flags for accessing BPF object from syscall side. */ - BPF_F_RDONLY = (1U << 3), - BPF_F_WRONLY = (1U << 4), - -/* Flag for stack_map, store build_id+offset instead of pointer */ - BPF_F_STACK_BUILD_ID = (1U << 5), - -/* Zero-initialize hash function seed. This should only be used for testing. */ - BPF_F_ZERO_SEED = (1U << 6), - -/* Flags for accessing BPF object from program side. */ - BPF_F_RDONLY_PROG = (1U << 7), - BPF_F_WRONLY_PROG = (1U << 8), - -/* Clone map from listener for newly accepted socket */ - BPF_F_CLONE = (1U << 9), - -/* Enable memory-mapping BPF map */ - BPF_F_MMAPABLE = (1U << 10), - -/* Share perf_event among processes */ - BPF_F_PRESERVE_ELEMS = (1U << 11), - -/* Create a map that is suitable to be an inner map with dynamic max entries */ - BPF_F_INNER_MAP = (1U << 12), -}; - -/* Flags for BPF_PROG_QUERY. */ - -/* Query effective (directly attached + inherited from ancestor cgroups) - * programs that will be executed for events within a cgroup. - * attach_flags with this flag are returned only for directly attached programs. - */ -#define BPF_F_QUERY_EFFECTIVE (1U << 0) - -/* Flags for BPF_PROG_TEST_RUN */ - -/* If set, run the test on the cpu specified by bpf_attr.test.cpu */ -#define BPF_F_TEST_RUN_ON_CPU (1U << 0) - -/* type for BPF_ENABLE_STATS */ -enum bpf_stats_type { - /* enabled run_time_ns and run_cnt */ - BPF_STATS_RUN_TIME = 0, -}; - -enum bpf_stack_build_id_status { - /* user space need an empty entry to identify end of a trace */ - BPF_STACK_BUILD_ID_EMPTY = 0, - /* with valid build_id and offset */ - BPF_STACK_BUILD_ID_VALID = 1, - /* couldn't get build_id, fallback to ip */ - BPF_STACK_BUILD_ID_IP = 2, -}; - -#define BPF_BUILD_ID_SIZE 20 -struct bpf_stack_build_id { - __s32 status; - unsigned char build_id[BPF_BUILD_ID_SIZE]; - union { - __u64 offset; - __u64 ip; - }; -}; - -#define BPF_OBJ_NAME_LEN 16U - -union bpf_attr { - struct { /* anonymous struct used by BPF_MAP_CREATE command */ - __u32 map_type; /* one of enum bpf_map_type */ - __u32 key_size; /* size of key in bytes */ - __u32 value_size; /* size of value in bytes */ - __u32 max_entries; /* max number of entries in a map */ - __u32 map_flags; /* BPF_MAP_CREATE related - * flags defined above. - */ - __u32 inner_map_fd; /* fd pointing to the inner map */ - __u32 numa_node; /* numa node (effective only if - * BPF_F_NUMA_NODE is set). - */ - char map_name[BPF_OBJ_NAME_LEN]; - __u32 map_ifindex; /* ifindex of netdev to create on */ - __u32 btf_fd; /* fd pointing to a BTF type data */ - __u32 btf_key_type_id; /* BTF type_id of the key */ - __u32 btf_value_type_id; /* BTF type_id of the value */ - __u32 btf_vmlinux_value_type_id;/* BTF type_id of a kernel- - * struct stored as the - * map value - */ - }; - - struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */ - __u32 map_fd; - __aligned_u64 key; - union { - __aligned_u64 value; - __aligned_u64 next_key; - }; - __u64 flags; - }; - - struct { /* struct used by BPF_MAP_*_BATCH commands */ - __aligned_u64 in_batch; /* start batch, - * NULL to start from beginning - */ - __aligned_u64 out_batch; /* output: next start batch */ - __aligned_u64 keys; - __aligned_u64 values; - __u32 count; /* input/output: - * input: # of key/value - * elements - * output: # of filled elements - */ - __u32 map_fd; - __u64 elem_flags; - __u64 flags; - } batch; - - struct { /* anonymous struct used by BPF_PROG_LOAD command */ - __u32 prog_type; /* one of enum bpf_prog_type */ - __u32 insn_cnt; - __aligned_u64 insns; - __aligned_u64 license; - __u32 log_level; /* verbosity level of verifier */ - __u32 log_size; /* size of user buffer */ - __aligned_u64 log_buf; /* user supplied buffer */ - __u32 kern_version; /* not used */ - __u32 prog_flags; - char prog_name[BPF_OBJ_NAME_LEN]; - __u32 prog_ifindex; /* ifindex of netdev to prep for */ - /* For some prog types expected attach type must be known at - * load time to verify attach type specific parts of prog - * (context accesses, allowed helpers, etc). - */ - __u32 expected_attach_type; - __u32 prog_btf_fd; /* fd pointing to BTF type data */ - __u32 func_info_rec_size; /* userspace bpf_func_info size */ - __aligned_u64 func_info; /* func info */ - __u32 func_info_cnt; /* number of bpf_func_info records */ - __u32 line_info_rec_size; /* userspace bpf_line_info size */ - __aligned_u64 line_info; /* line info */ - __u32 line_info_cnt; /* number of bpf_line_info records */ - __u32 attach_btf_id; /* in-kernel BTF type id to attach to */ - __u32 attach_prog_fd; /* 0 to attach to vmlinux */ - }; - - struct { /* anonymous struct used by BPF_OBJ_* commands */ - __aligned_u64 pathname; - __u32 bpf_fd; - __u32 file_flags; - }; - - struct { /* anonymous struct used by BPF_PROG_ATTACH/DETACH commands */ - __u32 target_fd; /* container object to attach to */ - __u32 attach_bpf_fd; /* eBPF program to attach */ - __u32 attach_type; - __u32 attach_flags; - __u32 replace_bpf_fd; /* previously attached eBPF - * program to replace if - * BPF_F_REPLACE is used - */ - }; - - struct { /* anonymous struct used by BPF_PROG_TEST_RUN command */ - __u32 prog_fd; - __u32 retval; - __u32 data_size_in; /* input: len of data_in */ - __u32 data_size_out; /* input/output: len of data_out - * returns ENOSPC if data_out - * is too small. - */ - __aligned_u64 data_in; - __aligned_u64 data_out; - __u32 repeat; - __u32 duration; - __u32 ctx_size_in; /* input: len of ctx_in */ - __u32 ctx_size_out; /* input/output: len of ctx_out - * returns ENOSPC if ctx_out - * is too small. - */ - __aligned_u64 ctx_in; - __aligned_u64 ctx_out; - __u32 flags; - __u32 cpu; - } test; - - struct { /* anonymous struct used by BPF_*_GET_*_ID */ - union { - __u32 start_id; - __u32 prog_id; - __u32 map_id; - __u32 btf_id; - __u32 link_id; - }; - __u32 next_id; - __u32 open_flags; - }; - - struct { /* anonymous struct used by BPF_OBJ_GET_INFO_BY_FD */ - __u32 bpf_fd; - __u32 info_len; - __aligned_u64 info; - } info; - - struct { /* anonymous struct used by BPF_PROG_QUERY command */ - __u32 target_fd; /* container object to query */ - __u32 attach_type; - __u32 query_flags; - __u32 attach_flags; - __aligned_u64 prog_ids; - __u32 prog_cnt; - } query; - - struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */ - __u64 name; - __u32 prog_fd; - } raw_tracepoint; - - struct { /* anonymous struct for BPF_BTF_LOAD */ - __aligned_u64 btf; - __aligned_u64 btf_log_buf; - __u32 btf_size; - __u32 btf_log_size; - __u32 btf_log_level; - }; - - struct { - __u32 pid; /* input: pid */ - __u32 fd; /* input: fd */ - __u32 flags; /* input: flags */ - __u32 buf_len; /* input/output: buf len */ - __aligned_u64 buf; /* input/output: - * tp_name for tracepoint - * symbol for kprobe - * filename for uprobe - */ - __u32 prog_id; /* output: prod_id */ - __u32 fd_type; /* output: BPF_FD_TYPE_* */ - __u64 probe_offset; /* output: probe_offset */ - __u64 probe_addr; /* output: probe_addr */ - } task_fd_query; - - struct { /* struct used by BPF_LINK_CREATE command */ - __u32 prog_fd; /* eBPF program to attach */ - union { - __u32 target_fd; /* object to attach to */ - __u32 target_ifindex; /* target ifindex */ - }; - __u32 attach_type; /* attach type */ - __u32 flags; /* extra flags */ - union { - __u32 target_btf_id; /* btf_id of target to attach to */ - struct { - __aligned_u64 iter_info; /* extra bpf_iter_link_info */ - __u32 iter_info_len; /* iter_info length */ - }; - }; - } link_create; - - struct { /* struct used by BPF_LINK_UPDATE command */ - __u32 link_fd; /* link fd */ - /* new program fd to update link with */ - __u32 new_prog_fd; - __u32 flags; /* extra flags */ - /* expected link's program fd; is specified only if - * BPF_F_REPLACE flag is set in flags */ - __u32 old_prog_fd; - } link_update; - - struct { - __u32 link_fd; - } link_detach; - - struct { /* struct used by BPF_ENABLE_STATS command */ - __u32 type; - } enable_stats; - - struct { /* struct used by BPF_ITER_CREATE command */ - __u32 link_fd; - __u32 flags; - } iter_create; - - struct { /* struct used by BPF_PROG_BIND_MAP command */ - __u32 prog_fd; - __u32 map_fd; - __u32 flags; /* extra flags */ - } prog_bind_map; - -} __attribute__((aligned(8))); - -/* The description below is an attempt at providing documentation to eBPF - * developers about the multiple available eBPF helper functions. It can be - * parsed and used to produce a manual page. The workflow is the following, - * and requires the rst2man utility: - * - * $ ./scripts/bpf_helpers_doc.py \ - * --filename include/uapi/linux/bpf.h > /tmp/bpf-helpers.rst - * $ rst2man /tmp/bpf-helpers.rst > /tmp/bpf-helpers.7 - * $ man /tmp/bpf-helpers.7 - * - * Note that in order to produce this external documentation, some RST - * formatting is used in the descriptions to get "bold" and "italics" in - * manual pages. Also note that the few trailing white spaces are - * intentional, removing them would break paragraphs for rst2man. - * - * Start of BPF helper function descriptions: - * - * void *bpf_map_lookup_elem(struct bpf_map *map, const void *key) - * Description - * Perform a lookup in *map* for an entry associated to *key*. - * Return - * Map value associated to *key*, or **NULL** if no entry was - * found. - * - * long bpf_map_update_elem(struct bpf_map *map, const void *key, const void *value, u64 flags) - * Description - * Add or update the value of the entry associated to *key* in - * *map* with *value*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * Flag value **BPF_NOEXIST** cannot be used for maps of types - * **BPF_MAP_TYPE_ARRAY** or **BPF_MAP_TYPE_PERCPU_ARRAY** (all - * elements always exist), the helper would return an error. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_map_delete_elem(struct bpf_map *map, const void *key) - * Description - * Delete entry with *key* from *map*. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_probe_read(void *dst, u32 size, const void *unsafe_ptr) - * Description - * For tracing programs, safely attempt to read *size* bytes from - * kernel space address *unsafe_ptr* and store the data in *dst*. - * - * Generally, use **bpf_probe_read_user**\ () or - * **bpf_probe_read_kernel**\ () instead. - * Return - * 0 on success, or a negative error in case of failure. - * - * u64 bpf_ktime_get_ns(void) - * Description - * Return the time elapsed since system boot, in nanoseconds. - * Does not include time the system was suspended. - * See: **clock_gettime**\ (**CLOCK_MONOTONIC**) - * Return - * Current *ktime*. - * - * long bpf_trace_printk(const char *fmt, u32 fmt_size, ...) - * Description - * This helper is a "printk()-like" facility for debugging. It - * prints a message defined by format *fmt* (of size *fmt_size*) - * to file *\/sys/kernel/debug/tracing/trace* from DebugFS, if - * available. It can take up to three additional **u64** - * arguments (as an eBPF helpers, the total number of arguments is - * limited to five). - * - * Each time the helper is called, it appends a line to the trace. - * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is - * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this. - * The format of the trace is customizable, and the exact output - * one will get depends on the options set in - * *\/sys/kernel/debug/tracing/trace_options* (see also the - * *README* file under the same directory). However, it usually - * defaults to something like: - * - * :: - * - * telnet-470 [001] .N.. 419421.045894: 0x00000001: - * - * In the above: - * - * * ``telnet`` is the name of the current task. - * * ``470`` is the PID of the current task. - * * ``001`` is the CPU number on which the task is - * running. - * * In ``.N..``, each character refers to a set of - * options (whether irqs are enabled, scheduling - * options, whether hard/softirqs are running, level of - * preempt_disabled respectively). **N** means that - * **TIF_NEED_RESCHED** and **PREEMPT_NEED_RESCHED** - * are set. - * * ``419421.045894`` is a timestamp. - * * ``0x00000001`` is a fake value used by BPF for the - * instruction pointer register. - * * ```` is the message formatted with - * *fmt*. - * - * The conversion specifiers supported by *fmt* are similar, but - * more limited than for printk(). They are **%d**, **%i**, - * **%u**, **%x**, **%ld**, **%li**, **%lu**, **%lx**, **%lld**, - * **%lli**, **%llu**, **%llx**, **%p**, **%s**. No modifier (size - * of field, padding with zeroes, etc.) is available, and the - * helper will return **-EINVAL** (but print nothing) if it - * encounters an unknown specifier. - * - * Also, note that **bpf_trace_printk**\ () is slow, and should - * only be used for debugging purposes. For this reason, a notice - * block (spanning several lines) is printed to kernel logs and - * states that the helper should not be used "for production use" - * the first time this helper is used (or more precisely, when - * **trace_printk**\ () buffers are allocated). For passing values - * to user space, perf events should be preferred. - * Return - * The number of bytes written to the buffer, or a negative error - * in case of failure. - * - * u32 bpf_get_prandom_u32(void) - * Description - * Get a pseudo-random number. - * - * From a security point of view, this helper uses its own - * pseudo-random internal state, and cannot be used to infer the - * seed of other random functions in the kernel. However, it is - * essential to note that the generator used by the helper is not - * cryptographically secure. - * Return - * A random 32-bit unsigned value. - * - * u32 bpf_get_smp_processor_id(void) - * Description - * Get the SMP (symmetric multiprocessing) processor id. Note that - * all programs run with preemption disabled, which means that the - * SMP processor id is stable during all the execution of the - * program. - * Return - * The SMP id of the processor running the program. - * - * long bpf_skb_store_bytes(struct sk_buff *skb, u32 offset, const void *from, u32 len, u64 flags) - * Description - * Store *len* bytes from address *from* into the packet - * associated to *skb*, at *offset*. *flags* are a combination of - * **BPF_F_RECOMPUTE_CSUM** (automatically recompute the - * checksum for the packet after storing the bytes) and - * **BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\ - * **->swhash** and *skb*\ **->l4hash** to 0). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_l3_csum_replace(struct sk_buff *skb, u32 offset, u64 from, u64 to, u64 size) - * Description - * Recompute the layer 3 (e.g. IP) checksum for the packet - * associated to *skb*. Computation is incremental, so the helper - * must know the former value of the header field that was - * modified (*from*), the new value of this field (*to*), and the - * number of bytes (2 or 4) for this field, stored in *size*. - * Alternatively, it is possible to store the difference between - * the previous and the new values of the header field in *to*, by - * setting *from* and *size* to 0. For both methods, *offset* - * indicates the location of the IP checksum within the packet. - * - * This helper works in combination with **bpf_csum_diff**\ (), - * which does not update the checksum in-place, but offers more - * flexibility and can handle sizes larger than 2 or 4 for the - * checksum to update. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_l4_csum_replace(struct sk_buff *skb, u32 offset, u64 from, u64 to, u64 flags) - * Description - * Recompute the layer 4 (e.g. TCP, UDP or ICMP) checksum for the - * packet associated to *skb*. Computation is incremental, so the - * helper must know the former value of the header field that was - * modified (*from*), the new value of this field (*to*), and the - * number of bytes (2 or 4) for this field, stored on the lowest - * four bits of *flags*. Alternatively, it is possible to store - * the difference between the previous and the new values of the - * header field in *to*, by setting *from* and the four lowest - * bits of *flags* to 0. For both methods, *offset* indicates the - * location of the IP checksum within the packet. In addition to - * the size of the field, *flags* can be added (bitwise OR) actual - * flags. With **BPF_F_MARK_MANGLED_0**, a null checksum is left - * untouched (unless **BPF_F_MARK_ENFORCE** is added as well), and - * for updates resulting in a null checksum the value is set to - * **CSUM_MANGLED_0** instead. Flag **BPF_F_PSEUDO_HDR** indicates - * the checksum is to be computed against a pseudo-header. - * - * This helper works in combination with **bpf_csum_diff**\ (), - * which does not update the checksum in-place, but offers more - * flexibility and can handle sizes larger than 2 or 4 for the - * checksum to update. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_tail_call(void *ctx, struct bpf_map *prog_array_map, u32 index) - * Description - * This special helper is used to trigger a "tail call", or in - * other words, to jump into another eBPF program. The same stack - * frame is used (but values on stack and in registers for the - * caller are not accessible to the callee). This mechanism allows - * for program chaining, either for raising the maximum number of - * available eBPF instructions, or to execute given programs in - * conditional blocks. For security reasons, there is an upper - * limit to the number of successive tail calls that can be - * performed. - * - * Upon call of this helper, the program attempts to jump into a - * program referenced at index *index* in *prog_array_map*, a - * special map of type **BPF_MAP_TYPE_PROG_ARRAY**, and passes - * *ctx*, a pointer to the context. - * - * If the call succeeds, the kernel immediately runs the first - * instruction of the new program. This is not a function call, - * and it never returns to the previous program. If the call - * fails, then the helper has no effect, and the caller continues - * to run its subsequent instructions. A call can fail if the - * destination program for the jump does not exist (i.e. *index* - * is superior to the number of entries in *prog_array_map*), or - * if the maximum number of tail calls has been reached for this - * chain of programs. This limit is defined in the kernel by the - * macro **MAX_TAIL_CALL_CNT** (not accessible to user space), - * which is currently set to 32. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_clone_redirect(struct sk_buff *skb, u32 ifindex, u64 flags) - * Description - * Clone and redirect the packet associated to *skb* to another - * net device of index *ifindex*. Both ingress and egress - * interfaces can be used for redirection. The **BPF_F_INGRESS** - * value in *flags* is used to make the distinction (ingress path - * is selected if the flag is present, egress path otherwise). - * This is the only flag supported for now. - * - * In comparison with **bpf_redirect**\ () helper, - * **bpf_clone_redirect**\ () has the associated cost of - * duplicating the packet buffer, but this can be executed out of - * the eBPF program. Conversely, **bpf_redirect**\ () is more - * efficient, but it is handled through an action code where the - * redirection happens only after the eBPF program has returned. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * u64 bpf_get_current_pid_tgid(void) - * Return - * A 64-bit integer containing the current tgid and pid, and - * created as such: - * *current_task*\ **->tgid << 32 \|** - * *current_task*\ **->pid**. - * - * u64 bpf_get_current_uid_gid(void) - * Return - * A 64-bit integer containing the current GID and UID, and - * created as such: *current_gid* **<< 32 \|** *current_uid*. - * - * long bpf_get_current_comm(void *buf, u32 size_of_buf) - * Description - * Copy the **comm** attribute of the current task into *buf* of - * *size_of_buf*. The **comm** attribute contains the name of - * the executable (excluding the path) for the current task. The - * *size_of_buf* must be strictly positive. On success, the - * helper makes sure that the *buf* is NUL-terminated. On failure, - * it is filled with zeroes. - * Return - * 0 on success, or a negative error in case of failure. - * - * u32 bpf_get_cgroup_classid(struct sk_buff *skb) - * Description - * Retrieve the classid for the current task, i.e. for the net_cls - * cgroup to which *skb* belongs. - * - * This helper can be used on TC egress path, but not on ingress. - * - * The net_cls cgroup provides an interface to tag network packets - * based on a user-provided identifier for all traffic coming from - * the tasks belonging to the related cgroup. See also the related - * kernel documentation, available from the Linux sources in file - * *Documentation/admin-guide/cgroup-v1/net_cls.rst*. - * - * The Linux kernel has two versions for cgroups: there are - * cgroups v1 and cgroups v2. Both are available to users, who can - * use a mixture of them, but note that the net_cls cgroup is for - * cgroup v1 only. This makes it incompatible with BPF programs - * run on cgroups, which is a cgroup-v2-only feature (a socket can - * only hold data for one version of cgroups at a time). - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_CGROUP_NET_CLASSID** configuration option set to - * "**y**" or to "**m**". - * Return - * The classid, or 0 for the default unconfigured classid. - * - * long bpf_skb_vlan_push(struct sk_buff *skb, __be16 vlan_proto, u16 vlan_tci) - * Description - * Push a *vlan_tci* (VLAN tag control information) of protocol - * *vlan_proto* to the packet associated to *skb*, then update - * the checksum. Note that if *vlan_proto* is different from - * **ETH_P_8021Q** and **ETH_P_8021AD**, it is considered to - * be **ETH_P_8021Q**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_vlan_pop(struct sk_buff *skb) - * Description - * Pop a VLAN header from the packet associated to *skb*. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_get_tunnel_key(struct sk_buff *skb, struct bpf_tunnel_key *key, u32 size, u64 flags) - * Description - * Get tunnel metadata. This helper takes a pointer *key* to an - * empty **struct bpf_tunnel_key** of **size**, that will be - * filled with tunnel metadata for the packet associated to *skb*. - * The *flags* can be set to **BPF_F_TUNINFO_IPV6**, which - * indicates that the tunnel is based on IPv6 protocol instead of - * IPv4. - * - * The **struct bpf_tunnel_key** is an object that generalizes the - * principal parameters used by various tunneling protocols into a - * single struct. This way, it can be used to easily make a - * decision based on the contents of the encapsulation header, - * "summarized" in this struct. In particular, it holds the IP - * address of the remote end (IPv4 or IPv6, depending on the case) - * in *key*\ **->remote_ipv4** or *key*\ **->remote_ipv6**. Also, - * this struct exposes the *key*\ **->tunnel_id**, which is - * generally mapped to a VNI (Virtual Network Identifier), making - * it programmable together with the **bpf_skb_set_tunnel_key**\ - * () helper. - * - * Let's imagine that the following code is part of a program - * attached to the TC ingress interface, on one end of a GRE - * tunnel, and is supposed to filter out all messages coming from - * remote ends with IPv4 address other than 10.0.0.1: - * - * :: - * - * int ret; - * struct bpf_tunnel_key key = {}; - * - * ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0); - * if (ret < 0) - * return TC_ACT_SHOT; // drop packet - * - * if (key.remote_ipv4 != 0x0a000001) - * return TC_ACT_SHOT; // drop packet - * - * return TC_ACT_OK; // accept packet - * - * This interface can also be used with all encapsulation devices - * that can operate in "collect metadata" mode: instead of having - * one network device per specific configuration, the "collect - * metadata" mode only requires a single device where the - * configuration can be extracted from this helper. - * - * This can be used together with various tunnels such as VXLan, - * Geneve, GRE or IP in IP (IPIP). - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_set_tunnel_key(struct sk_buff *skb, struct bpf_tunnel_key *key, u32 size, u64 flags) - * Description - * Populate tunnel metadata for packet associated to *skb.* The - * tunnel metadata is set to the contents of *key*, of *size*. The - * *flags* can be set to a combination of the following values: - * - * **BPF_F_TUNINFO_IPV6** - * Indicate that the tunnel is based on IPv6 protocol - * instead of IPv4. - * **BPF_F_ZERO_CSUM_TX** - * For IPv4 packets, add a flag to tunnel metadata - * indicating that checksum computation should be skipped - * and checksum set to zeroes. - * **BPF_F_DONT_FRAGMENT** - * Add a flag to tunnel metadata indicating that the - * packet should not be fragmented. - * **BPF_F_SEQ_NUMBER** - * Add a flag to tunnel metadata indicating that a - * sequence number should be added to tunnel header before - * sending the packet. This flag was added for GRE - * encapsulation, but might be used with other protocols - * as well in the future. - * - * Here is a typical usage on the transmit path: - * - * :: - * - * struct bpf_tunnel_key key; - * populate key ... - * bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0); - * bpf_clone_redirect(skb, vxlan_dev_ifindex, 0); - * - * See also the description of the **bpf_skb_get_tunnel_key**\ () - * helper for additional information. - * Return - * 0 on success, or a negative error in case of failure. - * - * u64 bpf_perf_event_read(struct bpf_map *map, u64 flags) - * Description - * Read the value of a perf event counter. This helper relies on a - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. The nature of - * the perf event counter is selected when *map* is updated with - * perf event file descriptors. The *map* is an array whose size - * is the number of available CPUs, and each cell contains a value - * relative to one CPU. The value to retrieve is indicated by - * *flags*, that contains the index of the CPU to look up, masked - * with **BPF_F_INDEX_MASK**. Alternatively, *flags* can be set to - * **BPF_F_CURRENT_CPU** to indicate that the value for the - * current CPU should be retrieved. - * - * Note that before Linux 4.13, only hardware perf event can be - * retrieved. - * - * Also, be aware that the newer helper - * **bpf_perf_event_read_value**\ () is recommended over - * **bpf_perf_event_read**\ () in general. The latter has some ABI - * quirks where error and counter value are used as a return code - * (which is wrong to do since ranges may overlap). This issue is - * fixed with **bpf_perf_event_read_value**\ (), which at the same - * time provides more features over the **bpf_perf_event_read**\ - * () interface. Please refer to the description of - * **bpf_perf_event_read_value**\ () for details. - * Return - * The value of the perf event counter read from the map, or a - * negative error code in case of failure. - * - * long bpf_redirect(u32 ifindex, u64 flags) - * Description - * Redirect the packet to another net device of index *ifindex*. - * This helper is somewhat similar to **bpf_clone_redirect**\ - * (), except that the packet is not cloned, which provides - * increased performance. - * - * Except for XDP, both ingress and egress interfaces can be used - * for redirection. The **BPF_F_INGRESS** value in *flags* is used - * to make the distinction (ingress path is selected if the flag - * is present, egress path otherwise). Currently, XDP only - * supports redirection to the egress interface, and accepts no - * flag at all. - * - * The same effect can also be attained with the more generic - * **bpf_redirect_map**\ (), which uses a BPF map to store the - * redirect target instead of providing it directly to the helper. - * Return - * For XDP, the helper returns **XDP_REDIRECT** on success or - * **XDP_ABORTED** on error. For other program types, the values - * are **TC_ACT_REDIRECT** on success or **TC_ACT_SHOT** on - * error. - * - * u32 bpf_get_route_realm(struct sk_buff *skb) - * Description - * Retrieve the realm or the route, that is to say the - * **tclassid** field of the destination for the *skb*. The - * identifier retrieved is a user-provided tag, similar to the - * one used with the net_cls cgroup (see description for - * **bpf_get_cgroup_classid**\ () helper), but here this tag is - * held by a route (a destination entry), not by a task. - * - * Retrieving this identifier works with the clsact TC egress hook - * (see also **tc-bpf(8)**), or alternatively on conventional - * classful egress qdiscs, but not on TC ingress path. In case of - * clsact TC egress hook, this has the advantage that, internally, - * the destination entry has not been dropped yet in the transmit - * path. Therefore, the destination entry does not need to be - * artificially held via **netif_keep_dst**\ () for a classful - * qdisc until the *skb* is freed. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_IP_ROUTE_CLASSID** configuration option. - * Return - * The realm of the route for the packet associated to *skb*, or 0 - * if none was found. - * - * long bpf_perf_event_output(void *ctx, struct bpf_map *map, u64 flags, void *data, u64 size) - * Description - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * The context of the program *ctx* needs also be passed to the - * helper. - * - * On user space, a program willing to read the values needs to - * call **perf_event_open**\ () on the perf event (either for - * one or for all CPUs) and to store the file descriptor into the - * *map*. This must be done before the eBPF program can send data - * into it. An example is available in file - * *samples/bpf/trace_output_user.c* in the Linux kernel source - * tree (the eBPF program counterpart is in - * *samples/bpf/trace_output_kern.c*). - * - * **bpf_perf_event_output**\ () achieves better performance - * than **bpf_trace_printk**\ () for sharing data with user - * space, and is much better suitable for streaming data from eBPF - * programs. - * - * Note that this helper is not restricted to tracing use cases - * and can be used with programs attached to TC or XDP as well, - * where it allows for passing data to user space listeners. Data - * can be: - * - * * Only custom structs, - * * Only the packet payload, or - * * A combination of both. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_load_bytes(const void *skb, u32 offset, void *to, u32 len) - * Description - * This helper was provided as an easy way to load data from a - * packet. It can be used to load *len* bytes from *offset* from - * the packet associated to *skb*, into the buffer pointed by - * *to*. - * - * Since Linux 4.7, usage of this helper has mostly been replaced - * by "direct packet access", enabling packet data to be - * manipulated with *skb*\ **->data** and *skb*\ **->data_end** - * pointing respectively to the first byte of packet data and to - * the byte after the last byte of packet data. However, it - * remains useful if one wishes to read large quantities of data - * at once from a packet into the eBPF stack. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_get_stackid(void *ctx, struct bpf_map *map, u64 flags) - * Description - * Walk a user or a kernel stack and return its id. To achieve - * this, the helper needs *ctx*, which is a pointer to the context - * on which the tracing program is executed, and a pointer to a - * *map* of type **BPF_MAP_TYPE_STACK_TRACE**. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * a combination of the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_FAST_STACK_CMP** - * Compare stacks by hash only. - * **BPF_F_REUSE_STACKID** - * If two different stacks hash into the same *stackid*, - * discard the old one. - * - * The stack id retrieved is a 32 bit long integer handle which - * can be further combined with other data (including other stack - * ids) and used as a key into maps. This can be useful for - * generating a variety of graphs (such as flame graphs or off-cpu - * graphs). - * - * For walking a stack, this helper is an improvement over - * **bpf_probe_read**\ (), which can be used with unrolled loops - * but is not efficient and consumes a lot of eBPF instructions. - * Instead, **bpf_get_stackid**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * Return - * The positive or null stack id on success, or a negative error - * in case of failure. - * - * s64 bpf_csum_diff(__be32 *from, u32 from_size, __be32 *to, u32 to_size, __wsum seed) - * Description - * Compute a checksum difference, from the raw buffer pointed by - * *from*, of length *from_size* (that must be a multiple of 4), - * towards the raw buffer pointed by *to*, of size *to_size* - * (same remark). An optional *seed* can be added to the value - * (this can be cascaded, the seed may come from a previous call - * to the helper). - * - * This is flexible enough to be used in several ways: - * - * * With *from_size* == 0, *to_size* > 0 and *seed* set to - * checksum, it can be used when pushing new data. - * * With *from_size* > 0, *to_size* == 0 and *seed* set to - * checksum, it can be used when removing data from a packet. - * * With *from_size* > 0, *to_size* > 0 and *seed* set to 0, it - * can be used to compute a diff. Note that *from_size* and - * *to_size* do not need to be equal. - * - * This helper can be used in combination with - * **bpf_l3_csum_replace**\ () and **bpf_l4_csum_replace**\ (), to - * which one can feed in the difference computed with - * **bpf_csum_diff**\ (). - * Return - * The checksum result, or a negative error code in case of - * failure. - * - * long bpf_skb_get_tunnel_opt(struct sk_buff *skb, void *opt, u32 size) - * Description - * Retrieve tunnel options metadata for the packet associated to - * *skb*, and store the raw tunnel option data to the buffer *opt* - * of *size*. - * - * This helper can be used with encapsulation devices that can - * operate in "collect metadata" mode (please refer to the related - * note in the description of **bpf_skb_get_tunnel_key**\ () for - * more details). A particular example where this can be used is - * in combination with the Geneve encapsulation protocol, where it - * allows for pushing (with **bpf_skb_get_tunnel_opt**\ () helper) - * and retrieving arbitrary TLVs (Type-Length-Value headers) from - * the eBPF program. This allows for full customization of these - * headers. - * Return - * The size of the option data retrieved. - * - * long bpf_skb_set_tunnel_opt(struct sk_buff *skb, void *opt, u32 size) - * Description - * Set tunnel options metadata for the packet associated to *skb* - * to the option data contained in the raw buffer *opt* of *size*. - * - * See also the description of the **bpf_skb_get_tunnel_opt**\ () - * helper for additional information. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_change_proto(struct sk_buff *skb, __be16 proto, u64 flags) - * Description - * Change the protocol of the *skb* to *proto*. Currently - * supported are transition from IPv4 to IPv6, and from IPv6 to - * IPv4. The helper takes care of the groundwork for the - * transition, including resizing the socket buffer. The eBPF - * program is expected to fill the new headers, if any, via - * **skb_store_bytes**\ () and to recompute the checksums with - * **bpf_l3_csum_replace**\ () and **bpf_l4_csum_replace**\ - * (). The main case for this helper is to perform NAT64 - * operations out of an eBPF program. - * - * Internally, the GSO type is marked as dodgy so that headers are - * checked and segments are recalculated by the GSO/GRO engine. - * The size for GSO target is adapted as well. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_change_type(struct sk_buff *skb, u32 type) - * Description - * Change the packet type for the packet associated to *skb*. This - * comes down to setting *skb*\ **->pkt_type** to *type*, except - * the eBPF program does not have a write access to *skb*\ - * **->pkt_type** beside this helper. Using a helper here allows - * for graceful handling of errors. - * - * The major use case is to change incoming *skb*s to - * **PACKET_HOST** in a programmatic way instead of having to - * recirculate via **redirect**\ (..., **BPF_F_INGRESS**), for - * example. - * - * Note that *type* only allows certain values. At this time, they - * are: - * - * **PACKET_HOST** - * Packet is for us. - * **PACKET_BROADCAST** - * Send packet to all. - * **PACKET_MULTICAST** - * Send packet to group. - * **PACKET_OTHERHOST** - * Send packet to someone else. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_under_cgroup(struct sk_buff *skb, struct bpf_map *map, u32 index) - * Description - * Check whether *skb* is a descendant of the cgroup2 held by - * *map* of type **BPF_MAP_TYPE_CGROUP_ARRAY**, at *index*. - * Return - * The return value depends on the result of the test, and can be: - * - * * 0, if the *skb* failed the cgroup2 descendant test. - * * 1, if the *skb* succeeded the cgroup2 descendant test. - * * A negative error code, if an error occurred. - * - * u32 bpf_get_hash_recalc(struct sk_buff *skb) - * Description - * Retrieve the hash of the packet, *skb*\ **->hash**. If it is - * not set, in particular if the hash was cleared due to mangling, - * recompute this hash. Later accesses to the hash can be done - * directly with *skb*\ **->hash**. - * - * Calling **bpf_set_hash_invalid**\ (), changing a packet - * prototype with **bpf_skb_change_proto**\ (), or calling - * **bpf_skb_store_bytes**\ () with the - * **BPF_F_INVALIDATE_HASH** are actions susceptible to clear - * the hash and to trigger a new computation for the next call to - * **bpf_get_hash_recalc**\ (). - * Return - * The 32-bit hash. - * - * u64 bpf_get_current_task(void) - * Return - * A pointer to the current task struct. - * - * long bpf_probe_write_user(void *dst, const void *src, u32 len) - * Description - * Attempt in a safe way to write *len* bytes from the buffer - * *src* to *dst* in memory. It only works for threads that are in - * user context, and *dst* must be a valid user space address. - * - * This helper should not be used to implement any kind of - * security mechanism because of TOC-TOU attacks, but rather to - * debug, divert, and manipulate execution of semi-cooperative - * processes. - * - * Keep in mind that this feature is meant for experiments, and it - * has a risk of crashing the system and running programs. - * Therefore, when an eBPF program using this helper is attached, - * a warning including PID and process name is printed to kernel - * logs. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_current_task_under_cgroup(struct bpf_map *map, u32 index) - * Description - * Check whether the probe is being run is the context of a given - * subset of the cgroup2 hierarchy. The cgroup2 to test is held by - * *map* of type **BPF_MAP_TYPE_CGROUP_ARRAY**, at *index*. - * Return - * The return value depends on the result of the test, and can be: - * - * * 0, if current task belongs to the cgroup2. - * * 1, if current task does not belong to the cgroup2. - * * A negative error code, if an error occurred. - * - * long bpf_skb_change_tail(struct sk_buff *skb, u32 len, u64 flags) - * Description - * Resize (trim or grow) the packet associated to *skb* to the - * new *len*. The *flags* are reserved for future usage, and must - * be left at zero. - * - * The basic idea is that the helper performs the needed work to - * change the size of the packet, then the eBPF program rewrites - * the rest via helpers like **bpf_skb_store_bytes**\ (), - * **bpf_l3_csum_replace**\ (), **bpf_l3_csum_replace**\ () - * and others. This helper is a slow path utility intended for - * replies with control messages. And because it is targeted for - * slow path, the helper itself can afford to be slow: it - * implicitly linearizes, unclones and drops offloads from the - * *skb*. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_pull_data(struct sk_buff *skb, u32 len) - * Description - * Pull in non-linear data in case the *skb* is non-linear and not - * all of *len* are part of the linear section. Make *len* bytes - * from *skb* readable and writable. If a zero value is passed for - * *len*, then the whole length of the *skb* is pulled. - * - * This helper is only needed for reading and writing with direct - * packet access. - * - * For direct packet access, testing that offsets to access - * are within packet boundaries (test on *skb*\ **->data_end**) is - * susceptible to fail if offsets are invalid, or if the requested - * data is in non-linear parts of the *skb*. On failure the - * program can just bail out, or in the case of a non-linear - * buffer, use a helper to make the data available. The - * **bpf_skb_load_bytes**\ () helper is a first solution to access - * the data. Another one consists in using **bpf_skb_pull_data** - * to pull in once the non-linear parts, then retesting and - * eventually access the data. - * - * At the same time, this also makes sure the *skb* is uncloned, - * which is a necessary condition for direct write. As this needs - * to be an invariant for the write part only, the verifier - * detects writes and adds a prologue that is calling - * **bpf_skb_pull_data()** to effectively unclone the *skb* from - * the very beginning in case it is indeed cloned. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * s64 bpf_csum_update(struct sk_buff *skb, __wsum csum) - * Description - * Add the checksum *csum* into *skb*\ **->csum** in case the - * driver has supplied a checksum for the entire packet into that - * field. Return an error otherwise. This helper is intended to be - * used in combination with **bpf_csum_diff**\ (), in particular - * when the checksum needs to be updated after data has been - * written into the packet through direct packet access. - * Return - * The checksum on success, or a negative error code in case of - * failure. - * - * void bpf_set_hash_invalid(struct sk_buff *skb) - * Description - * Invalidate the current *skb*\ **->hash**. It can be used after - * mangling on headers through direct packet access, in order to - * indicate that the hash is outdated and to trigger a - * recalculation the next time the kernel tries to access this - * hash or when the **bpf_get_hash_recalc**\ () helper is called. - * - * long bpf_get_numa_node_id(void) - * Description - * Return the id of the current NUMA node. The primary use case - * for this helper is the selection of sockets for the local NUMA - * node, when the program is attached to sockets using the - * **SO_ATTACH_REUSEPORT_EBPF** option (see also **socket(7)**), - * but the helper is also available to other eBPF program types, - * similarly to **bpf_get_smp_processor_id**\ (). - * Return - * The id of current NUMA node. - * - * long bpf_skb_change_head(struct sk_buff *skb, u32 len, u64 flags) - * Description - * Grows headroom of packet associated to *skb* and adjusts the - * offset of the MAC header accordingly, adding *len* bytes of - * space. It automatically extends and reallocates memory as - * required. - * - * This helper can be used on a layer 3 *skb* to push a MAC header - * for redirection into a layer 2 device. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_xdp_adjust_head(struct xdp_buff *xdp_md, int delta) - * Description - * Adjust (move) *xdp_md*\ **->data** by *delta* bytes. Note that - * it is possible to use a negative value for *delta*. This helper - * can be used to prepare the packet for pushing or popping - * headers. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_probe_read_str(void *dst, u32 size, const void *unsafe_ptr) - * Description - * Copy a NUL terminated string from an unsafe kernel address - * *unsafe_ptr* to *dst*. See **bpf_probe_read_kernel_str**\ () for - * more details. - * - * Generally, use **bpf_probe_read_user_str**\ () or - * **bpf_probe_read_kernel_str**\ () instead. - * Return - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - * - * u64 bpf_get_socket_cookie(struct sk_buff *skb) - * Description - * If the **struct sk_buff** pointed by *skb* has a known socket, - * retrieve the cookie (generated by the kernel) of this socket. - * If no cookie has been set yet, generate a new cookie. Once - * generated, the socket cookie remains stable for the life of the - * socket. This helper can be useful for monitoring per socket - * networking traffic statistics as it provides a global socket - * identifier that can be assumed unique. - * Return - * A 8-byte long non-decreasing number on success, or 0 if the - * socket field is missing inside *skb*. - * - * u64 bpf_get_socket_cookie(struct bpf_sock_addr *ctx) - * Description - * Equivalent to bpf_get_socket_cookie() helper that accepts - * *skb*, but gets socket from **struct bpf_sock_addr** context. - * Return - * A 8-byte long non-decreasing number. - * - * u64 bpf_get_socket_cookie(struct bpf_sock_ops *ctx) - * Description - * Equivalent to **bpf_get_socket_cookie**\ () helper that accepts - * *skb*, but gets socket from **struct bpf_sock_ops** context. - * Return - * A 8-byte long non-decreasing number. - * - * u32 bpf_get_socket_uid(struct sk_buff *skb) - * Return - * The owner UID of the socket associated to *skb*. If the socket - * is **NULL**, or if it is not a full socket (i.e. if it is a - * time-wait or a request socket instead), **overflowuid** value - * is returned (note that **overflowuid** might also be the actual - * UID value for the socket). - * - * long bpf_set_hash(struct sk_buff *skb, u32 hash) - * Description - * Set the full hash for *skb* (set the field *skb*\ **->hash**) - * to value *hash*. - * Return - * 0 - * - * long bpf_setsockopt(void *bpf_socket, int level, int optname, void *optval, int optlen) - * Description - * Emulate a call to **setsockopt()** on the socket associated to - * *bpf_socket*, which must be a full socket. The *level* at - * which the option resides and the name *optname* of the option - * must be specified, see **setsockopt(2)** for more information. - * The option value of length *optlen* is pointed by *optval*. - * - * *bpf_socket* should be one of the following: - * - * * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**. - * * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT** - * and **BPF_CGROUP_INET6_CONNECT**. - * - * This helper actually implements a subset of **setsockopt()**. - * It supports the following *level*\ s: - * - * * **SOL_SOCKET**, which supports the following *optname*\ s: - * **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**, - * **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**, - * **SO_BINDTODEVICE**, **SO_KEEPALIVE**. - * * **IPPROTO_TCP**, which supports the following *optname*\ s: - * **TCP_CONGESTION**, **TCP_BPF_IW**, - * **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**, - * **TCP_KEEPIDLE**, **TCP_KEEPINTVL**, **TCP_KEEPCNT**, - * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**. - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_adjust_room(struct sk_buff *skb, s32 len_diff, u32 mode, u64 flags) - * Description - * Grow or shrink the room for data in the packet associated to - * *skb* by *len_diff*, and according to the selected *mode*. - * - * By default, the helper will reset any offloaded checksum - * indicator of the skb to CHECKSUM_NONE. This can be avoided - * by the following flag: - * - * * **BPF_F_ADJ_ROOM_NO_CSUM_RESET**: Do not reset offloaded - * checksum data of the skb to CHECKSUM_NONE. - * - * There are two supported modes at this time: - * - * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer - * (room space is added or removed below the layer 2 header). - * - * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer - * (room space is added or removed below the layer 3 header). - * - * The following flags are supported at this time: - * - * * **BPF_F_ADJ_ROOM_FIXED_GSO**: Do not adjust gso_size. - * Adjusting mss in this way is not allowed for datagrams. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L3_IPV4**, - * **BPF_F_ADJ_ROOM_ENCAP_L3_IPV6**: - * Any new space is reserved to hold a tunnel header. - * Configure skb offsets and other fields accordingly. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L4_GRE**, - * **BPF_F_ADJ_ROOM_ENCAP_L4_UDP**: - * Use with ENCAP_L3 flags to further specify the tunnel type. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L2**\ (*len*): - * Use with ENCAP_L3/L4 flags to further specify the tunnel - * type; *len* is the length of the inner MAC header. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_redirect_map(struct bpf_map *map, u32 key, u64 flags) - * Description - * Redirect the packet to the endpoint referenced by *map* at - * index *key*. Depending on its type, this *map* can contain - * references to net devices (for forwarding packets through other - * ports), or to CPUs (for redirecting XDP frames to another CPU; - * but this is only implemented for native XDP (with driver - * support) as of this writing). - * - * The lower two bits of *flags* are used as the return code if - * the map lookup fails. This is so that the return value can be - * one of the XDP program return codes up to **XDP_TX**, as chosen - * by the caller. Any higher bits in the *flags* argument must be - * unset. - * - * See also **bpf_redirect**\ (), which only supports redirecting - * to an ifindex, but doesn't require a map to do so. - * Return - * **XDP_REDIRECT** on success, or the value of the two lower bits - * of the *flags* argument on error. - * - * long bpf_sk_redirect_map(struct sk_buff *skb, struct bpf_map *map, u32 key, u64 flags) - * Description - * Redirect the packet to the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * Return - * **SK_PASS** on success, or **SK_DROP** on error. - * - * long bpf_sock_map_update(struct bpf_sock_ops *skops, struct bpf_map *map, void *key, u64 flags) - * Description - * Add an entry to, or update a *map* referencing sockets. The - * *skops* is used as a new value for the entry associated to - * *key*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * If the *map* has eBPF programs (parser and verdict), those will - * be inherited by the socket being added. If the socket is - * already attached to eBPF programs, this results in an error. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_xdp_adjust_meta(struct xdp_buff *xdp_md, int delta) - * Description - * Adjust the address pointed by *xdp_md*\ **->data_meta** by - * *delta* (which can be positive or negative). Note that this - * operation modifies the address stored in *xdp_md*\ **->data**, - * so the latter must be loaded only after the helper has been - * called. - * - * The use of *xdp_md*\ **->data_meta** is optional and programs - * are not required to use it. The rationale is that when the - * packet is processed with XDP (e.g. as DoS filter), it is - * possible to push further meta data along with it before passing - * to the stack, and to give the guarantee that an ingress eBPF - * program attached as a TC classifier on the same device can pick - * this up for further post-processing. Since TC works with socket - * buffers, it remains possible to set from XDP the **mark** or - * **priority** pointers, or other pointers for the socket buffer. - * Having this scratch space generic and programmable allows for - * more flexibility as the user is free to store whatever meta - * data they need. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_perf_event_read_value(struct bpf_map *map, u64 flags, struct bpf_perf_event_value *buf, u32 buf_size) - * Description - * Read the value of a perf event counter, and store it into *buf* - * of size *buf_size*. This helper relies on a *map* of type - * **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. The nature of the perf event - * counter is selected when *map* is updated with perf event file - * descriptors. The *map* is an array whose size is the number of - * available CPUs, and each cell contains a value relative to one - * CPU. The value to retrieve is indicated by *flags*, that - * contains the index of the CPU to look up, masked with - * **BPF_F_INDEX_MASK**. Alternatively, *flags* can be set to - * **BPF_F_CURRENT_CPU** to indicate that the value for the - * current CPU should be retrieved. - * - * This helper behaves in a way close to - * **bpf_perf_event_read**\ () helper, save that instead of - * just returning the value observed, it fills the *buf* - * structure. This allows for additional data to be retrieved: in - * particular, the enabled and running times (in *buf*\ - * **->enabled** and *buf*\ **->running**, respectively) are - * copied. In general, **bpf_perf_event_read_value**\ () is - * recommended over **bpf_perf_event_read**\ (), which has some - * ABI issues and provides fewer functionalities. - * - * These values are interesting, because hardware PMU (Performance - * Monitoring Unit) counters are limited resources. When there are - * more PMU based perf events opened than available counters, - * kernel will multiplex these events so each event gets certain - * percentage (but not all) of the PMU time. In case that - * multiplexing happens, the number of samples or counter value - * will not reflect the case compared to when no multiplexing - * occurs. This makes comparison between different runs difficult. - * Typically, the counter value should be normalized before - * comparing to other experiments. The usual normalization is done - * as follows. - * - * :: - * - * normalized_counter = counter * t_enabled / t_running - * - * Where t_enabled is the time enabled for event and t_running is - * the time running for event since last normalization. The - * enabled and running times are accumulated since the perf event - * open. To achieve scaling factor between two invocations of an - * eBPF program, users can use CPU id as the key (which is - * typical for perf array usage model) to remember the previous - * value and do the calculation inside the eBPF program. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_perf_prog_read_value(struct bpf_perf_event_data *ctx, struct bpf_perf_event_value *buf, u32 buf_size) - * Description - * For en eBPF program attached to a perf event, retrieve the - * value of the event counter associated to *ctx* and store it in - * the structure pointed by *buf* and of size *buf_size*. Enabled - * and running times are also stored in the structure (see - * description of helper **bpf_perf_event_read_value**\ () for - * more details). - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_getsockopt(void *bpf_socket, int level, int optname, void *optval, int optlen) - * Description - * Emulate a call to **getsockopt()** on the socket associated to - * *bpf_socket*, which must be a full socket. The *level* at - * which the option resides and the name *optname* of the option - * must be specified, see **getsockopt(2)** for more information. - * The retrieved value is stored in the structure pointed by - * *opval* and of length *optlen*. - * - * *bpf_socket* should be one of the following: - * - * * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**. - * * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT** - * and **BPF_CGROUP_INET6_CONNECT**. - * - * This helper actually implements a subset of **getsockopt()**. - * It supports the following *level*\ s: - * - * * **IPPROTO_TCP**, which supports *optname* - * **TCP_CONGESTION**. - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_override_return(struct pt_regs *regs, u64 rc) - * Description - * Used for error injection, this helper uses kprobes to override - * the return value of the probed function, and to set it to *rc*. - * The first argument is the context *regs* on which the kprobe - * works. - * - * This helper works by setting the PC (program counter) - * to an override function which is run in place of the original - * probed function. This means the probed function is not run at - * all. The replacement function just returns with the required - * value. - * - * This helper has security implications, and thus is subject to - * restrictions. It is only available if the kernel was compiled - * with the **CONFIG_BPF_KPROBE_OVERRIDE** configuration - * option, and in this case it only works on functions tagged with - * **ALLOW_ERROR_INJECTION** in the kernel code. - * - * Also, the helper is only available for the architectures having - * the CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing, - * x86 architecture is the only one to support this feature. - * Return - * 0 - * - * long bpf_sock_ops_cb_flags_set(struct bpf_sock_ops *bpf_sock, int argval) - * Description - * Attempt to set the value of the **bpf_sock_ops_cb_flags** field - * for the full TCP socket associated to *bpf_sock_ops* to - * *argval*. - * - * The primary use of this field is to determine if there should - * be calls to eBPF programs of type - * **BPF_PROG_TYPE_SOCK_OPS** at various points in the TCP - * code. A program of the same type can change its value, per - * connection and as necessary, when the connection is - * established. This field is directly accessible for reading, but - * this helper must be used for updates in order to return an - * error if an eBPF program tries to set a callback that is not - * supported in the current kernel. - * - * *argval* is a flag array which can combine these flags: - * - * * **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out) - * * **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission) - * * **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change) - * * **BPF_SOCK_OPS_RTT_CB_FLAG** (every RTT) - * - * Therefore, this function can be used to clear a callback flag by - * setting the appropriate bit to zero. e.g. to disable the RTO - * callback: - * - * **bpf_sock_ops_cb_flags_set(bpf_sock,** - * **bpf_sock->bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)** - * - * Here are some examples of where one could call such eBPF - * program: - * - * * When RTO fires. - * * When a packet is retransmitted. - * * When the connection terminates. - * * When a packet is sent. - * * When a packet is received. - * Return - * Code **-EINVAL** if the socket is not a full TCP socket; - * otherwise, a positive number containing the bits that could not - * be set is returned (which comes down to 0 if all bits were set - * as required). - * - * long bpf_msg_redirect_map(struct sk_msg_buff *msg, struct bpf_map *map, u32 key, u64 flags) - * Description - * This helper is used in programs implementing policies at the - * socket level. If the message *msg* is allowed to pass (i.e. if - * the verdict eBPF program returns **SK_PASS**), redirect it to - * the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * Return - * **SK_PASS** on success, or **SK_DROP** on error. - * - * long bpf_msg_apply_bytes(struct sk_msg_buff *msg, u32 bytes) - * Description - * For socket policies, apply the verdict of the eBPF program to - * the next *bytes* (number of bytes) of message *msg*. - * - * For example, this helper can be used in the following cases: - * - * * A single **sendmsg**\ () or **sendfile**\ () system call - * contains multiple logical messages that the eBPF program is - * supposed to read and for which it should apply a verdict. - * * An eBPF program only cares to read the first *bytes* of a - * *msg*. If the message has a large payload, then setting up - * and calling the eBPF program repeatedly for all bytes, even - * though the verdict is already known, would create unnecessary - * overhead. - * - * When called from within an eBPF program, the helper sets a - * counter internal to the BPF infrastructure, that is used to - * apply the last verdict to the next *bytes*. If *bytes* is - * smaller than the current data being processed from a - * **sendmsg**\ () or **sendfile**\ () system call, the first - * *bytes* will be sent and the eBPF program will be re-run with - * the pointer for start of data pointing to byte number *bytes* - * **+ 1**. If *bytes* is larger than the current data being - * processed, then the eBPF verdict will be applied to multiple - * **sendmsg**\ () or **sendfile**\ () calls until *bytes* are - * consumed. - * - * Note that if a socket closes with the internal counter holding - * a non-zero value, this is not a problem because data is not - * being buffered for *bytes* and is sent as it is received. - * Return - * 0 - * - * long bpf_msg_cork_bytes(struct sk_msg_buff *msg, u32 bytes) - * Description - * For socket policies, prevent the execution of the verdict eBPF - * program for message *msg* until *bytes* (byte number) have been - * accumulated. - * - * This can be used when one needs a specific number of bytes - * before a verdict can be assigned, even if the data spans - * multiple **sendmsg**\ () or **sendfile**\ () calls. The extreme - * case would be a user calling **sendmsg**\ () repeatedly with - * 1-byte long message segments. Obviously, this is bad for - * performance, but it is still valid. If the eBPF program needs - * *bytes* bytes to validate a header, this helper can be used to - * prevent the eBPF program to be called again until *bytes* have - * been accumulated. - * Return - * 0 - * - * long bpf_msg_pull_data(struct sk_msg_buff *msg, u32 start, u32 end, u64 flags) - * Description - * For socket policies, pull in non-linear data from user space - * for *msg* and set pointers *msg*\ **->data** and *msg*\ - * **->data_end** to *start* and *end* bytes offsets into *msg*, - * respectively. - * - * If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a - * *msg* it can only parse data that the (**data**, **data_end**) - * pointers have already consumed. For **sendmsg**\ () hooks this - * is likely the first scatterlist element. But for calls relying - * on the **sendpage** handler (e.g. **sendfile**\ ()) this will - * be the range (**0**, **0**) because the data is shared with - * user space and by default the objective is to avoid allowing - * user space to modify data while (or after) eBPF verdict is - * being decided. This helper can be used to pull in data and to - * set the start and end pointer to given values. Data will be - * copied if necessary (i.e. if data was not linear and if start - * and end pointers do not point to the same chunk). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_bind(struct bpf_sock_addr *ctx, struct sockaddr *addr, int addr_len) - * Description - * Bind the socket associated to *ctx* to the address pointed by - * *addr*, of length *addr_len*. This allows for making outgoing - * connection from the desired IP address, which can be useful for - * example when all processes inside a cgroup should use one - * single IP address on a host that has multiple IP configured. - * - * This helper works for IPv4 and IPv6, TCP and UDP sockets. The - * domain (*addr*\ **->sa_family**) must be **AF_INET** (or - * **AF_INET6**). It's advised to pass zero port (**sin_port** - * or **sin6_port**) which triggers IP_BIND_ADDRESS_NO_PORT-like - * behavior and lets the kernel efficiently pick up an unused - * port as long as 4-tuple is unique. Passing non-zero port might - * lead to degraded performance. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_xdp_adjust_tail(struct xdp_buff *xdp_md, int delta) - * Description - * Adjust (move) *xdp_md*\ **->data_end** by *delta* bytes. It is - * possible to both shrink and grow the packet tail. - * Shrink done via *delta* being a negative integer. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_skb_get_xfrm_state(struct sk_buff *skb, u32 index, struct bpf_xfrm_state *xfrm_state, u32 size, u64 flags) - * Description - * Retrieve the XFRM state (IP transform framework, see also - * **ip-xfrm(8)**) at *index* in XFRM "security path" for *skb*. - * - * The retrieved value is stored in the **struct bpf_xfrm_state** - * pointed by *xfrm_state* and of length *size*. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_XFRM** configuration option. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_get_stack(void *ctx, void *buf, u32 size, u64 flags) - * Description - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *ctx*, which is a pointer - * to the context on which the tracing program is executed. - * To store the stacktrace, the bpf program provides *buf* with - * a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * Return - * A non-negative value equal to or less than *size* on success, - * or a negative error in case of failure. - * - * long bpf_skb_load_bytes_relative(const void *skb, u32 offset, void *to, u32 len, u32 start_header) - * Description - * This helper is similar to **bpf_skb_load_bytes**\ () in that - * it provides an easy way to load *len* bytes from *offset* - * from the packet associated to *skb*, into the buffer pointed - * by *to*. The difference to **bpf_skb_load_bytes**\ () is that - * a fifth argument *start_header* exists in order to select a - * base offset to start from. *start_header* can be one of: - * - * **BPF_HDR_START_MAC** - * Base offset to load data from is *skb*'s mac header. - * **BPF_HDR_START_NET** - * Base offset to load data from is *skb*'s network header. - * - * In general, "direct packet access" is the preferred method to - * access packet data, however, this helper is in particular useful - * in socket filters where *skb*\ **->data** does not always point - * to the start of the mac header and where "direct packet access" - * is not available. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_fib_lookup(void *ctx, struct bpf_fib_lookup *params, int plen, u32 flags) - * Description - * Do FIB lookup in kernel tables using parameters in *params*. - * If lookup is successful and result shows packet is to be - * forwarded, the neighbor tables are searched for the nexthop. - * If successful (ie., FIB lookup shows forwarding and nexthop - * is resolved), the nexthop address is returned in ipv4_dst - * or ipv6_dst based on family, smac is set to mac address of - * egress device, dmac is set to nexthop mac address, rt_metric - * is set to metric from route (IPv4/IPv6 only), and ifindex - * is set to the device index of the nexthop from the FIB lookup. - * - * *plen* argument is the size of the passed in struct. - * *flags* argument can be a combination of one or more of the - * following values: - * - * **BPF_FIB_LOOKUP_DIRECT** - * Do a direct table lookup vs full lookup using FIB - * rules. - * **BPF_FIB_LOOKUP_OUTPUT** - * Perform lookup from an egress perspective (default is - * ingress). - * - * *ctx* is either **struct xdp_md** for XDP programs or - * **struct sk_buff** tc cls_act programs. - * Return - * * < 0 if any input argument is invalid - * * 0 on success (packet is forwarded, nexthop neighbor exists) - * * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the - * packet is not forwarded or needs assist from full stack - * - * long bpf_sock_hash_update(struct bpf_sock_ops *skops, struct bpf_map *map, void *key, u64 flags) - * Description - * Add an entry to, or update a sockhash *map* referencing sockets. - * The *skops* is used as a new value for the entry associated to - * *key*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * If the *map* has eBPF programs (parser and verdict), those will - * be inherited by the socket being added. If the socket is - * already attached to eBPF programs, this results in an error. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_msg_redirect_hash(struct sk_msg_buff *msg, struct bpf_map *map, void *key, u64 flags) - * Description - * This helper is used in programs implementing policies at the - * socket level. If the message *msg* is allowed to pass (i.e. if - * the verdict eBPF program returns **SK_PASS**), redirect it to - * the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKHASH**) using hash *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * Return - * **SK_PASS** on success, or **SK_DROP** on error. - * - * long bpf_sk_redirect_hash(struct sk_buff *skb, struct bpf_map *map, void *key, u64 flags) - * Description - * This helper is used in programs implementing policies at the - * skb socket level. If the sk_buff *skb* is allowed to pass (i.e. - * if the verdict eBPF program returns **SK_PASS**), redirect it - * to the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKHASH**) using hash *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress otherwise). This is the only flag supported for now. - * Return - * **SK_PASS** on success, or **SK_DROP** on error. - * - * long bpf_lwt_push_encap(struct sk_buff *skb, u32 type, void *hdr, u32 len) - * Description - * Encapsulate the packet associated to *skb* within a Layer 3 - * protocol header. This header is provided in the buffer at - * address *hdr*, with *len* its size in bytes. *type* indicates - * the protocol of the header and can be one of: - * - * **BPF_LWT_ENCAP_SEG6** - * IPv6 encapsulation with Segment Routing Header - * (**struct ipv6_sr_hdr**). *hdr* only contains the SRH, - * the IPv6 header is computed by the kernel. - * **BPF_LWT_ENCAP_SEG6_INLINE** - * Only works if *skb* contains an IPv6 packet. Insert a - * Segment Routing Header (**struct ipv6_sr_hdr**) inside - * the IPv6 header. - * **BPF_LWT_ENCAP_IP** - * IP encapsulation (GRE/GUE/IPIP/etc). The outer header - * must be IPv4 or IPv6, followed by zero or more - * additional headers, up to **LWT_BPF_MAX_HEADROOM** - * total bytes in all prepended headers. Please note that - * if **skb_is_gso**\ (*skb*) is true, no more than two - * headers can be prepended, and the inner header, if - * present, should be either GRE or UDP/GUE. - * - * **BPF_LWT_ENCAP_SEG6**\ \* types can be called by BPF programs - * of type **BPF_PROG_TYPE_LWT_IN**; **BPF_LWT_ENCAP_IP** type can - * be called by bpf programs of types **BPF_PROG_TYPE_LWT_IN** and - * **BPF_PROG_TYPE_LWT_XMIT**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_lwt_seg6_store_bytes(struct sk_buff *skb, u32 offset, const void *from, u32 len) - * Description - * Store *len* bytes from address *from* into the packet - * associated to *skb*, at *offset*. Only the flags, tag and TLVs - * inside the outermost IPv6 Segment Routing Header can be - * modified through this helper. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_lwt_seg6_adjust_srh(struct sk_buff *skb, u32 offset, s32 delta) - * Description - * Adjust the size allocated to TLVs in the outermost IPv6 - * Segment Routing Header contained in the packet associated to - * *skb*, at position *offset* by *delta* bytes. Only offsets - * after the segments are accepted. *delta* can be as well - * positive (growing) as negative (shrinking). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_lwt_seg6_action(struct sk_buff *skb, u32 action, void *param, u32 param_len) - * Description - * Apply an IPv6 Segment Routing action of type *action* to the - * packet associated to *skb*. Each action takes a parameter - * contained at address *param*, and of length *param_len* bytes. - * *action* can be one of: - * - * **SEG6_LOCAL_ACTION_END_X** - * End.X action: Endpoint with Layer-3 cross-connect. - * Type of *param*: **struct in6_addr**. - * **SEG6_LOCAL_ACTION_END_T** - * End.T action: Endpoint with specific IPv6 table lookup. - * Type of *param*: **int**. - * **SEG6_LOCAL_ACTION_END_B6** - * End.B6 action: Endpoint bound to an SRv6 policy. - * Type of *param*: **struct ipv6_sr_hdr**. - * **SEG6_LOCAL_ACTION_END_B6_ENCAP** - * End.B6.Encap action: Endpoint bound to an SRv6 - * encapsulation policy. - * Type of *param*: **struct ipv6_sr_hdr**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_rc_repeat(void *ctx) - * Description - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded repeat key message. This delays - * the generation of a key up event for previously generated - * key down event. - * - * Some IR protocols like NEC have a special IR message for - * repeating last button, for when a button is held down. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * Return - * 0 - * - * long bpf_rc_keydown(void *ctx, u32 protocol, u64 scancode, u32 toggle) - * Description - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded key press with *scancode*, - * *toggle* value in the given *protocol*. The scancode will be - * translated to a keycode using the rc keymap, and reported as - * an input key down event. After a period a key up event is - * generated. This period can be extended by calling either - * **bpf_rc_keydown**\ () again with the same values, or calling - * **bpf_rc_repeat**\ (). - * - * Some protocols include a toggle bit, in case the button was - * released and pressed again between consecutive scancodes. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * The *protocol* is the decoded protocol number (see - * **enum rc_proto** for some predefined values). - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * Return - * 0 - * - * u64 bpf_skb_cgroup_id(struct sk_buff *skb) - * Description - * Return the cgroup v2 id of the socket associated with the *skb*. - * This is roughly similar to the **bpf_get_cgroup_classid**\ () - * helper for cgroup v1 by providing a tag resp. identifier that - * can be matched on or used for map lookups e.g. to implement - * policy. The cgroup v2 id of a given path in the hierarchy is - * exposed in user space through the f_handle API in order to get - * to the same 64-bit id. - * - * This helper can be used on TC egress path, but not on ingress, - * and is available only if the kernel was compiled with the - * **CONFIG_SOCK_CGROUP_DATA** configuration option. - * Return - * The id is returned or 0 in case the id could not be retrieved. - * - * u64 bpf_get_current_cgroup_id(void) - * Return - * A 64-bit integer containing the current cgroup id based - * on the cgroup within which the current task is running. - * - * void *bpf_get_local_storage(void *map, u64 flags) - * Description - * Get the pointer to the local storage area. - * The type and the size of the local storage is defined - * by the *map* argument. - * The *flags* meaning is specific for each map type, - * and has to be 0 for cgroup local storage. - * - * Depending on the BPF program type, a local storage area - * can be shared between multiple instances of the BPF program, - * running simultaneously. - * - * A user should care about the synchronization by himself. - * For example, by using the **BPF_STX_XADD** instruction to alter - * the shared data. - * Return - * A pointer to the local storage area. - * - * long bpf_sk_select_reuseport(struct sk_reuseport_md *reuse, struct bpf_map *map, void *key, u64 flags) - * Description - * Select a **SO_REUSEPORT** socket from a - * **BPF_MAP_TYPE_REUSEPORT_ARRAY** *map*. - * It checks the selected socket is matching the incoming - * request in the socket buffer. - * Return - * 0 on success, or a negative error in case of failure. - * - * u64 bpf_skb_ancestor_cgroup_id(struct sk_buff *skb, int ancestor_level) - * Description - * Return id of cgroup v2 that is ancestor of cgroup associated - * with the *skb* at the *ancestor_level*. The root cgroup is at - * *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with *skb*, then return value will be same as that - * of **bpf_skb_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with *skb*. - * - * The format of returned id and helper limitations are same as in - * **bpf_skb_cgroup_id**\ (). - * Return - * The id is returned or 0 in case the id could not be retrieved. - * - * struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) - * Description - * Look for TCP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * The *ctx* should point to the context of the program, such as - * the skb or socket (depending on the hook in use). This is used - * to determine the base network namespace for the lookup. - * - * *tuple_size* must be one of: - * - * **sizeof**\ (*tuple*\ **->ipv4**) - * Look for an IPv4 socket. - * **sizeof**\ (*tuple*\ **->ipv6**) - * Look for an IPv6 socket. - * - * If the *netns* is a negative signed 32-bit integer, then the - * socket lookup table in the netns associated with the *ctx* - * will be used. For the TC hooks, this is the netns of the device - * in the skb. For socket hooks, this is the netns of the socket. - * If *netns* is any other signed 32-bit value greater than or - * equal to zero then it specifies the ID of the netns relative to - * the netns associated with the *ctx*. *netns* values beyond the - * range of 32-bit integers are reserved for future use. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * Return - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - * - * struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) - * Description - * Look for UDP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * The *ctx* should point to the context of the program, such as - * the skb or socket (depending on the hook in use). This is used - * to determine the base network namespace for the lookup. - * - * *tuple_size* must be one of: - * - * **sizeof**\ (*tuple*\ **->ipv4**) - * Look for an IPv4 socket. - * **sizeof**\ (*tuple*\ **->ipv6**) - * Look for an IPv6 socket. - * - * If the *netns* is a negative signed 32-bit integer, then the - * socket lookup table in the netns associated with the *ctx* - * will be used. For the TC hooks, this is the netns of the device - * in the skb. For socket hooks, this is the netns of the socket. - * If *netns* is any other signed 32-bit value greater than or - * equal to zero then it specifies the ID of the netns relative to - * the netns associated with the *ctx*. *netns* values beyond the - * range of 32-bit integers are reserved for future use. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * Return - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - * - * long bpf_sk_release(void *sock) - * Description - * Release the reference held by *sock*. *sock* must be a - * non-**NULL** pointer that was returned from - * **bpf_sk_lookup_xxx**\ (). - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags) - * Description - * Push an element *value* in *map*. *flags* is one of: - * - * **BPF_EXIST** - * If the queue/stack is full, the oldest element is - * removed to make room for this. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_map_pop_elem(struct bpf_map *map, void *value) - * Description - * Pop an element from *map*. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_map_peek_elem(struct bpf_map *map, void *value) - * Description - * Get an element from *map* without removing it. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_msg_push_data(struct sk_msg_buff *msg, u32 start, u32 len, u64 flags) - * Description - * For socket policies, insert *len* bytes into *msg* at offset - * *start*. - * - * If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a - * *msg* it may want to insert metadata or options into the *msg*. - * This can later be read and used by any of the lower layer BPF - * hooks. - * - * This helper may fail if under memory pressure (a malloc - * fails) in these cases BPF programs will get an appropriate - * error and BPF programs will need to handle them. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_msg_pop_data(struct sk_msg_buff *msg, u32 start, u32 len, u64 flags) - * Description - * Will remove *len* bytes from a *msg* starting at byte *start*. - * This may result in **ENOMEM** errors under certain situations if - * an allocation and copy are required due to a full ring buffer. - * However, the helper will try to avoid doing the allocation - * if possible. Other errors can occur if input parameters are - * invalid either due to *start* byte not being valid part of *msg* - * payload and/or *pop* value being to large. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_rc_pointer_rel(void *ctx, s32 rel_x, s32 rel_y) - * Description - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded pointer movement. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * Return - * 0 - * - * long bpf_spin_lock(struct bpf_spin_lock *lock) - * Description - * Acquire a spinlock represented by the pointer *lock*, which is - * stored as part of a value of a map. Taking the lock allows to - * safely update the rest of the fields in that value. The - * spinlock can (and must) later be released with a call to - * **bpf_spin_unlock**\ (\ *lock*\ ). - * - * Spinlocks in BPF programs come with a number of restrictions - * and constraints: - * - * * **bpf_spin_lock** objects are only allowed inside maps of - * types **BPF_MAP_TYPE_HASH** and **BPF_MAP_TYPE_ARRAY** (this - * list could be extended in the future). - * * BTF description of the map is mandatory. - * * The BPF program can take ONE lock at a time, since taking two - * or more could cause dead locks. - * * Only one **struct bpf_spin_lock** is allowed per map element. - * * When the lock is taken, calls (either BPF to BPF or helpers) - * are not allowed. - * * The **BPF_LD_ABS** and **BPF_LD_IND** instructions are not - * allowed inside a spinlock-ed region. - * * The BPF program MUST call **bpf_spin_unlock**\ () to release - * the lock, on all execution paths, before it returns. - * * The BPF program can access **struct bpf_spin_lock** only via - * the **bpf_spin_lock**\ () and **bpf_spin_unlock**\ () - * helpers. Loading or storing data into the **struct - * bpf_spin_lock** *lock*\ **;** field of a map is not allowed. - * * To use the **bpf_spin_lock**\ () helper, the BTF description - * of the map value must be a struct and have **struct - * bpf_spin_lock** *anyname*\ **;** field at the top level. - * Nested lock inside another struct is not allowed. - * * The **struct bpf_spin_lock** *lock* field in a map value must - * be aligned on a multiple of 4 bytes in that value. - * * Syscall with command **BPF_MAP_LOOKUP_ELEM** does not copy - * the **bpf_spin_lock** field to user space. - * * Syscall with command **BPF_MAP_UPDATE_ELEM**, or update from - * a BPF program, do not update the **bpf_spin_lock** field. - * * **bpf_spin_lock** cannot be on the stack or inside a - * networking packet (it can only be inside of a map values). - * * **bpf_spin_lock** is available to root only. - * * Tracing programs and socket filter programs cannot use - * **bpf_spin_lock**\ () due to insufficient preemption checks - * (but this may change in the future). - * * **bpf_spin_lock** is not allowed in inner maps of map-in-map. - * Return - * 0 - * - * long bpf_spin_unlock(struct bpf_spin_lock *lock) - * Description - * Release the *lock* previously locked by a call to - * **bpf_spin_lock**\ (\ *lock*\ ). - * Return - * 0 - * - * struct bpf_sock *bpf_sk_fullsock(struct bpf_sock *sk) - * Description - * This helper gets a **struct bpf_sock** pointer such - * that all the fields in this **bpf_sock** can be accessed. - * Return - * A **struct bpf_sock** pointer on success, or **NULL** in - * case of failure. - * - * struct bpf_tcp_sock *bpf_tcp_sock(struct bpf_sock *sk) - * Description - * This helper gets a **struct bpf_tcp_sock** pointer from a - * **struct bpf_sock** pointer. - * Return - * A **struct bpf_tcp_sock** pointer on success, or **NULL** in - * case of failure. - * - * long bpf_skb_ecn_set_ce(struct sk_buff *skb) - * Description - * Set ECN (Explicit Congestion Notification) field of IP header - * to **CE** (Congestion Encountered) if current value is **ECT** - * (ECN Capable Transport). Otherwise, do nothing. Works with IPv6 - * and IPv4. - * Return - * 1 if the **CE** flag is set (either by the current helper call - * or because it was already present), 0 if it is not set. - * - * struct bpf_sock *bpf_get_listener_sock(struct bpf_sock *sk) - * Description - * Return a **struct bpf_sock** pointer in **TCP_LISTEN** state. - * **bpf_sk_release**\ () is unnecessary and not allowed. - * Return - * A **struct bpf_sock** pointer on success, or **NULL** in - * case of failure. - * - * struct bpf_sock *bpf_skc_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) - * Description - * Look for TCP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * This function is identical to **bpf_sk_lookup_tcp**\ (), except - * that it also returns timewait or request sockets. Use - * **bpf_sk_fullsock**\ () or **bpf_tcp_sock**\ () to access the - * full structure. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * Return - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - * - * long bpf_tcp_check_syncookie(void *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len) - * Description - * Check whether *iph* and *th* contain a valid SYN cookie ACK for - * the listening socket in *sk*. - * - * *iph* points to the start of the IPv4 or IPv6 header, while - * *iph_len* contains **sizeof**\ (**struct iphdr**) or - * **sizeof**\ (**struct ip6hdr**). - * - * *th* points to the start of the TCP header, while *th_len* - * contains **sizeof**\ (**struct tcphdr**). - * Return - * 0 if *iph* and *th* are a valid SYN cookie ACK, or a negative - * error otherwise. - * - * long bpf_sysctl_get_name(struct bpf_sysctl *ctx, char *buf, size_t buf_len, u64 flags) - * Description - * Get name of sysctl in /proc/sys/ and copy it into provided by - * program buffer *buf* of size *buf_len*. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * If *flags* is zero, full name (e.g. "net/ipv4/tcp_mem") is - * copied. Use **BPF_F_SYSCTL_BASE_NAME** flag to copy base name - * only (e.g. "tcp_mem"). - * Return - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * long bpf_sysctl_get_current_value(struct bpf_sysctl *ctx, char *buf, size_t buf_len) - * Description - * Get current value of sysctl as it is presented in /proc/sys - * (incl. newline, etc), and copy it as a string into provided - * by program buffer *buf* of size *buf_len*. - * - * The whole value is copied, no matter what file position user - * space issued e.g. sys_read at. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * Return - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * **-EINVAL** if current value was unavailable, e.g. because - * sysctl is uninitialized and read returns -EIO for it. - * - * long bpf_sysctl_get_new_value(struct bpf_sysctl *ctx, char *buf, size_t buf_len) - * Description - * Get new value being written by user space to sysctl (before - * the actual write happens) and copy it as a string into - * provided by program buffer *buf* of size *buf_len*. - * - * User space may write new value at file position > 0. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * Return - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * **-EINVAL** if sysctl is being read. - * - * long bpf_sysctl_set_new_value(struct bpf_sysctl *ctx, const char *buf, size_t buf_len) - * Description - * Override new value being written by user space to sysctl with - * value provided by program in buffer *buf* of size *buf_len*. - * - * *buf* should contain a string in same form as provided by user - * space on sysctl write. - * - * User space may write new value at file position > 0. To override - * the whole sysctl value file position should be set to zero. - * Return - * 0 on success. - * - * **-E2BIG** if the *buf_len* is too big. - * - * **-EINVAL** if sysctl is being read. - * - * long bpf_strtol(const char *buf, size_t buf_len, u64 flags, long *res) - * Description - * Convert the initial part of the string from buffer *buf* of - * size *buf_len* to a long integer according to the given base - * and save the result in *res*. - * - * The string may begin with an arbitrary amount of white space - * (as determined by **isspace**\ (3)) followed by a single - * optional '**-**' sign. - * - * Five least significant bits of *flags* encode base, other bits - * are currently unused. - * - * Base must be either 8, 10, 16 or 0 to detect it automatically - * similar to user space **strtol**\ (3). - * Return - * Number of characters consumed on success. Must be positive but - * no more than *buf_len*. - * - * **-EINVAL** if no valid digits were found or unsupported base - * was provided. - * - * **-ERANGE** if resulting value was out of range. - * - * long bpf_strtoul(const char *buf, size_t buf_len, u64 flags, unsigned long *res) - * Description - * Convert the initial part of the string from buffer *buf* of - * size *buf_len* to an unsigned long integer according to the - * given base and save the result in *res*. - * - * The string may begin with an arbitrary amount of white space - * (as determined by **isspace**\ (3)). - * - * Five least significant bits of *flags* encode base, other bits - * are currently unused. - * - * Base must be either 8, 10, 16 or 0 to detect it automatically - * similar to user space **strtoul**\ (3). - * Return - * Number of characters consumed on success. Must be positive but - * no more than *buf_len*. - * - * **-EINVAL** if no valid digits were found or unsupported base - * was provided. - * - * **-ERANGE** if resulting value was out of range. - * - * void *bpf_sk_storage_get(struct bpf_map *map, void *sk, void *value, u64 flags) - * Description - * Get a bpf-local-storage from a *sk*. - * - * Logically, it could be thought of getting the value from - * a *map* with *sk* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *sk*) except this - * helper enforces the key must be a full socket and the map must - * be a **BPF_MAP_TYPE_SK_STORAGE** also. - * - * Underneath, the value is stored locally at *sk* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf-local-storages residing at *sk*. - * - * *sk* is a kernel **struct sock** pointer for LSM program. - * *sk* is a **struct bpf_sock** pointer for other program types. - * - * An optional *flags* (**BPF_SK_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf-local-storage will be - * created if one does not exist. *value* can be used - * together with **BPF_SK_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf-local-storage. If *value* is - * **NULL**, the new bpf-local-storage will be zero initialized. - * Return - * A bpf-local-storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf-local-storage. - * - * long bpf_sk_storage_delete(struct bpf_map *map, void *sk) - * Description - * Delete a bpf-local-storage from a *sk*. - * Return - * 0 on success. - * - * **-ENOENT** if the bpf-local-storage cannot be found. - * **-EINVAL** if sk is not a fullsock (e.g. a request_sock). - * - * long bpf_send_signal(u32 sig) - * Description - * Send signal *sig* to the process of the current task. - * The signal may be delivered to any of this process's threads. - * Return - * 0 on success or successfully queued. - * - * **-EBUSY** if work queue under nmi is full. - * - * **-EINVAL** if *sig* is invalid. - * - * **-EPERM** if no permission to send the *sig*. - * - * **-EAGAIN** if bpf program can try again. - * - * s64 bpf_tcp_gen_syncookie(void *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len) - * Description - * Try to issue a SYN cookie for the packet with corresponding - * IP/TCP headers, *iph* and *th*, on the listening socket in *sk*. - * - * *iph* points to the start of the IPv4 or IPv6 header, while - * *iph_len* contains **sizeof**\ (**struct iphdr**) or - * **sizeof**\ (**struct ip6hdr**). - * - * *th* points to the start of the TCP header, while *th_len* - * contains the length of the TCP header. - * Return - * On success, lower 32 bits hold the generated SYN cookie in - * followed by 16 bits which hold the MSS value for that cookie, - * and the top 16 bits are unused. - * - * On failure, the returned value is one of the following: - * - * **-EINVAL** SYN cookie cannot be issued due to error - * - * **-ENOENT** SYN cookie should not be issued (no SYN flood) - * - * **-EOPNOTSUPP** kernel configuration does not enable SYN cookies - * - * **-EPROTONOSUPPORT** IP packet version is not 4 or 6 - * - * long bpf_skb_output(void *ctx, struct bpf_map *map, u64 flags, void *data, u64 size) - * Description - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * *ctx* is a pointer to in-kernel struct sk_buff. - * - * This helper is similar to **bpf_perf_event_output**\ () but - * restricted to raw_tracepoint bpf programs. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_probe_read_user(void *dst, u32 size, const void *unsafe_ptr) - * Description - * Safely attempt to read *size* bytes from user space address - * *unsafe_ptr* and store the data in *dst*. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_probe_read_kernel(void *dst, u32 size, const void *unsafe_ptr) - * Description - * Safely attempt to read *size* bytes from kernel space address - * *unsafe_ptr* and store the data in *dst*. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_probe_read_user_str(void *dst, u32 size, const void *unsafe_ptr) - * Description - * Copy a NUL terminated string from an unsafe user address - * *unsafe_ptr* to *dst*. The *size* should include the - * terminating NUL byte. In case the string length is smaller than - * *size*, the target is not padded with further NUL bytes. If the - * string length is larger than *size*, just *size*-1 bytes are - * copied and the last byte is set to NUL. - * - * On success, the length of the copied string is returned. This - * makes this helper useful in tracing programs for reading - * strings, and more importantly to get its length at runtime. See - * the following snippet: - * - * :: - * - * SEC("kprobe/sys_open") - * void bpf_sys_open(struct pt_regs *ctx) - * { - * char buf[PATHLEN]; // PATHLEN is defined to 256 - * int res = bpf_probe_read_user_str(buf, sizeof(buf), - * ctx->di); - * - * // Consume buf, for example push it to - * // userspace via bpf_perf_event_output(); we - * // can use res (the string length) as event - * // size, after checking its boundaries. - * } - * - * In comparison, using **bpf_probe_read_user**\ () helper here - * instead to read the string would require to estimate the length - * at compile time, and would often result in copying more memory - * than necessary. - * - * Another useful use case is when parsing individual process - * arguments or individual environment variables navigating - * *current*\ **->mm->arg_start** and *current*\ - * **->mm->env_start**: using this helper and the return value, - * one can quickly iterate at the right offset of the memory area. - * Return - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - * - * long bpf_probe_read_kernel_str(void *dst, u32 size, const void *unsafe_ptr) - * Description - * Copy a NUL terminated string from an unsafe kernel address *unsafe_ptr* - * to *dst*. Same semantics as with **bpf_probe_read_user_str**\ () apply. - * Return - * On success, the strictly positive length of the string, including - * the trailing NUL character. On error, a negative value. - * - * long bpf_tcp_send_ack(void *tp, u32 rcv_nxt) - * Description - * Send out a tcp-ack. *tp* is the in-kernel struct **tcp_sock**. - * *rcv_nxt* is the ack_seq to be sent out. - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_send_signal_thread(u32 sig) - * Description - * Send signal *sig* to the thread corresponding to the current task. - * Return - * 0 on success or successfully queued. - * - * **-EBUSY** if work queue under nmi is full. - * - * **-EINVAL** if *sig* is invalid. - * - * **-EPERM** if no permission to send the *sig*. - * - * **-EAGAIN** if bpf program can try again. - * - * u64 bpf_jiffies64(void) - * Description - * Obtain the 64bit jiffies - * Return - * The 64 bit jiffies - * - * long bpf_read_branch_records(struct bpf_perf_event_data *ctx, void *buf, u32 size, u64 flags) - * Description - * For an eBPF program attached to a perf event, retrieve the - * branch records (**struct perf_branch_entry**) associated to *ctx* - * and store it in the buffer pointed by *buf* up to size - * *size* bytes. - * Return - * On success, number of bytes written to *buf*. On error, a - * negative value. - * - * The *flags* can be set to **BPF_F_GET_BRANCH_RECORDS_SIZE** to - * instead return the number of bytes required to store all the - * branch entries. If this flag is set, *buf* may be NULL. - * - * **-EINVAL** if arguments invalid or **size** not a multiple - * of **sizeof**\ (**struct perf_branch_entry**\ ). - * - * **-ENOENT** if architecture does not support branch records. - * - * long bpf_get_ns_current_pid_tgid(u64 dev, u64 ino, struct bpf_pidns_info *nsdata, u32 size) - * Description - * Returns 0 on success, values for *pid* and *tgid* as seen from the current - * *namespace* will be returned in *nsdata*. - * Return - * 0 on success, or one of the following in case of failure: - * - * **-EINVAL** if dev and inum supplied don't match dev_t and inode number - * with nsfs of current task, or if dev conversion to dev_t lost high bits. - * - * **-ENOENT** if pidns does not exists for the current task. - * - * long bpf_xdp_output(void *ctx, struct bpf_map *map, u64 flags, void *data, u64 size) - * Description - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * *ctx* is a pointer to in-kernel struct xdp_buff. - * - * This helper is similar to **bpf_perf_eventoutput**\ () but - * restricted to raw_tracepoint bpf programs. - * Return - * 0 on success, or a negative error in case of failure. - * - * u64 bpf_get_netns_cookie(void *ctx) - * Description - * Retrieve the cookie (generated by the kernel) of the network - * namespace the input *ctx* is associated with. The network - * namespace cookie remains stable for its lifetime and provides - * a global identifier that can be assumed unique. If *ctx* is - * NULL, then the helper returns the cookie for the initial - * network namespace. The cookie itself is very similar to that - * of **bpf_get_socket_cookie**\ () helper, but for network - * namespaces instead of sockets. - * Return - * A 8-byte long opaque number. - * - * u64 bpf_get_current_ancestor_cgroup_id(int ancestor_level) - * Description - * Return id of cgroup v2 that is ancestor of the cgroup associated - * with the current task at the *ancestor_level*. The root cgroup - * is at *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with the current task, then return value will be the - * same as that of **bpf_get_current_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with the current task. - * - * The format of returned id and helper limitations are same as in - * **bpf_get_current_cgroup_id**\ (). - * Return - * The id is returned or 0 in case the id could not be retrieved. - * - * long bpf_sk_assign(struct sk_buff *skb, void *sk, u64 flags) - * Description - * Helper is overloaded depending on BPF program type. This - * description applies to **BPF_PROG_TYPE_SCHED_CLS** and - * **BPF_PROG_TYPE_SCHED_ACT** programs. - * - * Assign the *sk* to the *skb*. When combined with appropriate - * routing configuration to receive the packet towards the socket, - * will cause *skb* to be delivered to the specified socket. - * Subsequent redirection of *skb* via **bpf_redirect**\ (), - * **bpf_clone_redirect**\ () or other methods outside of BPF may - * interfere with successful delivery to the socket. - * - * This operation is only valid from TC ingress path. - * - * The *flags* argument must be zero. - * Return - * 0 on success, or a negative error in case of failure: - * - * **-EINVAL** if specified *flags* are not supported. - * - * **-ENOENT** if the socket is unavailable for assignment. - * - * **-ENETUNREACH** if the socket is unreachable (wrong netns). - * - * **-EOPNOTSUPP** if the operation is not supported, for example - * a call from outside of TC ingress. - * - * **-ESOCKTNOSUPPORT** if the socket type is not supported - * (reuseport). - * - * long bpf_sk_assign(struct bpf_sk_lookup *ctx, struct bpf_sock *sk, u64 flags) - * Description - * Helper is overloaded depending on BPF program type. This - * description applies to **BPF_PROG_TYPE_SK_LOOKUP** programs. - * - * Select the *sk* as a result of a socket lookup. - * - * For the operation to succeed passed socket must be compatible - * with the packet description provided by the *ctx* object. - * - * L4 protocol (**IPPROTO_TCP** or **IPPROTO_UDP**) must - * be an exact match. While IP family (**AF_INET** or - * **AF_INET6**) must be compatible, that is IPv6 sockets - * that are not v6-only can be selected for IPv4 packets. - * - * Only TCP listeners and UDP unconnected sockets can be - * selected. *sk* can also be NULL to reset any previous - * selection. - * - * *flags* argument can combination of following values: - * - * * **BPF_SK_LOOKUP_F_REPLACE** to override the previous - * socket selection, potentially done by a BPF program - * that ran before us. - * - * * **BPF_SK_LOOKUP_F_NO_REUSEPORT** to skip - * load-balancing within reuseport group for the socket - * being selected. - * - * On success *ctx->sk* will point to the selected socket. - * - * Return - * 0 on success, or a negative errno in case of failure. - * - * * **-EAFNOSUPPORT** if socket family (*sk->family*) is - * not compatible with packet family (*ctx->family*). - * - * * **-EEXIST** if socket has been already selected, - * potentially by another program, and - * **BPF_SK_LOOKUP_F_REPLACE** flag was not specified. - * - * * **-EINVAL** if unsupported flags were specified. - * - * * **-EPROTOTYPE** if socket L4 protocol - * (*sk->protocol*) doesn't match packet protocol - * (*ctx->protocol*). - * - * * **-ESOCKTNOSUPPORT** if socket is not in allowed - * state (TCP listening or UDP unconnected). - * - * u64 bpf_ktime_get_boot_ns(void) - * Description - * Return the time elapsed since system boot, in nanoseconds. - * Does include the time the system was suspended. - * See: **clock_gettime**\ (**CLOCK_BOOTTIME**) - * Return - * Current *ktime*. - * - * long bpf_seq_printf(struct seq_file *m, const char *fmt, u32 fmt_size, const void *data, u32 data_len) - * Description - * **bpf_seq_printf**\ () uses seq_file **seq_printf**\ () to print - * out the format string. - * The *m* represents the seq_file. The *fmt* and *fmt_size* are for - * the format string itself. The *data* and *data_len* are format string - * arguments. The *data* are a **u64** array and corresponding format string - * values are stored in the array. For strings and pointers where pointees - * are accessed, only the pointer values are stored in the *data* array. - * The *data_len* is the size of *data* in bytes. - * - * Formats **%s**, **%p{i,I}{4,6}** requires to read kernel memory. - * Reading kernel memory may fail due to either invalid address or - * valid address but requiring a major memory fault. If reading kernel memory - * fails, the string for **%s** will be an empty string, and the ip - * address for **%p{i,I}{4,6}** will be 0. Not returning error to - * bpf program is consistent with what **bpf_trace_printk**\ () does for now. - * Return - * 0 on success, or a negative error in case of failure: - * - * **-EBUSY** if per-CPU memory copy buffer is busy, can try again - * by returning 1 from bpf program. - * - * **-EINVAL** if arguments are invalid, or if *fmt* is invalid/unsupported. - * - * **-E2BIG** if *fmt* contains too many format specifiers. - * - * **-EOVERFLOW** if an overflow happened: The same object will be tried again. - * - * long bpf_seq_write(struct seq_file *m, const void *data, u32 len) - * Description - * **bpf_seq_write**\ () uses seq_file **seq_write**\ () to write the data. - * The *m* represents the seq_file. The *data* and *len* represent the - * data to write in bytes. - * Return - * 0 on success, or a negative error in case of failure: - * - * **-EOVERFLOW** if an overflow happened: The same object will be tried again. - * - * u64 bpf_sk_cgroup_id(void *sk) - * Description - * Return the cgroup v2 id of the socket *sk*. - * - * *sk* must be a non-**NULL** pointer to a socket, e.g. one - * returned from **bpf_sk_lookup_xxx**\ (), - * **bpf_sk_fullsock**\ (), etc. The format of returned id is - * same as in **bpf_skb_cgroup_id**\ (). - * - * This helper is available only if the kernel was compiled with - * the **CONFIG_SOCK_CGROUP_DATA** configuration option. - * Return - * The id is returned or 0 in case the id could not be retrieved. - * - * u64 bpf_sk_ancestor_cgroup_id(void *sk, int ancestor_level) - * Description - * Return id of cgroup v2 that is ancestor of cgroup associated - * with the *sk* at the *ancestor_level*. The root cgroup is at - * *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with *sk*, then return value will be same as that - * of **bpf_sk_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with *sk*. - * - * The format of returned id and helper limitations are same as in - * **bpf_sk_cgroup_id**\ (). - * Return - * The id is returned or 0 in case the id could not be retrieved. - * - * long bpf_ringbuf_output(void *ringbuf, void *data, u64 size, u64 flags) - * Description - * Copy *size* bytes from *data* into a ring buffer *ringbuf*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * Return - * 0 on success, or a negative error in case of failure. - * - * void *bpf_ringbuf_reserve(void *ringbuf, u64 size, u64 flags) - * Description - * Reserve *size* bytes of payload in a ring buffer *ringbuf*. - * Return - * Valid pointer with *size* bytes of memory available; NULL, - * otherwise. - * - * void bpf_ringbuf_submit(void *data, u64 flags) - * Description - * Submit reserved ring buffer sample, pointed to by *data*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * Return - * Nothing. Always succeeds. - * - * void bpf_ringbuf_discard(void *data, u64 flags) - * Description - * Discard reserved ring buffer sample, pointed to by *data*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * Return - * Nothing. Always succeeds. - * - * u64 bpf_ringbuf_query(void *ringbuf, u64 flags) - * Description - * Query various characteristics of provided ring buffer. What - * exactly is queries is determined by *flags*: - * - * * **BPF_RB_AVAIL_DATA**: Amount of data not yet consumed. - * * **BPF_RB_RING_SIZE**: The size of ring buffer. - * * **BPF_RB_CONS_POS**: Consumer position (can wrap around). - * * **BPF_RB_PROD_POS**: Producer(s) position (can wrap around). - * - * Data returned is just a momentary snapshot of actual values - * and could be inaccurate, so this facility should be used to - * power heuristics and for reporting, not to make 100% correct - * calculation. - * Return - * Requested value, or 0, if *flags* are not recognized. - * - * long bpf_csum_level(struct sk_buff *skb, u64 level) - * Description - * Change the skbs checksum level by one layer up or down, or - * reset it entirely to none in order to have the stack perform - * checksum validation. The level is applicable to the following - * protocols: TCP, UDP, GRE, SCTP, FCOE. For example, a decap of - * | ETH | IP | UDP | GUE | IP | TCP | into | ETH | IP | TCP | - * through **bpf_skb_adjust_room**\ () helper with passing in - * **BPF_F_ADJ_ROOM_NO_CSUM_RESET** flag would require one call - * to **bpf_csum_level**\ () with **BPF_CSUM_LEVEL_DEC** since - * the UDP header is removed. Similarly, an encap of the latter - * into the former could be accompanied by a helper call to - * **bpf_csum_level**\ () with **BPF_CSUM_LEVEL_INC** if the - * skb is still intended to be processed in higher layers of the - * stack instead of just egressing at tc. - * - * There are three supported level settings at this time: - * - * * **BPF_CSUM_LEVEL_INC**: Increases skb->csum_level for skbs - * with CHECKSUM_UNNECESSARY. - * * **BPF_CSUM_LEVEL_DEC**: Decreases skb->csum_level for skbs - * with CHECKSUM_UNNECESSARY. - * * **BPF_CSUM_LEVEL_RESET**: Resets skb->csum_level to 0 and - * sets CHECKSUM_NONE to force checksum validation by the stack. - * * **BPF_CSUM_LEVEL_QUERY**: No-op, returns the current - * skb->csum_level. - * Return - * 0 on success, or a negative error in case of failure. In the - * case of **BPF_CSUM_LEVEL_QUERY**, the current skb->csum_level - * is returned or the error code -EACCES in case the skb is not - * subject to CHECKSUM_UNNECESSARY. - * - * struct tcp6_sock *bpf_skc_to_tcp6_sock(void *sk) - * Description - * Dynamically cast a *sk* pointer to a *tcp6_sock* pointer. - * Return - * *sk* if casting is valid, or **NULL** otherwise. - * - * struct tcp_sock *bpf_skc_to_tcp_sock(void *sk) - * Description - * Dynamically cast a *sk* pointer to a *tcp_sock* pointer. - * Return - * *sk* if casting is valid, or **NULL** otherwise. - * - * struct tcp_timewait_sock *bpf_skc_to_tcp_timewait_sock(void *sk) - * Description - * Dynamically cast a *sk* pointer to a *tcp_timewait_sock* pointer. - * Return - * *sk* if casting is valid, or **NULL** otherwise. - * - * struct tcp_request_sock *bpf_skc_to_tcp_request_sock(void *sk) - * Description - * Dynamically cast a *sk* pointer to a *tcp_request_sock* pointer. - * Return - * *sk* if casting is valid, or **NULL** otherwise. - * - * struct udp6_sock *bpf_skc_to_udp6_sock(void *sk) - * Description - * Dynamically cast a *sk* pointer to a *udp6_sock* pointer. - * Return - * *sk* if casting is valid, or **NULL** otherwise. - * - * long bpf_get_task_stack(struct task_struct *task, void *buf, u32 size, u64 flags) - * Description - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *task*, which is a valid - * pointer to **struct task_struct**. To store the stacktrace, the - * bpf program provides *buf* with a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_task_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * Return - * A non-negative value equal to or less than *size* on success, - * or a negative error in case of failure. - * - * long bpf_load_hdr_opt(struct bpf_sock_ops *skops, void *searchby_res, u32 len, u64 flags) - * Description - * Load header option. Support reading a particular TCP header - * option for bpf program (**BPF_PROG_TYPE_SOCK_OPS**). - * - * If *flags* is 0, it will search the option from the - * *skops*\ **->skb_data**. The comment in **struct bpf_sock_ops** - * has details on what skb_data contains under different - * *skops*\ **->op**. - * - * The first byte of the *searchby_res* specifies the - * kind that it wants to search. - * - * If the searching kind is an experimental kind - * (i.e. 253 or 254 according to RFC6994). It also - * needs to specify the "magic" which is either - * 2 bytes or 4 bytes. It then also needs to - * specify the size of the magic by using - * the 2nd byte which is "kind-length" of a TCP - * header option and the "kind-length" also - * includes the first 2 bytes "kind" and "kind-length" - * itself as a normal TCP header option also does. - * - * For example, to search experimental kind 254 with - * 2 byte magic 0xeB9F, the searchby_res should be - * [ 254, 4, 0xeB, 0x9F, 0, 0, .... 0 ]. - * - * To search for the standard window scale option (3), - * the *searchby_res* should be [ 3, 0, 0, .... 0 ]. - * Note, kind-length must be 0 for regular option. - * - * Searching for No-Op (0) and End-of-Option-List (1) are - * not supported. - * - * *len* must be at least 2 bytes which is the minimal size - * of a header option. - * - * Supported flags: - * - * * **BPF_LOAD_HDR_OPT_TCP_SYN** to search from the - * saved_syn packet or the just-received syn packet. - * - * Return - * > 0 when found, the header option is copied to *searchby_res*. - * The return value is the total length copied. On failure, a - * negative error code is returned: - * - * **-EINVAL** if a parameter is invalid. - * - * **-ENOMSG** if the option is not found. - * - * **-ENOENT** if no syn packet is available when - * **BPF_LOAD_HDR_OPT_TCP_SYN** is used. - * - * **-ENOSPC** if there is not enough space. Only *len* number of - * bytes are copied. - * - * **-EFAULT** on failure to parse the header options in the - * packet. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - * - * long bpf_store_hdr_opt(struct bpf_sock_ops *skops, const void *from, u32 len, u64 flags) - * Description - * Store header option. The data will be copied - * from buffer *from* with length *len* to the TCP header. - * - * The buffer *from* should have the whole option that - * includes the kind, kind-length, and the actual - * option data. The *len* must be at least kind-length - * long. The kind-length does not have to be 4 byte - * aligned. The kernel will take care of the padding - * and setting the 4 bytes aligned value to th->doff. - * - * This helper will check for duplicated option - * by searching the same option in the outgoing skb. - * - * This helper can only be called during - * **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**. - * - * Return - * 0 on success, or negative error in case of failure: - * - * **-EINVAL** If param is invalid. - * - * **-ENOSPC** if there is not enough space in the header. - * Nothing has been written - * - * **-EEXIST** if the option already exists. - * - * **-EFAULT** on failrue to parse the existing header options. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - * - * long bpf_reserve_hdr_opt(struct bpf_sock_ops *skops, u32 len, u64 flags) - * Description - * Reserve *len* bytes for the bpf header option. The - * space will be used by **bpf_store_hdr_opt**\ () later in - * **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**. - * - * If **bpf_reserve_hdr_opt**\ () is called multiple times, - * the total number of bytes will be reserved. - * - * This helper can only be called during - * **BPF_SOCK_OPS_HDR_OPT_LEN_CB**. - * - * Return - * 0 on success, or negative error in case of failure: - * - * **-EINVAL** if a parameter is invalid. - * - * **-ENOSPC** if there is not enough space in the header. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - * - * void *bpf_inode_storage_get(struct bpf_map *map, void *inode, void *value, u64 flags) - * Description - * Get a bpf_local_storage from an *inode*. - * - * Logically, it could be thought of as getting the value from - * a *map* with *inode* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *inode*) except this - * helper enforces the key must be an inode and the map must also - * be a **BPF_MAP_TYPE_INODE_STORAGE**. - * - * Underneath, the value is stored locally at *inode* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf_local_storage residing at *inode*. - * - * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf_local_storage will be - * created if one does not exist. *value* can be used - * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf_local_storage. If *value* is - * **NULL**, the new bpf_local_storage will be zero initialized. - * Return - * A bpf_local_storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf_local_storage. - * - * int bpf_inode_storage_delete(struct bpf_map *map, void *inode) - * Description - * Delete a bpf_local_storage from an *inode*. - * Return - * 0 on success. - * - * **-ENOENT** if the bpf_local_storage cannot be found. - * - * long bpf_d_path(struct path *path, char *buf, u32 sz) - * Description - * Return full path for given **struct path** object, which - * needs to be the kernel BTF *path* object. The path is - * returned in the provided buffer *buf* of size *sz* and - * is zero terminated. - * - * Return - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - * - * long bpf_copy_from_user(void *dst, u32 size, const void *user_ptr) - * Description - * Read *size* bytes from user space address *user_ptr* and store - * the data in *dst*. This is a wrapper of **copy_from_user**\ (). - * Return - * 0 on success, or a negative error in case of failure. - * - * long bpf_snprintf_btf(char *str, u32 str_size, struct btf_ptr *ptr, u32 btf_ptr_size, u64 flags) - * Description - * Use BTF to store a string representation of *ptr*->ptr in *str*, - * using *ptr*->type_id. This value should specify the type - * that *ptr*->ptr points to. LLVM __builtin_btf_type_id(type, 1) - * can be used to look up vmlinux BTF type ids. Traversing the - * data structure using BTF, the type information and values are - * stored in the first *str_size* - 1 bytes of *str*. Safe copy of - * the pointer data is carried out to avoid kernel crashes during - * operation. Smaller types can use string space on the stack; - * larger programs can use map data to store the string - * representation. - * - * The string can be subsequently shared with userspace via - * bpf_perf_event_output() or ring buffer interfaces. - * bpf_trace_printk() is to be avoided as it places too small - * a limit on string size to be useful. - * - * *flags* is a combination of - * - * **BTF_F_COMPACT** - * no formatting around type information - * **BTF_F_NONAME** - * no struct/union member names/types - * **BTF_F_PTR_RAW** - * show raw (unobfuscated) pointer values; - * equivalent to printk specifier %px. - * **BTF_F_ZERO** - * show zero-valued struct/union members; they - * are not displayed by default - * - * Return - * The number of bytes that were written (or would have been - * written if output had to be truncated due to string size), - * or a negative error in cases of failure. - * - * long bpf_seq_printf_btf(struct seq_file *m, struct btf_ptr *ptr, u32 ptr_size, u64 flags) - * Description - * Use BTF to write to seq_write a string representation of - * *ptr*->ptr, using *ptr*->type_id as per bpf_snprintf_btf(). - * *flags* are identical to those used for bpf_snprintf_btf. - * Return - * 0 on success or a negative error in case of failure. - * - * u64 bpf_skb_cgroup_classid(struct sk_buff *skb) - * Description - * See **bpf_get_cgroup_classid**\ () for the main description. - * This helper differs from **bpf_get_cgroup_classid**\ () in that - * the cgroup v1 net_cls class is retrieved only from the *skb*'s - * associated socket instead of the current process. - * Return - * The id is returned or 0 in case the id could not be retrieved. - * - * long bpf_redirect_neigh(u32 ifindex, struct bpf_redir_neigh *params, int plen, u64 flags) - * Description - * Redirect the packet to another net device of index *ifindex* - * and fill in L2 addresses from neighboring subsystem. This helper - * is somewhat similar to **bpf_redirect**\ (), except that it - * populates L2 addresses as well, meaning, internally, the helper - * relies on the neighbor lookup for the L2 address of the nexthop. - * - * The helper will perform a FIB lookup based on the skb's - * networking header to get the address of the next hop, unless - * this is supplied by the caller in the *params* argument. The - * *plen* argument indicates the len of *params* and should be set - * to 0 if *params* is NULL. - * - * The *flags* argument is reserved and must be 0. The helper is - * currently only supported for tc BPF program types, and enabled - * for IPv4 and IPv6 protocols. - * Return - * The helper returns **TC_ACT_REDIRECT** on success or - * **TC_ACT_SHOT** on error. - * - * void *bpf_per_cpu_ptr(const void *percpu_ptr, u32 cpu) - * Description - * Take a pointer to a percpu ksym, *percpu_ptr*, and return a - * pointer to the percpu kernel variable on *cpu*. A ksym is an - * extern variable decorated with '__ksym'. For ksym, there is a - * global var (either static or global) defined of the same name - * in the kernel. The ksym is percpu if the global var is percpu. - * The returned pointer points to the global percpu var on *cpu*. - * - * bpf_per_cpu_ptr() has the same semantic as per_cpu_ptr() in the - * kernel, except that bpf_per_cpu_ptr() may return NULL. This - * happens if *cpu* is larger than nr_cpu_ids. The caller of - * bpf_per_cpu_ptr() must check the returned value. - * Return - * A pointer pointing to the kernel percpu variable on *cpu*, or - * NULL, if *cpu* is invalid. - * - * void *bpf_this_cpu_ptr(const void *percpu_ptr) - * Description - * Take a pointer to a percpu ksym, *percpu_ptr*, and return a - * pointer to the percpu kernel variable on this cpu. See the - * description of 'ksym' in **bpf_per_cpu_ptr**\ (). - * - * bpf_this_cpu_ptr() has the same semantic as this_cpu_ptr() in - * the kernel. Different from **bpf_per_cpu_ptr**\ (), it would - * never return NULL. - * Return - * A pointer pointing to the kernel percpu variable on this cpu. - * - * long bpf_redirect_peer(u32 ifindex, u64 flags) - * Description - * Redirect the packet to another net device of index *ifindex*. - * This helper is somewhat similar to **bpf_redirect**\ (), except - * that the redirection happens to the *ifindex*' peer device and - * the netns switch takes place from ingress to ingress without - * going through the CPU's backlog queue. - * - * The *flags* argument is reserved and must be 0. The helper is - * currently only supported for tc BPF program types at the ingress - * hook and for veth device types. The peer device must reside in a - * different network namespace. - * Return - * The helper returns **TC_ACT_REDIRECT** on success or - * **TC_ACT_SHOT** on error. - */ -#define __BPF_FUNC_MAPPER(FN) \ - FN(unspec), \ - FN(map_lookup_elem), \ - FN(map_update_elem), \ - FN(map_delete_elem), \ - FN(probe_read), \ - FN(ktime_get_ns), \ - FN(trace_printk), \ - FN(get_prandom_u32), \ - FN(get_smp_processor_id), \ - FN(skb_store_bytes), \ - FN(l3_csum_replace), \ - FN(l4_csum_replace), \ - FN(tail_call), \ - FN(clone_redirect), \ - FN(get_current_pid_tgid), \ - FN(get_current_uid_gid), \ - FN(get_current_comm), \ - FN(get_cgroup_classid), \ - FN(skb_vlan_push), \ - FN(skb_vlan_pop), \ - FN(skb_get_tunnel_key), \ - FN(skb_set_tunnel_key), \ - FN(perf_event_read), \ - FN(redirect), \ - FN(get_route_realm), \ - FN(perf_event_output), \ - FN(skb_load_bytes), \ - FN(get_stackid), \ - FN(csum_diff), \ - FN(skb_get_tunnel_opt), \ - FN(skb_set_tunnel_opt), \ - FN(skb_change_proto), \ - FN(skb_change_type), \ - FN(skb_under_cgroup), \ - FN(get_hash_recalc), \ - FN(get_current_task), \ - FN(probe_write_user), \ - FN(current_task_under_cgroup), \ - FN(skb_change_tail), \ - FN(skb_pull_data), \ - FN(csum_update), \ - FN(set_hash_invalid), \ - FN(get_numa_node_id), \ - FN(skb_change_head), \ - FN(xdp_adjust_head), \ - FN(probe_read_str), \ - FN(get_socket_cookie), \ - FN(get_socket_uid), \ - FN(set_hash), \ - FN(setsockopt), \ - FN(skb_adjust_room), \ - FN(redirect_map), \ - FN(sk_redirect_map), \ - FN(sock_map_update), \ - FN(xdp_adjust_meta), \ - FN(perf_event_read_value), \ - FN(perf_prog_read_value), \ - FN(getsockopt), \ - FN(override_return), \ - FN(sock_ops_cb_flags_set), \ - FN(msg_redirect_map), \ - FN(msg_apply_bytes), \ - FN(msg_cork_bytes), \ - FN(msg_pull_data), \ - FN(bind), \ - FN(xdp_adjust_tail), \ - FN(skb_get_xfrm_state), \ - FN(get_stack), \ - FN(skb_load_bytes_relative), \ - FN(fib_lookup), \ - FN(sock_hash_update), \ - FN(msg_redirect_hash), \ - FN(sk_redirect_hash), \ - FN(lwt_push_encap), \ - FN(lwt_seg6_store_bytes), \ - FN(lwt_seg6_adjust_srh), \ - FN(lwt_seg6_action), \ - FN(rc_repeat), \ - FN(rc_keydown), \ - FN(skb_cgroup_id), \ - FN(get_current_cgroup_id), \ - FN(get_local_storage), \ - FN(sk_select_reuseport), \ - FN(skb_ancestor_cgroup_id), \ - FN(sk_lookup_tcp), \ - FN(sk_lookup_udp), \ - FN(sk_release), \ - FN(map_push_elem), \ - FN(map_pop_elem), \ - FN(map_peek_elem), \ - FN(msg_push_data), \ - FN(msg_pop_data), \ - FN(rc_pointer_rel), \ - FN(spin_lock), \ - FN(spin_unlock), \ - FN(sk_fullsock), \ - FN(tcp_sock), \ - FN(skb_ecn_set_ce), \ - FN(get_listener_sock), \ - FN(skc_lookup_tcp), \ - FN(tcp_check_syncookie), \ - FN(sysctl_get_name), \ - FN(sysctl_get_current_value), \ - FN(sysctl_get_new_value), \ - FN(sysctl_set_new_value), \ - FN(strtol), \ - FN(strtoul), \ - FN(sk_storage_get), \ - FN(sk_storage_delete), \ - FN(send_signal), \ - FN(tcp_gen_syncookie), \ - FN(skb_output), \ - FN(probe_read_user), \ - FN(probe_read_kernel), \ - FN(probe_read_user_str), \ - FN(probe_read_kernel_str), \ - FN(tcp_send_ack), \ - FN(send_signal_thread), \ - FN(jiffies64), \ - FN(read_branch_records), \ - FN(get_ns_current_pid_tgid), \ - FN(xdp_output), \ - FN(get_netns_cookie), \ - FN(get_current_ancestor_cgroup_id), \ - FN(sk_assign), \ - FN(ktime_get_boot_ns), \ - FN(seq_printf), \ - FN(seq_write), \ - FN(sk_cgroup_id), \ - FN(sk_ancestor_cgroup_id), \ - FN(ringbuf_output), \ - FN(ringbuf_reserve), \ - FN(ringbuf_submit), \ - FN(ringbuf_discard), \ - FN(ringbuf_query), \ - FN(csum_level), \ - FN(skc_to_tcp6_sock), \ - FN(skc_to_tcp_sock), \ - FN(skc_to_tcp_timewait_sock), \ - FN(skc_to_tcp_request_sock), \ - FN(skc_to_udp6_sock), \ - FN(get_task_stack), \ - FN(load_hdr_opt), \ - FN(store_hdr_opt), \ - FN(reserve_hdr_opt), \ - FN(inode_storage_get), \ - FN(inode_storage_delete), \ - FN(d_path), \ - FN(copy_from_user), \ - FN(snprintf_btf), \ - FN(seq_printf_btf), \ - FN(skb_cgroup_classid), \ - FN(redirect_neigh), \ - FN(per_cpu_ptr), \ - FN(this_cpu_ptr), \ - FN(redirect_peer), \ - /* */ - -/* integer value in 'imm' field of BPF_CALL instruction selects which helper - * function eBPF program intends to call - */ -#define __BPF_ENUM_FN(x) BPF_FUNC_ ## x -enum bpf_func_id { - __BPF_FUNC_MAPPER(__BPF_ENUM_FN) - __BPF_FUNC_MAX_ID, -}; -#undef __BPF_ENUM_FN - -/* All flags used by eBPF helper functions, placed here. */ - -/* BPF_FUNC_skb_store_bytes flags. */ -enum { - BPF_F_RECOMPUTE_CSUM = (1ULL << 0), - BPF_F_INVALIDATE_HASH = (1ULL << 1), -}; - -/* BPF_FUNC_l3_csum_replace and BPF_FUNC_l4_csum_replace flags. - * First 4 bits are for passing the header field size. - */ -enum { - BPF_F_HDR_FIELD_MASK = 0xfULL, -}; - -/* BPF_FUNC_l4_csum_replace flags. */ -enum { - BPF_F_PSEUDO_HDR = (1ULL << 4), - BPF_F_MARK_MANGLED_0 = (1ULL << 5), - BPF_F_MARK_ENFORCE = (1ULL << 6), -}; - -/* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */ -enum { - BPF_F_INGRESS = (1ULL << 0), -}; - -/* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */ -enum { - BPF_F_TUNINFO_IPV6 = (1ULL << 0), -}; - -/* flags for both BPF_FUNC_get_stackid and BPF_FUNC_get_stack. */ -enum { - BPF_F_SKIP_FIELD_MASK = 0xffULL, - BPF_F_USER_STACK = (1ULL << 8), -/* flags used by BPF_FUNC_get_stackid only. */ - BPF_F_FAST_STACK_CMP = (1ULL << 9), - BPF_F_REUSE_STACKID = (1ULL << 10), -/* flags used by BPF_FUNC_get_stack only. */ - BPF_F_USER_BUILD_ID = (1ULL << 11), -}; - -/* BPF_FUNC_skb_set_tunnel_key flags. */ -enum { - BPF_F_ZERO_CSUM_TX = (1ULL << 1), - BPF_F_DONT_FRAGMENT = (1ULL << 2), - BPF_F_SEQ_NUMBER = (1ULL << 3), -}; - -/* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and - * BPF_FUNC_perf_event_read_value flags. - */ -enum { - BPF_F_INDEX_MASK = 0xffffffffULL, - BPF_F_CURRENT_CPU = BPF_F_INDEX_MASK, -/* BPF_FUNC_perf_event_output for sk_buff input context. */ - BPF_F_CTXLEN_MASK = (0xfffffULL << 32), -}; - -/* Current network namespace */ -enum { - BPF_F_CURRENT_NETNS = (-1L), -}; - -/* BPF_FUNC_csum_level level values. */ -enum { - BPF_CSUM_LEVEL_QUERY, - BPF_CSUM_LEVEL_INC, - BPF_CSUM_LEVEL_DEC, - BPF_CSUM_LEVEL_RESET, -}; - -/* BPF_FUNC_skb_adjust_room flags. */ -enum { - BPF_F_ADJ_ROOM_FIXED_GSO = (1ULL << 0), - BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = (1ULL << 1), - BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = (1ULL << 2), - BPF_F_ADJ_ROOM_ENCAP_L4_GRE = (1ULL << 3), - BPF_F_ADJ_ROOM_ENCAP_L4_UDP = (1ULL << 4), - BPF_F_ADJ_ROOM_NO_CSUM_RESET = (1ULL << 5), -}; - -enum { - BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff, - BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 56, -}; - -#define BPF_F_ADJ_ROOM_ENCAP_L2(len) (((__u64)len & \ - BPF_ADJ_ROOM_ENCAP_L2_MASK) \ - << BPF_ADJ_ROOM_ENCAP_L2_SHIFT) - -/* BPF_FUNC_sysctl_get_name flags. */ -enum { - BPF_F_SYSCTL_BASE_NAME = (1ULL << 0), -}; - -/* BPF_FUNC__storage_get flags */ -enum { - BPF_LOCAL_STORAGE_GET_F_CREATE = (1ULL << 0), - /* BPF_SK_STORAGE_GET_F_CREATE is only kept for backward compatibility - * and BPF_LOCAL_STORAGE_GET_F_CREATE must be used instead. - */ - BPF_SK_STORAGE_GET_F_CREATE = BPF_LOCAL_STORAGE_GET_F_CREATE, -}; - -/* BPF_FUNC_read_branch_records flags. */ -enum { - BPF_F_GET_BRANCH_RECORDS_SIZE = (1ULL << 0), -}; - -/* BPF_FUNC_bpf_ringbuf_commit, BPF_FUNC_bpf_ringbuf_discard, and - * BPF_FUNC_bpf_ringbuf_output flags. - */ -enum { - BPF_RB_NO_WAKEUP = (1ULL << 0), - BPF_RB_FORCE_WAKEUP = (1ULL << 1), -}; - -/* BPF_FUNC_bpf_ringbuf_query flags */ -enum { - BPF_RB_AVAIL_DATA = 0, - BPF_RB_RING_SIZE = 1, - BPF_RB_CONS_POS = 2, - BPF_RB_PROD_POS = 3, -}; - -/* BPF ring buffer constants */ -enum { - BPF_RINGBUF_BUSY_BIT = (1U << 31), - BPF_RINGBUF_DISCARD_BIT = (1U << 30), - BPF_RINGBUF_HDR_SZ = 8, -}; - -/* BPF_FUNC_sk_assign flags in bpf_sk_lookup context. */ -enum { - BPF_SK_LOOKUP_F_REPLACE = (1ULL << 0), - BPF_SK_LOOKUP_F_NO_REUSEPORT = (1ULL << 1), -}; - -/* Mode for BPF_FUNC_skb_adjust_room helper. */ -enum bpf_adj_room_mode { - BPF_ADJ_ROOM_NET, - BPF_ADJ_ROOM_MAC, -}; - -/* Mode for BPF_FUNC_skb_load_bytes_relative helper. */ -enum bpf_hdr_start_off { - BPF_HDR_START_MAC, - BPF_HDR_START_NET, -}; - -/* Encapsulation type for BPF_FUNC_lwt_push_encap helper. */ -enum bpf_lwt_encap_mode { - BPF_LWT_ENCAP_SEG6, - BPF_LWT_ENCAP_SEG6_INLINE, - BPF_LWT_ENCAP_IP, -}; - -#define __bpf_md_ptr(type, name) \ -union { \ - type name; \ - __u64 :64; \ -} __attribute__((aligned(8))) - -/* user accessible mirror of in-kernel sk_buff. - * new fields can only be added to the end of this structure - */ -struct __sk_buff { - __u32 len; - __u32 pkt_type; - __u32 mark; - __u32 queue_mapping; - __u32 protocol; - __u32 vlan_present; - __u32 vlan_tci; - __u32 vlan_proto; - __u32 priority; - __u32 ingress_ifindex; - __u32 ifindex; - __u32 tc_index; - __u32 cb[5]; - __u32 hash; - __u32 tc_classid; - __u32 data; - __u32 data_end; - __u32 napi_id; - - /* Accessed by BPF_PROG_TYPE_sk_skb types from here to ... */ - __u32 family; - __u32 remote_ip4; /* Stored in network byte order */ - __u32 local_ip4; /* Stored in network byte order */ - __u32 remote_ip6[4]; /* Stored in network byte order */ - __u32 local_ip6[4]; /* Stored in network byte order */ - __u32 remote_port; /* Stored in network byte order */ - __u32 local_port; /* stored in host byte order */ - /* ... here. */ - - __u32 data_meta; - __bpf_md_ptr(struct bpf_flow_keys *, flow_keys); - __u64 tstamp; - __u32 wire_len; - __u32 gso_segs; - __bpf_md_ptr(struct bpf_sock *, sk); - __u32 gso_size; -}; - -struct bpf_tunnel_key { - __u32 tunnel_id; - union { - __u32 remote_ipv4; - __u32 remote_ipv6[4]; - }; - __u8 tunnel_tos; - __u8 tunnel_ttl; - __u16 tunnel_ext; /* Padding, future use. */ - __u32 tunnel_label; -}; - -/* user accessible mirror of in-kernel xfrm_state. - * new fields can only be added to the end of this structure - */ -struct bpf_xfrm_state { - __u32 reqid; - __u32 spi; /* Stored in network byte order */ - __u16 family; - __u16 ext; /* Padding, future use. */ - union { - __u32 remote_ipv4; /* Stored in network byte order */ - __u32 remote_ipv6[4]; /* Stored in network byte order */ - }; -}; - -/* Generic BPF return codes which all BPF program types may support. - * The values are binary compatible with their TC_ACT_* counter-part to - * provide backwards compatibility with existing SCHED_CLS and SCHED_ACT - * programs. - * - * XDP is handled seprately, see XDP_*. - */ -enum bpf_ret_code { - BPF_OK = 0, - /* 1 reserved */ - BPF_DROP = 2, - /* 3-6 reserved */ - BPF_REDIRECT = 7, - /* >127 are reserved for prog type specific return codes. - * - * BPF_LWT_REROUTE: used by BPF_PROG_TYPE_LWT_IN and - * BPF_PROG_TYPE_LWT_XMIT to indicate that skb had been - * changed and should be routed based on its new L3 header. - * (This is an L3 redirect, as opposed to L2 redirect - * represented by BPF_REDIRECT above). - */ - BPF_LWT_REROUTE = 128, -}; - -struct bpf_sock { - __u32 bound_dev_if; - __u32 family; - __u32 type; - __u32 protocol; - __u32 mark; - __u32 priority; - /* IP address also allows 1 and 2 bytes access */ - __u32 src_ip4; - __u32 src_ip6[4]; - __u32 src_port; /* host byte order */ - __u32 dst_port; /* network byte order */ - __u32 dst_ip4; - __u32 dst_ip6[4]; - __u32 state; - __s32 rx_queue_mapping; -}; - -struct bpf_tcp_sock { - __u32 snd_cwnd; /* Sending congestion window */ - __u32 srtt_us; /* smoothed round trip time << 3 in usecs */ - __u32 rtt_min; - __u32 snd_ssthresh; /* Slow start size threshold */ - __u32 rcv_nxt; /* What we want to receive next */ - __u32 snd_nxt; /* Next sequence we send */ - __u32 snd_una; /* First byte we want an ack for */ - __u32 mss_cache; /* Cached effective mss, not including SACKS */ - __u32 ecn_flags; /* ECN status bits. */ - __u32 rate_delivered; /* saved rate sample: packets delivered */ - __u32 rate_interval_us; /* saved rate sample: time elapsed */ - __u32 packets_out; /* Packets which are "in flight" */ - __u32 retrans_out; /* Retransmitted packets out */ - __u32 total_retrans; /* Total retransmits for entire connection */ - __u32 segs_in; /* RFC4898 tcpEStatsPerfSegsIn - * total number of segments in. - */ - __u32 data_segs_in; /* RFC4898 tcpEStatsPerfDataSegsIn - * total number of data segments in. - */ - __u32 segs_out; /* RFC4898 tcpEStatsPerfSegsOut - * The total number of segments sent. - */ - __u32 data_segs_out; /* RFC4898 tcpEStatsPerfDataSegsOut - * total number of data segments sent. - */ - __u32 lost_out; /* Lost packets */ - __u32 sacked_out; /* SACK'd packets */ - __u64 bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived - * sum(delta(rcv_nxt)), or how many bytes - * were acked. - */ - __u64 bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked - * sum(delta(snd_una)), or how many bytes - * were acked. - */ - __u32 dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups - * total number of DSACK blocks received - */ - __u32 delivered; /* Total data packets delivered incl. rexmits */ - __u32 delivered_ce; /* Like the above but only ECE marked packets */ - __u32 icsk_retransmits; /* Number of unrecovered [RTO] timeouts */ -}; - -struct bpf_sock_tuple { - union { - struct { - __be32 saddr; - __be32 daddr; - __be16 sport; - __be16 dport; - } ipv4; - struct { - __be32 saddr[4]; - __be32 daddr[4]; - __be16 sport; - __be16 dport; - } ipv6; - }; -}; - -struct bpf_xdp_sock { - __u32 queue_id; -}; - -#define XDP_PACKET_HEADROOM 256 - -/* User return codes for XDP prog type. - * A valid XDP program must return one of these defined values. All other - * return codes are reserved for future use. Unknown return codes will - * result in packet drops and a warning via bpf_warn_invalid_xdp_action(). - */ -enum xdp_action { - XDP_ABORTED = 0, - XDP_DROP, - XDP_PASS, - XDP_TX, - XDP_REDIRECT, -}; - -/* user accessible metadata for XDP packet hook - * new fields must be added to the end of this structure - */ -struct xdp_md { - __u32 data; - __u32 data_end; - __u32 data_meta; - /* Below access go through struct xdp_rxq_info */ - __u32 ingress_ifindex; /* rxq->dev->ifindex */ - __u32 rx_queue_index; /* rxq->queue_index */ - - __u32 egress_ifindex; /* txq->dev->ifindex */ -}; - -/* DEVMAP map-value layout - * - * The struct data-layout of map-value is a configuration interface. - * New members can only be added to the end of this structure. - */ -struct bpf_devmap_val { - __u32 ifindex; /* device index */ - union { - int fd; /* prog fd on map write */ - __u32 id; /* prog id on map read */ - } bpf_prog; -}; - -/* CPUMAP map-value layout - * - * The struct data-layout of map-value is a configuration interface. - * New members can only be added to the end of this structure. - */ -struct bpf_cpumap_val { - __u32 qsize; /* queue size to remote target CPU */ - union { - int fd; /* prog fd on map write */ - __u32 id; /* prog id on map read */ - } bpf_prog; -}; - -enum sk_action { - SK_DROP = 0, - SK_PASS, -}; - -/* user accessible metadata for SK_MSG packet hook, new fields must - * be added to the end of this structure - */ -struct sk_msg_md { - __bpf_md_ptr(void *, data); - __bpf_md_ptr(void *, data_end); - - __u32 family; - __u32 remote_ip4; /* Stored in network byte order */ - __u32 local_ip4; /* Stored in network byte order */ - __u32 remote_ip6[4]; /* Stored in network byte order */ - __u32 local_ip6[4]; /* Stored in network byte order */ - __u32 remote_port; /* Stored in network byte order */ - __u32 local_port; /* stored in host byte order */ - __u32 size; /* Total size of sk_msg */ - - __bpf_md_ptr(struct bpf_sock *, sk); /* current socket */ -}; - -struct sk_reuseport_md { - /* - * Start of directly accessible data. It begins from - * the tcp/udp header. - */ - __bpf_md_ptr(void *, data); - /* End of directly accessible data */ - __bpf_md_ptr(void *, data_end); - /* - * Total length of packet (starting from the tcp/udp header). - * Note that the directly accessible bytes (data_end - data) - * could be less than this "len". Those bytes could be - * indirectly read by a helper "bpf_skb_load_bytes()". - */ - __u32 len; - /* - * Eth protocol in the mac header (network byte order). e.g. - * ETH_P_IP(0x0800) and ETH_P_IPV6(0x86DD) - */ - __u32 eth_protocol; - __u32 ip_protocol; /* IP protocol. e.g. IPPROTO_TCP, IPPROTO_UDP */ - __u32 bind_inany; /* Is sock bound to an INANY address? */ - __u32 hash; /* A hash of the packet 4 tuples */ -}; - -#define BPF_TAG_SIZE 8 - -struct bpf_prog_info { - __u32 type; - __u32 id; - __u8 tag[BPF_TAG_SIZE]; - __u32 jited_prog_len; - __u32 xlated_prog_len; - __aligned_u64 jited_prog_insns; - __aligned_u64 xlated_prog_insns; - __u64 load_time; /* ns since boottime */ - __u32 created_by_uid; - __u32 nr_map_ids; - __aligned_u64 map_ids; - char name[BPF_OBJ_NAME_LEN]; - __u32 ifindex; - __u32 gpl_compatible:1; - __u32 :31; /* alignment pad */ - __u64 netns_dev; - __u64 netns_ino; - __u32 nr_jited_ksyms; - __u32 nr_jited_func_lens; - __aligned_u64 jited_ksyms; - __aligned_u64 jited_func_lens; - __u32 btf_id; - __u32 func_info_rec_size; - __aligned_u64 func_info; - __u32 nr_func_info; - __u32 nr_line_info; - __aligned_u64 line_info; - __aligned_u64 jited_line_info; - __u32 nr_jited_line_info; - __u32 line_info_rec_size; - __u32 jited_line_info_rec_size; - __u32 nr_prog_tags; - __aligned_u64 prog_tags; - __u64 run_time_ns; - __u64 run_cnt; -} __attribute__((aligned(8))); - -struct bpf_map_info { - __u32 type; - __u32 id; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 map_flags; - char name[BPF_OBJ_NAME_LEN]; - __u32 ifindex; - __u32 btf_vmlinux_value_type_id; - __u64 netns_dev; - __u64 netns_ino; - __u32 btf_id; - __u32 btf_key_type_id; - __u32 btf_value_type_id; -} __attribute__((aligned(8))); - -struct bpf_btf_info { - __aligned_u64 btf; - __u32 btf_size; - __u32 id; -} __attribute__((aligned(8))); - -struct bpf_link_info { - __u32 type; - __u32 id; - __u32 prog_id; - union { - struct { - __aligned_u64 tp_name; /* in/out: tp_name buffer ptr */ - __u32 tp_name_len; /* in/out: tp_name buffer len */ - } raw_tracepoint; - struct { - __u32 attach_type; - } tracing; - struct { - __u64 cgroup_id; - __u32 attach_type; - } cgroup; - struct { - __aligned_u64 target_name; /* in/out: target_name buffer ptr */ - __u32 target_name_len; /* in/out: target_name buffer len */ - union { - struct { - __u32 map_id; - } map; - }; - } iter; - struct { - __u32 netns_ino; - __u32 attach_type; - } netns; - struct { - __u32 ifindex; - } xdp; - }; -} __attribute__((aligned(8))); - -/* User bpf_sock_addr struct to access socket fields and sockaddr struct passed - * by user and intended to be used by socket (e.g. to bind to, depends on - * attach type). - */ -struct bpf_sock_addr { - __u32 user_family; /* Allows 4-byte read, but no write. */ - __u32 user_ip4; /* Allows 1,2,4-byte read and 4-byte write. - * Stored in network byte order. - */ - __u32 user_ip6[4]; /* Allows 1,2,4,8-byte read and 4,8-byte write. - * Stored in network byte order. - */ - __u32 user_port; /* Allows 1,2,4-byte read and 4-byte write. - * Stored in network byte order - */ - __u32 family; /* Allows 4-byte read, but no write */ - __u32 type; /* Allows 4-byte read, but no write */ - __u32 protocol; /* Allows 4-byte read, but no write */ - __u32 msg_src_ip4; /* Allows 1,2,4-byte read and 4-byte write. - * Stored in network byte order. - */ - __u32 msg_src_ip6[4]; /* Allows 1,2,4,8-byte read and 4,8-byte write. - * Stored in network byte order. - */ - __bpf_md_ptr(struct bpf_sock *, sk); -}; - -/* User bpf_sock_ops struct to access socket values and specify request ops - * and their replies. - * Some of this fields are in network (bigendian) byte order and may need - * to be converted before use (bpf_ntohl() defined in samples/bpf/bpf_endian.h). - * New fields can only be added at the end of this structure - */ -struct bpf_sock_ops { - __u32 op; - union { - __u32 args[4]; /* Optionally passed to bpf program */ - __u32 reply; /* Returned by bpf program */ - __u32 replylong[4]; /* Optionally returned by bpf prog */ - }; - __u32 family; - __u32 remote_ip4; /* Stored in network byte order */ - __u32 local_ip4; /* Stored in network byte order */ - __u32 remote_ip6[4]; /* Stored in network byte order */ - __u32 local_ip6[4]; /* Stored in network byte order */ - __u32 remote_port; /* Stored in network byte order */ - __u32 local_port; /* stored in host byte order */ - __u32 is_fullsock; /* Some TCP fields are only valid if - * there is a full socket. If not, the - * fields read as zero. - */ - __u32 snd_cwnd; - __u32 srtt_us; /* Averaged RTT << 3 in usecs */ - __u32 bpf_sock_ops_cb_flags; /* flags defined in uapi/linux/tcp.h */ - __u32 state; - __u32 rtt_min; - __u32 snd_ssthresh; - __u32 rcv_nxt; - __u32 snd_nxt; - __u32 snd_una; - __u32 mss_cache; - __u32 ecn_flags; - __u32 rate_delivered; - __u32 rate_interval_us; - __u32 packets_out; - __u32 retrans_out; - __u32 total_retrans; - __u32 segs_in; - __u32 data_segs_in; - __u32 segs_out; - __u32 data_segs_out; - __u32 lost_out; - __u32 sacked_out; - __u32 sk_txhash; - __u64 bytes_received; - __u64 bytes_acked; - __bpf_md_ptr(struct bpf_sock *, sk); - /* [skb_data, skb_data_end) covers the whole TCP header. - * - * BPF_SOCK_OPS_PARSE_HDR_OPT_CB: The packet received - * BPF_SOCK_OPS_HDR_OPT_LEN_CB: Not useful because the - * header has not been written. - * BPF_SOCK_OPS_WRITE_HDR_OPT_CB: The header and options have - * been written so far. - * BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: The SYNACK that concludes - * the 3WHS. - * BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: The ACK that concludes - * the 3WHS. - * - * bpf_load_hdr_opt() can also be used to read a particular option. - */ - __bpf_md_ptr(void *, skb_data); - __bpf_md_ptr(void *, skb_data_end); - __u32 skb_len; /* The total length of a packet. - * It includes the header, options, - * and payload. - */ - __u32 skb_tcp_flags; /* tcp_flags of the header. It provides - * an easy way to check for tcp_flags - * without parsing skb_data. - * - * In particular, the skb_tcp_flags - * will still be available in - * BPF_SOCK_OPS_HDR_OPT_LEN even though - * the outgoing header has not - * been written yet. - */ -}; - -/* Definitions for bpf_sock_ops_cb_flags */ -enum { - BPF_SOCK_OPS_RTO_CB_FLAG = (1<<0), - BPF_SOCK_OPS_RETRANS_CB_FLAG = (1<<1), - BPF_SOCK_OPS_STATE_CB_FLAG = (1<<2), - BPF_SOCK_OPS_RTT_CB_FLAG = (1<<3), - /* Call bpf for all received TCP headers. The bpf prog will be - * called under sock_ops->op == BPF_SOCK_OPS_PARSE_HDR_OPT_CB - * - * Please refer to the comment in BPF_SOCK_OPS_PARSE_HDR_OPT_CB - * for the header option related helpers that will be useful - * to the bpf programs. - * - * It could be used at the client/active side (i.e. connect() side) - * when the server told it that the server was in syncookie - * mode and required the active side to resend the bpf-written - * options. The active side can keep writing the bpf-options until - * it received a valid packet from the server side to confirm - * the earlier packet (and options) has been received. The later - * example patch is using it like this at the active side when the - * server is in syncookie mode. - * - * The bpf prog will usually turn this off in the common cases. - */ - BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = (1<<4), - /* Call bpf when kernel has received a header option that - * the kernel cannot handle. The bpf prog will be called under - * sock_ops->op == BPF_SOCK_OPS_PARSE_HDR_OPT_CB. - * - * Please refer to the comment in BPF_SOCK_OPS_PARSE_HDR_OPT_CB - * for the header option related helpers that will be useful - * to the bpf programs. - */ - BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = (1<<5), - /* Call bpf when the kernel is writing header options for the - * outgoing packet. The bpf prog will first be called - * to reserve space in a skb under - * sock_ops->op == BPF_SOCK_OPS_HDR_OPT_LEN_CB. Then - * the bpf prog will be called to write the header option(s) - * under sock_ops->op == BPF_SOCK_OPS_WRITE_HDR_OPT_CB. - * - * Please refer to the comment in BPF_SOCK_OPS_HDR_OPT_LEN_CB - * and BPF_SOCK_OPS_WRITE_HDR_OPT_CB for the header option - * related helpers that will be useful to the bpf programs. - * - * The kernel gets its chance to reserve space and write - * options first before the BPF program does. - */ - BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = (1<<6), -/* Mask of all currently supported cb flags */ - BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7F, -}; - -/* List of known BPF sock_ops operators. - * New entries can only be added at the end - */ -enum { - BPF_SOCK_OPS_VOID, - BPF_SOCK_OPS_TIMEOUT_INIT, /* Should return SYN-RTO value to use or - * -1 if default value should be used - */ - BPF_SOCK_OPS_RWND_INIT, /* Should return initial advertized - * window (in packets) or -1 if default - * value should be used - */ - BPF_SOCK_OPS_TCP_CONNECT_CB, /* Calls BPF program right before an - * active connection is initialized - */ - BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB, /* Calls BPF program when an - * active connection is - * established - */ - BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB, /* Calls BPF program when a - * passive connection is - * established - */ - BPF_SOCK_OPS_NEEDS_ECN, /* If connection's congestion control - * needs ECN - */ - BPF_SOCK_OPS_BASE_RTT, /* Get base RTT. The correct value is - * based on the path and may be - * dependent on the congestion control - * algorithm. In general it indicates - * a congestion threshold. RTTs above - * this indicate congestion - */ - BPF_SOCK_OPS_RTO_CB, /* Called when an RTO has triggered. - * Arg1: value of icsk_retransmits - * Arg2: value of icsk_rto - * Arg3: whether RTO has expired - */ - BPF_SOCK_OPS_RETRANS_CB, /* Called when skb is retransmitted. - * Arg1: sequence number of 1st byte - * Arg2: # segments - * Arg3: return value of - * tcp_transmit_skb (0 => success) - */ - BPF_SOCK_OPS_STATE_CB, /* Called when TCP changes state. - * Arg1: old_state - * Arg2: new_state - */ - BPF_SOCK_OPS_TCP_LISTEN_CB, /* Called on listen(2), right after - * socket transition to LISTEN state. - */ - BPF_SOCK_OPS_RTT_CB, /* Called on every RTT. - */ - BPF_SOCK_OPS_PARSE_HDR_OPT_CB, /* Parse the header option. - * It will be called to handle - * the packets received at - * an already established - * connection. - * - * sock_ops->skb_data: - * Referring to the received skb. - * It covers the TCP header only. - * - * bpf_load_hdr_opt() can also - * be used to search for a - * particular option. - */ - BPF_SOCK_OPS_HDR_OPT_LEN_CB, /* Reserve space for writing the - * header option later in - * BPF_SOCK_OPS_WRITE_HDR_OPT_CB. - * Arg1: bool want_cookie. (in - * writing SYNACK only) - * - * sock_ops->skb_data: - * Not available because no header has - * been written yet. - * - * sock_ops->skb_tcp_flags: - * The tcp_flags of the - * outgoing skb. (e.g. SYN, ACK, FIN). - * - * bpf_reserve_hdr_opt() should - * be used to reserve space. - */ - BPF_SOCK_OPS_WRITE_HDR_OPT_CB, /* Write the header options - * Arg1: bool want_cookie. (in - * writing SYNACK only) - * - * sock_ops->skb_data: - * Referring to the outgoing skb. - * It covers the TCP header - * that has already been written - * by the kernel and the - * earlier bpf-progs. - * - * sock_ops->skb_tcp_flags: - * The tcp_flags of the outgoing - * skb. (e.g. SYN, ACK, FIN). - * - * bpf_store_hdr_opt() should - * be used to write the - * option. - * - * bpf_load_hdr_opt() can also - * be used to search for a - * particular option that - * has already been written - * by the kernel or the - * earlier bpf-progs. - */ -}; - -/* List of TCP states. There is a build check in net/ipv4/tcp.c to detect - * changes between the TCP and BPF versions. Ideally this should never happen. - * If it does, we need to add code to convert them before calling - * the BPF sock_ops function. - */ -enum { - BPF_TCP_ESTABLISHED = 1, - BPF_TCP_SYN_SENT, - BPF_TCP_SYN_RECV, - BPF_TCP_FIN_WAIT1, - BPF_TCP_FIN_WAIT2, - BPF_TCP_TIME_WAIT, - BPF_TCP_CLOSE, - BPF_TCP_CLOSE_WAIT, - BPF_TCP_LAST_ACK, - BPF_TCP_LISTEN, - BPF_TCP_CLOSING, /* Now a valid state */ - BPF_TCP_NEW_SYN_RECV, - - BPF_TCP_MAX_STATES /* Leave at the end! */ -}; - -enum { - TCP_BPF_IW = 1001, /* Set TCP initial congestion window */ - TCP_BPF_SNDCWND_CLAMP = 1002, /* Set sndcwnd_clamp */ - TCP_BPF_DELACK_MAX = 1003, /* Max delay ack in usecs */ - TCP_BPF_RTO_MIN = 1004, /* Min delay ack in usecs */ - /* Copy the SYN pkt to optval - * - * BPF_PROG_TYPE_SOCK_OPS only. It is similar to the - * bpf_getsockopt(TCP_SAVED_SYN) but it does not limit - * to only getting from the saved_syn. It can either get the - * syn packet from: - * - * 1. the just-received SYN packet (only available when writing the - * SYNACK). It will be useful when it is not necessary to - * save the SYN packet for latter use. It is also the only way - * to get the SYN during syncookie mode because the syn - * packet cannot be saved during syncookie. - * - * OR - * - * 2. the earlier saved syn which was done by - * bpf_setsockopt(TCP_SAVE_SYN). - * - * The bpf_getsockopt(TCP_BPF_SYN*) option will hide where the - * SYN packet is obtained. - * - * If the bpf-prog does not need the IP[46] header, the - * bpf-prog can avoid parsing the IP header by using - * TCP_BPF_SYN. Otherwise, the bpf-prog can get both - * IP[46] and TCP header by using TCP_BPF_SYN_IP. - * - * >0: Total number of bytes copied - * -ENOSPC: Not enough space in optval. Only optlen number of - * bytes is copied. - * -ENOENT: The SYN skb is not available now and the earlier SYN pkt - * is not saved by setsockopt(TCP_SAVE_SYN). - */ - TCP_BPF_SYN = 1005, /* Copy the TCP header */ - TCP_BPF_SYN_IP = 1006, /* Copy the IP[46] and TCP header */ - TCP_BPF_SYN_MAC = 1007, /* Copy the MAC, IP[46], and TCP header */ -}; - -enum { - BPF_LOAD_HDR_OPT_TCP_SYN = (1ULL << 0), -}; - -/* args[0] value during BPF_SOCK_OPS_HDR_OPT_LEN_CB and - * BPF_SOCK_OPS_WRITE_HDR_OPT_CB. - */ -enum { - BPF_WRITE_HDR_TCP_CURRENT_MSS = 1, /* Kernel is finding the - * total option spaces - * required for an established - * sk in order to calculate the - * MSS. No skb is actually - * sent. - */ - BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 2, /* Kernel is in syncookie mode - * when sending a SYN. - */ -}; - -struct bpf_perf_event_value { - __u64 counter; - __u64 enabled; - __u64 running; -}; - -enum { - BPF_DEVCG_ACC_MKNOD = (1ULL << 0), - BPF_DEVCG_ACC_READ = (1ULL << 1), - BPF_DEVCG_ACC_WRITE = (1ULL << 2), -}; - -enum { - BPF_DEVCG_DEV_BLOCK = (1ULL << 0), - BPF_DEVCG_DEV_CHAR = (1ULL << 1), -}; - -struct bpf_cgroup_dev_ctx { - /* access_type encoded as (BPF_DEVCG_ACC_* << 16) | BPF_DEVCG_DEV_* */ - __u32 access_type; - __u32 major; - __u32 minor; -}; - -struct bpf_raw_tracepoint_args { - __u64 args[0]; -}; - -/* DIRECT: Skip the FIB rules and go to FIB table associated with device - * OUTPUT: Do lookup from egress perspective; default is ingress - */ -enum { - BPF_FIB_LOOKUP_DIRECT = (1U << 0), - BPF_FIB_LOOKUP_OUTPUT = (1U << 1), -}; - -enum { - BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */ - BPF_FIB_LKUP_RET_BLACKHOLE, /* dest is blackholed; can be dropped */ - BPF_FIB_LKUP_RET_UNREACHABLE, /* dest is unreachable; can be dropped */ - BPF_FIB_LKUP_RET_PROHIBIT, /* dest not allowed; can be dropped */ - BPF_FIB_LKUP_RET_NOT_FWDED, /* packet is not forwarded */ - BPF_FIB_LKUP_RET_FWD_DISABLED, /* fwding is not enabled on ingress */ - BPF_FIB_LKUP_RET_UNSUPP_LWT, /* fwd requires encapsulation */ - BPF_FIB_LKUP_RET_NO_NEIGH, /* no neighbor entry for nh */ - BPF_FIB_LKUP_RET_FRAG_NEEDED, /* fragmentation required to fwd */ -}; - -struct bpf_fib_lookup { - /* input: network family for lookup (AF_INET, AF_INET6) - * output: network family of egress nexthop - */ - __u8 family; - - /* set if lookup is to consider L4 data - e.g., FIB rules */ - __u8 l4_protocol; - __be16 sport; - __be16 dport; - - /* total length of packet from network header - used for MTU check */ - __u16 tot_len; - - /* input: L3 device index for lookup - * output: device index from FIB lookup - */ - __u32 ifindex; - - union { - /* inputs to lookup */ - __u8 tos; /* AF_INET */ - __be32 flowinfo; /* AF_INET6, flow_label + priority */ - - /* output: metric of fib result (IPv4/IPv6 only) */ - __u32 rt_metric; - }; - - union { - __be32 ipv4_src; - __u32 ipv6_src[4]; /* in6_addr; network order */ - }; - - /* input to bpf_fib_lookup, ipv{4,6}_dst is destination address in - * network header. output: bpf_fib_lookup sets to gateway address - * if FIB lookup returns gateway route - */ - union { - __be32 ipv4_dst; - __u32 ipv6_dst[4]; /* in6_addr; network order */ - }; - - /* output */ - __be16 h_vlan_proto; - __be16 h_vlan_TCI; - __u8 smac[6]; /* ETH_ALEN */ - __u8 dmac[6]; /* ETH_ALEN */ -}; - -struct bpf_redir_neigh { - /* network family for lookup (AF_INET, AF_INET6) */ - __u32 nh_family; - /* network address of nexthop; skips fib lookup to find gateway */ - union { - __be32 ipv4_nh; - __u32 ipv6_nh[4]; /* in6_addr; network order */ - }; -}; - -enum bpf_task_fd_type { - BPF_FD_TYPE_RAW_TRACEPOINT, /* tp name */ - BPF_FD_TYPE_TRACEPOINT, /* tp name */ - BPF_FD_TYPE_KPROBE, /* (symbol + offset) or addr */ - BPF_FD_TYPE_KRETPROBE, /* (symbol + offset) or addr */ - BPF_FD_TYPE_UPROBE, /* filename + offset */ - BPF_FD_TYPE_URETPROBE, /* filename + offset */ -}; - -enum { - BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = (1U << 0), - BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = (1U << 1), - BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = (1U << 2), -}; - -struct bpf_flow_keys { - __u16 nhoff; - __u16 thoff; - __u16 addr_proto; /* ETH_P_* of valid addrs */ - __u8 is_frag; - __u8 is_first_frag; - __u8 is_encap; - __u8 ip_proto; - __be16 n_proto; - __be16 sport; - __be16 dport; - union { - struct { - __be32 ipv4_src; - __be32 ipv4_dst; - }; - struct { - __u32 ipv6_src[4]; /* in6_addr; network order */ - __u32 ipv6_dst[4]; /* in6_addr; network order */ - }; - }; - __u32 flags; - __be32 flow_label; -}; - -struct bpf_func_info { - __u32 insn_off; - __u32 type_id; -}; - -#define BPF_LINE_INFO_LINE_NUM(line_col) ((line_col) >> 10) -#define BPF_LINE_INFO_LINE_COL(line_col) ((line_col) & 0x3ff) - -struct bpf_line_info { - __u32 insn_off; - __u32 file_name_off; - __u32 line_off; - __u32 line_col; -}; - -struct bpf_spin_lock { - __u32 val; -}; - -struct bpf_sysctl { - __u32 write; /* Sysctl is being read (= 0) or written (= 1). - * Allows 1,2,4-byte read, but no write. - */ - __u32 file_pos; /* Sysctl file position to read from, write to. - * Allows 1,2,4-byte read an 4-byte write. - */ -}; - -struct bpf_sockopt { - __bpf_md_ptr(struct bpf_sock *, sk); - __bpf_md_ptr(void *, optval); - __bpf_md_ptr(void *, optval_end); - - __s32 level; - __s32 optname; - __s32 optlen; - __s32 retval; -}; - -struct bpf_pidns_info { - __u32 pid; - __u32 tgid; -}; - -/* User accessible data for SK_LOOKUP programs. Add new fields at the end. */ -struct bpf_sk_lookup { - __bpf_md_ptr(struct bpf_sock *, sk); /* Selected socket */ - - __u32 family; /* Protocol family (AF_INET, AF_INET6) */ - __u32 protocol; /* IP protocol (IPPROTO_TCP, IPPROTO_UDP) */ - __u32 remote_ip4; /* Network byte order */ - __u32 remote_ip6[4]; /* Network byte order */ - __u32 remote_port; /* Network byte order */ - __u32 local_ip4; /* Network byte order */ - __u32 local_ip6[4]; /* Network byte order */ - __u32 local_port; /* Host byte order */ -}; - -/* - * struct btf_ptr is used for typed pointer representation; the - * type id is used to render the pointer data as the appropriate type - * via the bpf_snprintf_btf() helper described above. A flags field - - * potentially to specify additional details about the BTF pointer - * (rather than its mode of display) - is included for future use. - * Display flags - BTF_F_* - are passed to bpf_snprintf_btf separately. - */ -struct btf_ptr { - void *ptr; - __u32 type_id; - __u32 flags; /* BTF ptr flags; unused at present. */ -}; - -/* - * Flags to control bpf_snprintf_btf() behaviour. - * - BTF_F_COMPACT: no formatting around type information - * - BTF_F_NONAME: no struct/union member names/types - * - BTF_F_PTR_RAW: show raw (unobfuscated) pointer values; - * equivalent to %px. - * - BTF_F_ZERO: show zero-valued struct/union members; they - * are not displayed by default - */ -enum { - BTF_F_COMPACT = (1ULL << 0), - BTF_F_NONAME = (1ULL << 1), - BTF_F_PTR_RAW = (1ULL << 2), - BTF_F_ZERO = (1ULL << 3), -}; - -#endif /* _UAPI__LINUX_BPF_H__ */ diff --git a/resources/usr/include/bpf/linux/bpf_common.h b/resources/usr/include/bpf/linux/bpf_common.h deleted file mode 100644 index ee97668..0000000 --- a/resources/usr/include/bpf/linux/bpf_common.h +++ /dev/null @@ -1,57 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _UAPI__LINUX_BPF_COMMON_H__ -#define _UAPI__LINUX_BPF_COMMON_H__ - -/* Instruction classes */ -#define BPF_CLASS(code) ((code) & 0x07) -#define BPF_LD 0x00 -#define BPF_LDX 0x01 -#define BPF_ST 0x02 -#define BPF_STX 0x03 -#define BPF_ALU 0x04 -#define BPF_JMP 0x05 -#define BPF_RET 0x06 -#define BPF_MISC 0x07 - -/* ld/ldx fields */ -#define BPF_SIZE(code) ((code) & 0x18) -#define BPF_W 0x00 /* 32-bit */ -#define BPF_H 0x08 /* 16-bit */ -#define BPF_B 0x10 /* 8-bit */ -/* eBPF BPF_DW 0x18 64-bit */ -#define BPF_MODE(code) ((code) & 0xe0) -#define BPF_IMM 0x00 -#define BPF_ABS 0x20 -#define BPF_IND 0x40 -#define BPF_MEM 0x60 -#define BPF_LEN 0x80 -#define BPF_MSH 0xa0 - -/* alu/jmp fields */ -#define BPF_OP(code) ((code) & 0xf0) -#define BPF_ADD 0x00 -#define BPF_SUB 0x10 -#define BPF_MUL 0x20 -#define BPF_DIV 0x30 -#define BPF_OR 0x40 -#define BPF_AND 0x50 -#define BPF_LSH 0x60 -#define BPF_RSH 0x70 -#define BPF_NEG 0x80 -#define BPF_MOD 0x90 -#define BPF_XOR 0xa0 - -#define BPF_JA 0x00 -#define BPF_JEQ 0x10 -#define BPF_JGT 0x20 -#define BPF_JGE 0x30 -#define BPF_JSET 0x40 -#define BPF_SRC(code) ((code) & 0x08) -#define BPF_K 0x00 -#define BPF_X 0x08 - -#ifndef BPF_MAXINSNS -#define BPF_MAXINSNS 4096 -#endif - -#endif /* _UAPI__LINUX_BPF_COMMON_H__ */ diff --git a/resources/usr/lib/libbpf.so.32 b/resources/usr/lib/libbpf.so.32 deleted file mode 100755 index 43eeed7454e54c09b8a9c57f17d1f3eb6ae1e225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 777436 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%0AhheX?~3`=nZ{R4j+=_UHt*8*IKi0B?(Jev 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 z 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 n2d!%l0 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%0AXH?TOf*jb?n#f{c)6*KM8iFdFxK)nY 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