bpf.h revision 48af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0
182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/**************************************************************************** 282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris **************************************************************************** 382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** This header was automatically generated from a Linux kernel header 582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** of the same name, to make information necessary for userspace to 682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** call into the kernel available to libc. It contains only constants, 782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** structures, and macros generated from the original header, and thus, 882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** contains no copyrightable information. 982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 1082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** To edit the content of this header, modify the corresponding 1182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** source file (e.g. under external/kernel-headers/original/) then 1282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** run bionic/libc/kernel/tools/update_all.py 1382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 1482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** Any manual change here will be lost the next time this script will 1582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** be run. You've been warned! 1682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 1782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris **************************************************************************** 1882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris ****************************************************************************/ 1982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#ifndef _UAPI__LINUX_BPF_H__ 2082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define _UAPI__LINUX_BPF_H__ 2182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#include <linux/types.h> 2282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#include <linux/bpf_common.h> 2382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_ALU64 0x07 2582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_DW 0x18 2682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_XADD 0xc0 2782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_MOV 0xb0 2882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_ARSH 0xc0 3082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_END 0xd0 3182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_TO_LE 0x00 3282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_TO_BE 0x08 3382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_FROM_LE BPF_TO_LE 3582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_FROM_BE BPF_TO_BE 3682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_JNE 0x50 3782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_JSGT 0x60 3882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_JSGE 0x70 4082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_CALL 0x80 4182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define BPF_EXIT 0x90 4282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum { 4382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_0 = 0, 45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_1, 46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_2, 47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_3, 4882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_4, 50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_5, 51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_6, 52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_7, 5382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_8, 55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_9, 56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_REG_10, 57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __MAX_BPF_REG, 5882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 6082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define MAX_BPF_REG __MAX_BPF_REG 6182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct bpf_insn { 62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 code; 6382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 dst_reg : 4; 65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u8 src_reg : 4; 66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __s16 off; 67d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __s32 imm; 6882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 7082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum bpf_cmd { 71d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_MAP_CREATE, 72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_MAP_LOOKUP_ELEM, 7382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_MAP_UPDATE_ELEM, 75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_MAP_DELETE_ELEM, 76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_MAP_GET_NEXT_KEY, 77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_PROG_LOAD, 7882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_OBJ_PIN, 8005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_OBJ_GET, 8148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_ATTACH, 8248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_DETACH, 8348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 8582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum bpf_map_type { 86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_MAP_TYPE_UNSPEC, 8705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_MAP_TYPE_HASH, 8848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_MAP_TYPE_ARRAY, 9005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_MAP_TYPE_PROG_ARRAY, 9105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_MAP_TYPE_PERF_EVENT_ARRAY, 92106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris BPF_MAP_TYPE_PERCPU_HASH, 9348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris BPF_MAP_TYPE_PERCPU_ARRAY, 95106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris BPF_MAP_TYPE_STACK_TRACE, 9649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris BPF_MAP_TYPE_CGROUP_ARRAY, 9748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_MAP_TYPE_LRU_HASH, 9848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_MAP_TYPE_LRU_PERCPU_HASH, 10005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 10182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum bpf_prog_type { 102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao BPF_PROG_TYPE_UNSPEC, 103106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris BPF_PROG_TYPE_SOCKET_FILTER, 10505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_PROG_TYPE_KPROBE, 10605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_PROG_TYPE_SCHED_CLS, 10705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris BPF_PROG_TYPE_SCHED_ACT, 10805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10949f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris BPF_PROG_TYPE_TRACEPOINT, 11049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris BPF_PROG_TYPE_XDP, 1116a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris BPF_PROG_TYPE_PERF_EVENT, 11248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_TYPE_CGROUP_SKB, 11348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_TYPE_CGROUP_SOCK, 11548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_TYPE_LWT_IN, 11648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_TYPE_LWT_OUT, 11748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_PROG_TYPE_LWT_XMIT, 11848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 12048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisenum bpf_attach_type { 12148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_CGROUP_INET_INGRESS, 12248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_CGROUP_INET_EGRESS, 12349f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_CGROUP_INET_SOCK_CREATE, 12548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __MAX_BPF_ATTACH_TYPE 12648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris}; 12748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE 12848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_F_ALLOW_OVERRIDE (1U << 0) 1306a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define BPF_PSEUDO_MAP_FD 1 13105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define BPF_ANY 0 13205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define BPF_NOEXIST 1 13349f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_EXIST 2 1356a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris#define BPF_F_NO_PREALLOC (1U << 0) 13648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_F_NO_COMMON_LRU (1U << 1) 13705d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisunion bpf_attr { 13848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct { 140106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 map_type; 1416a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 key_size; 142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 value_size; 14348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 max_entries; 145106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 map_flags; 1466a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris }; 147d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct { 14848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 map_fd; 150d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __aligned_u64 key; 1516a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris union { 152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __aligned_u64 value; 15348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __aligned_u64 next_key; 155d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao }; 1566a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u64 flags; 157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao }; 15848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct { 160d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 prog_type; 1616a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 insn_cnt; 162d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __aligned_u64 insns; 16348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __aligned_u64 license; 165d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 log_level; 1666a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris __u32 log_size; 167d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __aligned_u64 log_buf; 16848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 16905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 kern_version; 17005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris }; 1716a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris struct { 17205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __aligned_u64 pathname; 17348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 17405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 bpf_fd; 175d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao }; 17648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris struct { 17748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 target_fd; 17848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 17948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 attach_bpf_fd; 18048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 attach_type; 18148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 attach_flags; 18248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris }; 18349f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1846a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris} __attribute__((aligned(8))); 18548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#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), 18648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define __BPF_ENUM_FN(x) BPF_FUNC_ ##x 18782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum bpf_func_id { 18848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 18948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __BPF_FUNC_MAPPER(__BPF_ENUM_FN) __BPF_FUNC_MAX_ID, 19005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 19148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#undef __BPF_ENUM_FN 192106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_RECOMPUTE_CSUM (1ULL << 0) 1936a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 19448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_F_INVALIDATE_HASH (1ULL << 1) 195106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_HDR_FIELD_MASK 0xfULL 196106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_PSEUDO_HDR (1ULL << 4) 197106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_MARK_MANGLED_0 (1ULL << 5) 1986a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 19948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_F_INGRESS (1ULL << 0) 200106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_TUNINFO_IPV6 (1ULL << 0) 201106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_SKIP_FIELD_MASK 0xffULL 202106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_USER_STACK (1ULL << 8) 2036a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 20448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_F_FAST_STACK_CMP (1ULL << 9) 205106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_REUSE_STACKID (1ULL << 10) 206106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_ZERO_CSUM_TX (1ULL << 1) 207106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_DONT_FRAGMENT (1ULL << 2) 2086a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 20948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define BPF_F_INDEX_MASK 0xffffffffULL 210106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define BPF_F_CURRENT_CPU BPF_F_INDEX_MASK 21149f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris#define BPF_F_CTXLEN_MASK (0xfffffULL << 32) 21249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisstruct __sk_buff { 2136a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 21448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 len; 21505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 pkt_type; 21605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 mark; 21749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 queue_mapping; 2186a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 21948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 protocol; 22005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 vlan_present; 22105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 vlan_tci; 22249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 vlan_proto; 2236a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 22448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 priority; 22505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 ingress_ifindex; 22605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 ifindex; 22749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 tc_index; 2286a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 22948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 cb[5]; 23005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 hash; 23105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 tc_classid; 23249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 data; 2336a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 23448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 data_end; 23582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 23605d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct bpf_tunnel_key { 23749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 tunnel_id; 2386a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 23948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris union { 240106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 remote_ipv4; 241106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 remote_ipv6[4]; 24249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris }; 2436a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u8 tunnel_tos; 245106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u8 tunnel_ttl; 246106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u16 tunnel_ext; 247106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 tunnel_label; 24848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris}; 25048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisenum bpf_ret_code { 25148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_OK = 0, 25248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_DROP = 2, 25348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 25448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris BPF_REDIRECT = 7, 25549f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris}; 25648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisstruct bpf_sock { 25748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 bound_dev_if; 2586a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 25948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 family; 26048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 type; 26148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 protocol; 26248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris}; 26348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 26448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define XDP_PACKET_HEADROOM 256 26549f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisenum xdp_action { 26649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris XDP_ABORTED = 0, 26749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris XDP_DROP, 2686a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 26948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris XDP_PASS, 27049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris XDP_TX, 27105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 27249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisstruct xdp_md { 2736a9755d20a995756487bb1aafb7e954f4fd868a7Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 27448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris __u32 data; 27549f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 data_end; 27649f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris}; 27782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#endif 27848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279