From 05d4bc39ea4dd6897aa6685cec37e57e0f039577 Mon Sep 17 00:00:00 2001 From: dave-tucker Date: Wed, 15 Dec 2021 11:00:57 +0000 Subject: [PATCH 1/2] Update libbpf to 19656636a9b9a2de1f71fa3135709295c16701cc --- aya/src/generated/btf_internal_bindings.rs | 24 +-- aya/src/generated/linux_bindings_aarch64.rs | 206 +++++++++++++++----- aya/src/generated/linux_bindings_armv7.rs | 206 +++++++++++++++----- aya/src/generated/linux_bindings_x86_64.rs | 206 +++++++++++++++----- bpf/aya-bpf-bindings/src/aarch64/helpers.rs | 53 +++++ bpf/aya-bpf-bindings/src/armv7/helpers.rs | 53 +++++ bpf/aya-bpf-bindings/src/x86_64/helpers.rs | 53 +++++ 7 files changed, 636 insertions(+), 165 deletions(-) diff --git a/aya/src/generated/btf_internal_bindings.rs b/aya/src/generated/btf_internal_bindings.rs index 82e69eaf..b5a65209 100644 --- a/aya/src/generated/btf_internal_bindings.rs +++ b/aya/src/generated/btf_internal_bindings.rs @@ -5,18 +5,18 @@ pub type __u16 = ::std::os::raw::c_ushort; pub type __u32 = ::std::os::raw::c_uint; pub mod bpf_core_relo_kind { pub type Type = ::std::os::raw::c_uint; - pub const BPF_FIELD_BYTE_OFFSET: Type = 0; - pub const BPF_FIELD_BYTE_SIZE: Type = 1; - pub const BPF_FIELD_EXISTS: Type = 2; - pub const BPF_FIELD_SIGNED: Type = 3; - pub const BPF_FIELD_LSHIFT_U64: Type = 4; - pub const BPF_FIELD_RSHIFT_U64: Type = 5; - pub const BPF_TYPE_ID_LOCAL: Type = 6; - pub const BPF_TYPE_ID_TARGET: Type = 7; - pub const BPF_TYPE_EXISTS: Type = 8; - pub const BPF_TYPE_SIZE: Type = 9; - pub const BPF_ENUMVAL_EXISTS: Type = 10; - pub const BPF_ENUMVAL_VALUE: Type = 11; + pub const BPF_CORE_FIELD_BYTE_OFFSET: Type = 0; + pub const BPF_CORE_FIELD_BYTE_SIZE: Type = 1; + pub const BPF_CORE_FIELD_EXISTS: Type = 2; + pub const BPF_CORE_FIELD_SIGNED: Type = 3; + pub const BPF_CORE_FIELD_LSHIFT_U64: Type = 4; + pub const BPF_CORE_FIELD_RSHIFT_U64: Type = 5; + pub const BPF_CORE_TYPE_ID_LOCAL: Type = 6; + pub const BPF_CORE_TYPE_ID_TARGET: Type = 7; + pub const BPF_CORE_TYPE_EXISTS: Type = 8; + pub const BPF_CORE_TYPE_SIZE: Type = 9; + pub const BPF_CORE_ENUMVAL_EXISTS: Type = 10; + pub const BPF_CORE_ENUMVAL_VALUE: Type = 11; } #[repr(C)] #[derive(Debug, Copy, Clone)] diff --git a/aya/src/generated/linux_bindings_aarch64.rs b/aya/src/generated/linux_bindings_aarch64.rs index a656122c..46144d17 100644 --- a/aya/src/generated/linux_bindings_aarch64.rs +++ b/aya/src/generated/linux_bindings_aarch64.rs @@ -93,6 +93,14 @@ pub const BPF_K: u32 = 0; pub const BPF_ALU64: u32 = 7; pub const BPF_DW: u32 = 24; pub const BPF_CALL: u32 = 128; +pub const BPF_F_ALLOW_OVERRIDE: u32 = 1; +pub const BPF_F_ALLOW_MULTI: u32 = 2; +pub const BPF_F_REPLACE: u32 = 4; +pub const BPF_F_STRICT_ALIGNMENT: u32 = 1; +pub const BPF_F_ANY_ALIGNMENT: u32 = 2; +pub const BPF_F_TEST_RND_HI32: u32 = 4; +pub const BPF_F_TEST_STATE_FREQ: u32 = 8; +pub const BPF_F_SLEEPABLE: u32 = 16; pub const BPF_PSEUDO_MAP_FD: u32 = 1; pub const BPF_PSEUDO_MAP_IDX: u32 = 5; pub const BPF_PSEUDO_MAP_VALUE: u32 = 2; @@ -101,6 +109,8 @@ pub const BPF_PSEUDO_BTF_ID: u32 = 3; pub const BPF_PSEUDO_FUNC: u32 = 4; pub const BPF_PSEUDO_CALL: u32 = 1; pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2; +pub const BPF_F_QUERY_EFFECTIVE: u32 = 1; +pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1; pub const BTF_INT_SIGNED: u32 = 1; pub const BTF_INT_CHAR: u32 = 2; pub const BTF_INT_BOOL: u32 = 4; @@ -344,6 +354,25 @@ pub enum bpf_attach_type { BPF_PERF_EVENT = 41, __MAX_BPF_ATTACH_TYPE = 42, } +pub const BPF_ANY: ::std::os::raw::c_uint = 0; +pub const BPF_NOEXIST: ::std::os::raw::c_uint = 1; +pub const BPF_EXIST: ::std::os::raw::c_uint = 2; +pub const BPF_F_LOCK: ::std::os::raw::c_uint = 4; +pub type _bindgen_ty_2 = ::std::os::raw::c_uint; +pub const BPF_F_NO_PREALLOC: ::std::os::raw::c_uint = 1; +pub const BPF_F_NO_COMMON_LRU: ::std::os::raw::c_uint = 2; +pub const BPF_F_NUMA_NODE: ::std::os::raw::c_uint = 4; +pub const BPF_F_RDONLY: ::std::os::raw::c_uint = 8; +pub const BPF_F_WRONLY: ::std::os::raw::c_uint = 16; +pub const BPF_F_STACK_BUILD_ID: ::std::os::raw::c_uint = 32; +pub const BPF_F_ZERO_SEED: ::std::os::raw::c_uint = 64; +pub const BPF_F_RDONLY_PROG: ::std::os::raw::c_uint = 128; +pub const BPF_F_WRONLY_PROG: ::std::os::raw::c_uint = 256; +pub const BPF_F_CLONE: ::std::os::raw::c_uint = 512; +pub const BPF_F_MMAPABLE: ::std::os::raw::c_uint = 1024; +pub const BPF_F_PRESERVE_ELEMS: ::std::os::raw::c_uint = 2048; +pub const BPF_F_INNER_MAP: ::std::os::raw::c_uint = 4096; +pub type _bindgen_ty_3 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Copy, Clone)] pub union bpf_attr { @@ -435,9 +464,10 @@ pub struct bpf_attr__bindgen_ty_4 { pub line_info_cnt: __u32, pub attach_btf_id: __u32, pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1, - pub _bitfield_align_1: [u8; 0], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub core_relo_cnt: __u32, pub fd_array: __u64, + pub core_relos: __u64, + pub core_relo_rec_size: __u32, } #[repr(C)] #[derive(Copy, Clone)] @@ -445,13 +475,6 @@ pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 { pub attach_prog_fd: __u32, pub attach_btf_obj_fd: __u32, } -impl bpf_attr__bindgen_ty_4 { - #[inline] - pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); - __bindgen_bitfield_unit - } -} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct bpf_attr__bindgen_ty_5 { @@ -611,6 +634,52 @@ pub struct bpf_attr__bindgen_ty_19 { pub map_fd: __u32, pub flags: __u32, } +pub const BPF_F_RECOMPUTE_CSUM: ::std::os::raw::c_uint = 1; +pub const BPF_F_INVALIDATE_HASH: ::std::os::raw::c_uint = 2; +pub type _bindgen_ty_4 = ::std::os::raw::c_uint; +pub const BPF_F_HDR_FIELD_MASK: ::std::os::raw::c_uint = 15; +pub type _bindgen_ty_5 = ::std::os::raw::c_uint; +pub const BPF_F_PSEUDO_HDR: ::std::os::raw::c_uint = 16; +pub const BPF_F_MARK_MANGLED_0: ::std::os::raw::c_uint = 32; +pub const BPF_F_MARK_ENFORCE: ::std::os::raw::c_uint = 64; +pub type _bindgen_ty_6 = ::std::os::raw::c_uint; +pub const BPF_F_INGRESS: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_7 = ::std::os::raw::c_uint; +pub const BPF_F_TUNINFO_IPV6: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_8 = ::std::os::raw::c_uint; +pub const BPF_F_SKIP_FIELD_MASK: ::std::os::raw::c_uint = 255; +pub const BPF_F_USER_STACK: ::std::os::raw::c_uint = 256; +pub const BPF_F_FAST_STACK_CMP: ::std::os::raw::c_uint = 512; +pub const BPF_F_REUSE_STACKID: ::std::os::raw::c_uint = 1024; +pub const BPF_F_USER_BUILD_ID: ::std::os::raw::c_uint = 2048; +pub type _bindgen_ty_9 = ::std::os::raw::c_uint; +pub const BPF_F_ZERO_CSUM_TX: ::std::os::raw::c_uint = 2; +pub const BPF_F_DONT_FRAGMENT: ::std::os::raw::c_uint = 4; +pub const BPF_F_SEQ_NUMBER: ::std::os::raw::c_uint = 8; +pub type _bindgen_ty_10 = ::std::os::raw::c_uint; +pub const BPF_F_INDEX_MASK: ::std::os::raw::c_ulong = 4294967295; +pub const BPF_F_CURRENT_CPU: ::std::os::raw::c_ulong = 4294967295; +pub const BPF_F_CTXLEN_MASK: ::std::os::raw::c_ulong = 4503595332403200; +pub type _bindgen_ty_11 = ::std::os::raw::c_ulong; +pub const BPF_F_CURRENT_NETNS: ::std::os::raw::c_int = -1; +pub type _bindgen_ty_12 = ::std::os::raw::c_int; +pub const BPF_F_ADJ_ROOM_FIXED_GSO: ::std::os::raw::c_uint = 1; +pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: ::std::os::raw::c_uint = 2; +pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: ::std::os::raw::c_uint = 4; +pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: ::std::os::raw::c_uint = 8; +pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: ::std::os::raw::c_uint = 16; +pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: ::std::os::raw::c_uint = 32; +pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: ::std::os::raw::c_uint = 64; +pub type _bindgen_ty_14 = ::std::os::raw::c_uint; +pub const BPF_F_SYSCTL_BASE_NAME: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_16 = ::std::os::raw::c_uint; +pub const BPF_F_GET_BRANCH_RECORDS_SIZE: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_18 = ::std::os::raw::c_uint; +pub const BPF_F_BPRM_SECUREEXEC: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_23 = ::std::os::raw::c_uint; +pub const BPF_F_BROADCAST: ::std::os::raw::c_uint = 8; +pub const BPF_F_EXCLUDE_INGRESS: ::std::os::raw::c_uint = 16; +pub type _bindgen_ty_24 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct bpf_prog_info { @@ -676,6 +745,30 @@ impl bpf_prog_info { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct bpf_btf_info { + pub btf: __u64, + pub btf_size: __u32, + pub id: __u32, + pub name: __u64, + pub name_len: __u32, + pub kernel_btf: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_info { + pub insn_off: __u32, + pub type_id: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_line_info { + pub insn_off: __u32, + pub file_name_off: __u32, + pub line_off: __u32, + pub line_col: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct btf_header { pub magic: __u16, pub version: __u8, @@ -747,6 +840,17 @@ pub struct btf_param { pub name_off: __u32, pub type_: __u32, } +pub const BTF_VAR_STATIC: ::std::os::raw::c_uint = 0; +pub const BTF_VAR_GLOBAL_ALLOCATED: ::std::os::raw::c_uint = 1; +pub const BTF_VAR_GLOBAL_EXTERN: ::std::os::raw::c_uint = 2; +pub type _bindgen_ty_38 = ::std::os::raw::c_uint; +#[repr(u32)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btf_func_linkage { + BTF_FUNC_STATIC = 0, + BTF_FUNC_GLOBAL = 1, + BTF_FUNC_EXTERN = 2, +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct btf_var { @@ -1603,19 +1707,19 @@ pub enum perf_event_type { PERF_RECORD_BPF_EVENT = 18, PERF_RECORD_MAX = 19, } -pub const IFLA_XDP_UNSPEC: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_UNSPEC; -pub const IFLA_XDP_FD: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_FD; -pub const IFLA_XDP_ATTACHED: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_ATTACHED; -pub const IFLA_XDP_FLAGS: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_FLAGS; -pub const IFLA_XDP_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_PROG_ID; -pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_DRV_PROG_ID; -pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_SKB_PROG_ID; -pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_HW_PROG_ID; -pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_EXPECTED_FD; -pub const __IFLA_XDP_MAX: _bindgen_ty_81 = _bindgen_ty_81::__IFLA_XDP_MAX; +pub const IFLA_XDP_UNSPEC: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_UNSPEC; +pub const IFLA_XDP_FD: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_FD; +pub const IFLA_XDP_ATTACHED: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_ATTACHED; +pub const IFLA_XDP_FLAGS: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_FLAGS; +pub const IFLA_XDP_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_PROG_ID; +pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_DRV_PROG_ID; +pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_SKB_PROG_ID; +pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_HW_PROG_ID; +pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_EXPECTED_FD; +pub const __IFLA_XDP_MAX: _bindgen_ty_84 = _bindgen_ty_84::__IFLA_XDP_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_81 { +pub enum _bindgen_ty_84 { IFLA_XDP_UNSPEC = 0, IFLA_XDP_FD = 1, IFLA_XDP_ATTACHED = 2, @@ -1648,25 +1752,25 @@ pub struct tcmsg { pub tcm_parent: __u32, pub tcm_info: __u32, } -pub const TCA_UNSPEC: _bindgen_ty_93 = _bindgen_ty_93::TCA_UNSPEC; -pub const TCA_KIND: _bindgen_ty_93 = _bindgen_ty_93::TCA_KIND; -pub const TCA_OPTIONS: _bindgen_ty_93 = _bindgen_ty_93::TCA_OPTIONS; -pub const TCA_STATS: _bindgen_ty_93 = _bindgen_ty_93::TCA_STATS; -pub const TCA_XSTATS: _bindgen_ty_93 = _bindgen_ty_93::TCA_XSTATS; -pub const TCA_RATE: _bindgen_ty_93 = _bindgen_ty_93::TCA_RATE; -pub const TCA_FCNT: _bindgen_ty_93 = _bindgen_ty_93::TCA_FCNT; -pub const TCA_STATS2: _bindgen_ty_93 = _bindgen_ty_93::TCA_STATS2; -pub const TCA_STAB: _bindgen_ty_93 = _bindgen_ty_93::TCA_STAB; -pub const TCA_PAD: _bindgen_ty_93 = _bindgen_ty_93::TCA_PAD; -pub const TCA_DUMP_INVISIBLE: _bindgen_ty_93 = _bindgen_ty_93::TCA_DUMP_INVISIBLE; -pub const TCA_CHAIN: _bindgen_ty_93 = _bindgen_ty_93::TCA_CHAIN; -pub const TCA_HW_OFFLOAD: _bindgen_ty_93 = _bindgen_ty_93::TCA_HW_OFFLOAD; -pub const TCA_INGRESS_BLOCK: _bindgen_ty_93 = _bindgen_ty_93::TCA_INGRESS_BLOCK; -pub const TCA_EGRESS_BLOCK: _bindgen_ty_93 = _bindgen_ty_93::TCA_EGRESS_BLOCK; -pub const __TCA_MAX: _bindgen_ty_93 = _bindgen_ty_93::__TCA_MAX; +pub const TCA_UNSPEC: _bindgen_ty_97 = _bindgen_ty_97::TCA_UNSPEC; +pub const TCA_KIND: _bindgen_ty_97 = _bindgen_ty_97::TCA_KIND; +pub const TCA_OPTIONS: _bindgen_ty_97 = _bindgen_ty_97::TCA_OPTIONS; +pub const TCA_STATS: _bindgen_ty_97 = _bindgen_ty_97::TCA_STATS; +pub const TCA_XSTATS: _bindgen_ty_97 = _bindgen_ty_97::TCA_XSTATS; +pub const TCA_RATE: _bindgen_ty_97 = _bindgen_ty_97::TCA_RATE; +pub const TCA_FCNT: _bindgen_ty_97 = _bindgen_ty_97::TCA_FCNT; +pub const TCA_STATS2: _bindgen_ty_97 = _bindgen_ty_97::TCA_STATS2; +pub const TCA_STAB: _bindgen_ty_97 = _bindgen_ty_97::TCA_STAB; +pub const TCA_PAD: _bindgen_ty_97 = _bindgen_ty_97::TCA_PAD; +pub const TCA_DUMP_INVISIBLE: _bindgen_ty_97 = _bindgen_ty_97::TCA_DUMP_INVISIBLE; +pub const TCA_CHAIN: _bindgen_ty_97 = _bindgen_ty_97::TCA_CHAIN; +pub const TCA_HW_OFFLOAD: _bindgen_ty_97 = _bindgen_ty_97::TCA_HW_OFFLOAD; +pub const TCA_INGRESS_BLOCK: _bindgen_ty_97 = _bindgen_ty_97::TCA_INGRESS_BLOCK; +pub const TCA_EGRESS_BLOCK: _bindgen_ty_97 = _bindgen_ty_97::TCA_EGRESS_BLOCK; +pub const __TCA_MAX: _bindgen_ty_97 = _bindgen_ty_97::__TCA_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_93 { +pub enum _bindgen_ty_97 { TCA_UNSPEC = 0, TCA_KIND = 1, TCA_OPTIONS = 2, @@ -1684,22 +1788,22 @@ pub enum _bindgen_ty_93 { TCA_EGRESS_BLOCK = 14, __TCA_MAX = 15, } -pub const TCA_BPF_UNSPEC: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_UNSPEC; -pub const TCA_BPF_ACT: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_ACT; -pub const TCA_BPF_POLICE: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_POLICE; -pub const TCA_BPF_CLASSID: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_CLASSID; -pub const TCA_BPF_OPS_LEN: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_OPS_LEN; -pub const TCA_BPF_OPS: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_OPS; -pub const TCA_BPF_FD: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FD; -pub const TCA_BPF_NAME: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_NAME; -pub const TCA_BPF_FLAGS: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FLAGS; -pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FLAGS_GEN; -pub const TCA_BPF_TAG: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_TAG; -pub const TCA_BPF_ID: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_ID; -pub const __TCA_BPF_MAX: _bindgen_ty_149 = _bindgen_ty_149::__TCA_BPF_MAX; +pub const TCA_BPF_UNSPEC: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_UNSPEC; +pub const TCA_BPF_ACT: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_ACT; +pub const TCA_BPF_POLICE: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_POLICE; +pub const TCA_BPF_CLASSID: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_CLASSID; +pub const TCA_BPF_OPS_LEN: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_OPS_LEN; +pub const TCA_BPF_OPS: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_OPS; +pub const TCA_BPF_FD: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FD; +pub const TCA_BPF_NAME: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_NAME; +pub const TCA_BPF_FLAGS: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FLAGS; +pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FLAGS_GEN; +pub const TCA_BPF_TAG: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_TAG; +pub const TCA_BPF_ID: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_ID; +pub const __TCA_BPF_MAX: _bindgen_ty_153 = _bindgen_ty_153::__TCA_BPF_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_149 { +pub enum _bindgen_ty_153 { TCA_BPF_UNSPEC = 0, TCA_BPF_ACT = 1, TCA_BPF_POLICE = 2, diff --git a/aya/src/generated/linux_bindings_armv7.rs b/aya/src/generated/linux_bindings_armv7.rs index a656122c..931975cc 100644 --- a/aya/src/generated/linux_bindings_armv7.rs +++ b/aya/src/generated/linux_bindings_armv7.rs @@ -93,6 +93,14 @@ pub const BPF_K: u32 = 0; pub const BPF_ALU64: u32 = 7; pub const BPF_DW: u32 = 24; pub const BPF_CALL: u32 = 128; +pub const BPF_F_ALLOW_OVERRIDE: u32 = 1; +pub const BPF_F_ALLOW_MULTI: u32 = 2; +pub const BPF_F_REPLACE: u32 = 4; +pub const BPF_F_STRICT_ALIGNMENT: u32 = 1; +pub const BPF_F_ANY_ALIGNMENT: u32 = 2; +pub const BPF_F_TEST_RND_HI32: u32 = 4; +pub const BPF_F_TEST_STATE_FREQ: u32 = 8; +pub const BPF_F_SLEEPABLE: u32 = 16; pub const BPF_PSEUDO_MAP_FD: u32 = 1; pub const BPF_PSEUDO_MAP_IDX: u32 = 5; pub const BPF_PSEUDO_MAP_VALUE: u32 = 2; @@ -101,6 +109,8 @@ pub const BPF_PSEUDO_BTF_ID: u32 = 3; pub const BPF_PSEUDO_FUNC: u32 = 4; pub const BPF_PSEUDO_CALL: u32 = 1; pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2; +pub const BPF_F_QUERY_EFFECTIVE: u32 = 1; +pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1; pub const BTF_INT_SIGNED: u32 = 1; pub const BTF_INT_CHAR: u32 = 2; pub const BTF_INT_BOOL: u32 = 4; @@ -344,6 +354,25 @@ pub enum bpf_attach_type { BPF_PERF_EVENT = 41, __MAX_BPF_ATTACH_TYPE = 42, } +pub const BPF_ANY: ::std::os::raw::c_uint = 0; +pub const BPF_NOEXIST: ::std::os::raw::c_uint = 1; +pub const BPF_EXIST: ::std::os::raw::c_uint = 2; +pub const BPF_F_LOCK: ::std::os::raw::c_uint = 4; +pub type _bindgen_ty_2 = ::std::os::raw::c_uint; +pub const BPF_F_NO_PREALLOC: ::std::os::raw::c_uint = 1; +pub const BPF_F_NO_COMMON_LRU: ::std::os::raw::c_uint = 2; +pub const BPF_F_NUMA_NODE: ::std::os::raw::c_uint = 4; +pub const BPF_F_RDONLY: ::std::os::raw::c_uint = 8; +pub const BPF_F_WRONLY: ::std::os::raw::c_uint = 16; +pub const BPF_F_STACK_BUILD_ID: ::std::os::raw::c_uint = 32; +pub const BPF_F_ZERO_SEED: ::std::os::raw::c_uint = 64; +pub const BPF_F_RDONLY_PROG: ::std::os::raw::c_uint = 128; +pub const BPF_F_WRONLY_PROG: ::std::os::raw::c_uint = 256; +pub const BPF_F_CLONE: ::std::os::raw::c_uint = 512; +pub const BPF_F_MMAPABLE: ::std::os::raw::c_uint = 1024; +pub const BPF_F_PRESERVE_ELEMS: ::std::os::raw::c_uint = 2048; +pub const BPF_F_INNER_MAP: ::std::os::raw::c_uint = 4096; +pub type _bindgen_ty_3 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Copy, Clone)] pub union bpf_attr { @@ -435,9 +464,10 @@ pub struct bpf_attr__bindgen_ty_4 { pub line_info_cnt: __u32, pub attach_btf_id: __u32, pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1, - pub _bitfield_align_1: [u8; 0], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub core_relo_cnt: __u32, pub fd_array: __u64, + pub core_relos: __u64, + pub core_relo_rec_size: __u32, } #[repr(C)] #[derive(Copy, Clone)] @@ -445,13 +475,6 @@ pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 { pub attach_prog_fd: __u32, pub attach_btf_obj_fd: __u32, } -impl bpf_attr__bindgen_ty_4 { - #[inline] - pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); - __bindgen_bitfield_unit - } -} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct bpf_attr__bindgen_ty_5 { @@ -611,6 +634,52 @@ pub struct bpf_attr__bindgen_ty_19 { pub map_fd: __u32, pub flags: __u32, } +pub const BPF_F_RECOMPUTE_CSUM: ::std::os::raw::c_uint = 1; +pub const BPF_F_INVALIDATE_HASH: ::std::os::raw::c_uint = 2; +pub type _bindgen_ty_4 = ::std::os::raw::c_uint; +pub const BPF_F_HDR_FIELD_MASK: ::std::os::raw::c_uint = 15; +pub type _bindgen_ty_5 = ::std::os::raw::c_uint; +pub const BPF_F_PSEUDO_HDR: ::std::os::raw::c_uint = 16; +pub const BPF_F_MARK_MANGLED_0: ::std::os::raw::c_uint = 32; +pub const BPF_F_MARK_ENFORCE: ::std::os::raw::c_uint = 64; +pub type _bindgen_ty_6 = ::std::os::raw::c_uint; +pub const BPF_F_INGRESS: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_7 = ::std::os::raw::c_uint; +pub const BPF_F_TUNINFO_IPV6: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_8 = ::std::os::raw::c_uint; +pub const BPF_F_SKIP_FIELD_MASK: ::std::os::raw::c_uint = 255; +pub const BPF_F_USER_STACK: ::std::os::raw::c_uint = 256; +pub const BPF_F_FAST_STACK_CMP: ::std::os::raw::c_uint = 512; +pub const BPF_F_REUSE_STACKID: ::std::os::raw::c_uint = 1024; +pub const BPF_F_USER_BUILD_ID: ::std::os::raw::c_uint = 2048; +pub type _bindgen_ty_9 = ::std::os::raw::c_uint; +pub const BPF_F_ZERO_CSUM_TX: ::std::os::raw::c_uint = 2; +pub const BPF_F_DONT_FRAGMENT: ::std::os::raw::c_uint = 4; +pub const BPF_F_SEQ_NUMBER: ::std::os::raw::c_uint = 8; +pub type _bindgen_ty_10 = ::std::os::raw::c_uint; +pub const BPF_F_INDEX_MASK: ::std::os::raw::c_ulonglong = 4294967295; +pub const BPF_F_CURRENT_CPU: ::std::os::raw::c_ulonglong = 4294967295; +pub const BPF_F_CTXLEN_MASK: ::std::os::raw::c_ulonglong = 4503595332403200; +pub type _bindgen_ty_11 = ::std::os::raw::c_ulonglong; +pub const BPF_F_CURRENT_NETNS: ::std::os::raw::c_int = -1; +pub type _bindgen_ty_12 = ::std::os::raw::c_int; +pub const BPF_F_ADJ_ROOM_FIXED_GSO: ::std::os::raw::c_uint = 1; +pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: ::std::os::raw::c_uint = 2; +pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: ::std::os::raw::c_uint = 4; +pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: ::std::os::raw::c_uint = 8; +pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: ::std::os::raw::c_uint = 16; +pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: ::std::os::raw::c_uint = 32; +pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: ::std::os::raw::c_uint = 64; +pub type _bindgen_ty_14 = ::std::os::raw::c_uint; +pub const BPF_F_SYSCTL_BASE_NAME: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_16 = ::std::os::raw::c_uint; +pub const BPF_F_GET_BRANCH_RECORDS_SIZE: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_18 = ::std::os::raw::c_uint; +pub const BPF_F_BPRM_SECUREEXEC: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_23 = ::std::os::raw::c_uint; +pub const BPF_F_BROADCAST: ::std::os::raw::c_uint = 8; +pub const BPF_F_EXCLUDE_INGRESS: ::std::os::raw::c_uint = 16; +pub type _bindgen_ty_24 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct bpf_prog_info { @@ -676,6 +745,30 @@ impl bpf_prog_info { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct bpf_btf_info { + pub btf: __u64, + pub btf_size: __u32, + pub id: __u32, + pub name: __u64, + pub name_len: __u32, + pub kernel_btf: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_info { + pub insn_off: __u32, + pub type_id: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_line_info { + pub insn_off: __u32, + pub file_name_off: __u32, + pub line_off: __u32, + pub line_col: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct btf_header { pub magic: __u16, pub version: __u8, @@ -747,6 +840,17 @@ pub struct btf_param { pub name_off: __u32, pub type_: __u32, } +pub const BTF_VAR_STATIC: ::std::os::raw::c_uint = 0; +pub const BTF_VAR_GLOBAL_ALLOCATED: ::std::os::raw::c_uint = 1; +pub const BTF_VAR_GLOBAL_EXTERN: ::std::os::raw::c_uint = 2; +pub type _bindgen_ty_38 = ::std::os::raw::c_uint; +#[repr(u32)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btf_func_linkage { + BTF_FUNC_STATIC = 0, + BTF_FUNC_GLOBAL = 1, + BTF_FUNC_EXTERN = 2, +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct btf_var { @@ -1603,19 +1707,19 @@ pub enum perf_event_type { PERF_RECORD_BPF_EVENT = 18, PERF_RECORD_MAX = 19, } -pub const IFLA_XDP_UNSPEC: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_UNSPEC; -pub const IFLA_XDP_FD: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_FD; -pub const IFLA_XDP_ATTACHED: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_ATTACHED; -pub const IFLA_XDP_FLAGS: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_FLAGS; -pub const IFLA_XDP_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_PROG_ID; -pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_DRV_PROG_ID; -pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_SKB_PROG_ID; -pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_HW_PROG_ID; -pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_EXPECTED_FD; -pub const __IFLA_XDP_MAX: _bindgen_ty_81 = _bindgen_ty_81::__IFLA_XDP_MAX; +pub const IFLA_XDP_UNSPEC: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_UNSPEC; +pub const IFLA_XDP_FD: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_FD; +pub const IFLA_XDP_ATTACHED: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_ATTACHED; +pub const IFLA_XDP_FLAGS: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_FLAGS; +pub const IFLA_XDP_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_PROG_ID; +pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_DRV_PROG_ID; +pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_SKB_PROG_ID; +pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_HW_PROG_ID; +pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_EXPECTED_FD; +pub const __IFLA_XDP_MAX: _bindgen_ty_84 = _bindgen_ty_84::__IFLA_XDP_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_81 { +pub enum _bindgen_ty_84 { IFLA_XDP_UNSPEC = 0, IFLA_XDP_FD = 1, IFLA_XDP_ATTACHED = 2, @@ -1648,25 +1752,25 @@ pub struct tcmsg { pub tcm_parent: __u32, pub tcm_info: __u32, } -pub const TCA_UNSPEC: _bindgen_ty_93 = _bindgen_ty_93::TCA_UNSPEC; -pub const TCA_KIND: _bindgen_ty_93 = _bindgen_ty_93::TCA_KIND; -pub const TCA_OPTIONS: _bindgen_ty_93 = _bindgen_ty_93::TCA_OPTIONS; -pub const TCA_STATS: _bindgen_ty_93 = _bindgen_ty_93::TCA_STATS; -pub const TCA_XSTATS: _bindgen_ty_93 = _bindgen_ty_93::TCA_XSTATS; -pub const TCA_RATE: _bindgen_ty_93 = _bindgen_ty_93::TCA_RATE; -pub const TCA_FCNT: _bindgen_ty_93 = _bindgen_ty_93::TCA_FCNT; -pub const TCA_STATS2: _bindgen_ty_93 = _bindgen_ty_93::TCA_STATS2; -pub const TCA_STAB: _bindgen_ty_93 = _bindgen_ty_93::TCA_STAB; -pub const TCA_PAD: _bindgen_ty_93 = _bindgen_ty_93::TCA_PAD; -pub const TCA_DUMP_INVISIBLE: _bindgen_ty_93 = _bindgen_ty_93::TCA_DUMP_INVISIBLE; -pub const TCA_CHAIN: _bindgen_ty_93 = _bindgen_ty_93::TCA_CHAIN; -pub const TCA_HW_OFFLOAD: _bindgen_ty_93 = _bindgen_ty_93::TCA_HW_OFFLOAD; -pub const TCA_INGRESS_BLOCK: _bindgen_ty_93 = _bindgen_ty_93::TCA_INGRESS_BLOCK; -pub const TCA_EGRESS_BLOCK: _bindgen_ty_93 = _bindgen_ty_93::TCA_EGRESS_BLOCK; -pub const __TCA_MAX: _bindgen_ty_93 = _bindgen_ty_93::__TCA_MAX; +pub const TCA_UNSPEC: _bindgen_ty_97 = _bindgen_ty_97::TCA_UNSPEC; +pub const TCA_KIND: _bindgen_ty_97 = _bindgen_ty_97::TCA_KIND; +pub const TCA_OPTIONS: _bindgen_ty_97 = _bindgen_ty_97::TCA_OPTIONS; +pub const TCA_STATS: _bindgen_ty_97 = _bindgen_ty_97::TCA_STATS; +pub const TCA_XSTATS: _bindgen_ty_97 = _bindgen_ty_97::TCA_XSTATS; +pub const TCA_RATE: _bindgen_ty_97 = _bindgen_ty_97::TCA_RATE; +pub const TCA_FCNT: _bindgen_ty_97 = _bindgen_ty_97::TCA_FCNT; +pub const TCA_STATS2: _bindgen_ty_97 = _bindgen_ty_97::TCA_STATS2; +pub const TCA_STAB: _bindgen_ty_97 = _bindgen_ty_97::TCA_STAB; +pub const TCA_PAD: _bindgen_ty_97 = _bindgen_ty_97::TCA_PAD; +pub const TCA_DUMP_INVISIBLE: _bindgen_ty_97 = _bindgen_ty_97::TCA_DUMP_INVISIBLE; +pub const TCA_CHAIN: _bindgen_ty_97 = _bindgen_ty_97::TCA_CHAIN; +pub const TCA_HW_OFFLOAD: _bindgen_ty_97 = _bindgen_ty_97::TCA_HW_OFFLOAD; +pub const TCA_INGRESS_BLOCK: _bindgen_ty_97 = _bindgen_ty_97::TCA_INGRESS_BLOCK; +pub const TCA_EGRESS_BLOCK: _bindgen_ty_97 = _bindgen_ty_97::TCA_EGRESS_BLOCK; +pub const __TCA_MAX: _bindgen_ty_97 = _bindgen_ty_97::__TCA_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_93 { +pub enum _bindgen_ty_97 { TCA_UNSPEC = 0, TCA_KIND = 1, TCA_OPTIONS = 2, @@ -1684,22 +1788,22 @@ pub enum _bindgen_ty_93 { TCA_EGRESS_BLOCK = 14, __TCA_MAX = 15, } -pub const TCA_BPF_UNSPEC: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_UNSPEC; -pub const TCA_BPF_ACT: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_ACT; -pub const TCA_BPF_POLICE: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_POLICE; -pub const TCA_BPF_CLASSID: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_CLASSID; -pub const TCA_BPF_OPS_LEN: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_OPS_LEN; -pub const TCA_BPF_OPS: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_OPS; -pub const TCA_BPF_FD: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FD; -pub const TCA_BPF_NAME: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_NAME; -pub const TCA_BPF_FLAGS: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FLAGS; -pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FLAGS_GEN; -pub const TCA_BPF_TAG: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_TAG; -pub const TCA_BPF_ID: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_ID; -pub const __TCA_BPF_MAX: _bindgen_ty_149 = _bindgen_ty_149::__TCA_BPF_MAX; +pub const TCA_BPF_UNSPEC: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_UNSPEC; +pub const TCA_BPF_ACT: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_ACT; +pub const TCA_BPF_POLICE: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_POLICE; +pub const TCA_BPF_CLASSID: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_CLASSID; +pub const TCA_BPF_OPS_LEN: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_OPS_LEN; +pub const TCA_BPF_OPS: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_OPS; +pub const TCA_BPF_FD: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FD; +pub const TCA_BPF_NAME: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_NAME; +pub const TCA_BPF_FLAGS: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FLAGS; +pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FLAGS_GEN; +pub const TCA_BPF_TAG: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_TAG; +pub const TCA_BPF_ID: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_ID; +pub const __TCA_BPF_MAX: _bindgen_ty_153 = _bindgen_ty_153::__TCA_BPF_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_149 { +pub enum _bindgen_ty_153 { TCA_BPF_UNSPEC = 0, TCA_BPF_ACT = 1, TCA_BPF_POLICE = 2, diff --git a/aya/src/generated/linux_bindings_x86_64.rs b/aya/src/generated/linux_bindings_x86_64.rs index a656122c..46144d17 100644 --- a/aya/src/generated/linux_bindings_x86_64.rs +++ b/aya/src/generated/linux_bindings_x86_64.rs @@ -93,6 +93,14 @@ pub const BPF_K: u32 = 0; pub const BPF_ALU64: u32 = 7; pub const BPF_DW: u32 = 24; pub const BPF_CALL: u32 = 128; +pub const BPF_F_ALLOW_OVERRIDE: u32 = 1; +pub const BPF_F_ALLOW_MULTI: u32 = 2; +pub const BPF_F_REPLACE: u32 = 4; +pub const BPF_F_STRICT_ALIGNMENT: u32 = 1; +pub const BPF_F_ANY_ALIGNMENT: u32 = 2; +pub const BPF_F_TEST_RND_HI32: u32 = 4; +pub const BPF_F_TEST_STATE_FREQ: u32 = 8; +pub const BPF_F_SLEEPABLE: u32 = 16; pub const BPF_PSEUDO_MAP_FD: u32 = 1; pub const BPF_PSEUDO_MAP_IDX: u32 = 5; pub const BPF_PSEUDO_MAP_VALUE: u32 = 2; @@ -101,6 +109,8 @@ pub const BPF_PSEUDO_BTF_ID: u32 = 3; pub const BPF_PSEUDO_FUNC: u32 = 4; pub const BPF_PSEUDO_CALL: u32 = 1; pub const BPF_PSEUDO_KFUNC_CALL: u32 = 2; +pub const BPF_F_QUERY_EFFECTIVE: u32 = 1; +pub const BPF_F_TEST_RUN_ON_CPU: u32 = 1; pub const BTF_INT_SIGNED: u32 = 1; pub const BTF_INT_CHAR: u32 = 2; pub const BTF_INT_BOOL: u32 = 4; @@ -344,6 +354,25 @@ pub enum bpf_attach_type { BPF_PERF_EVENT = 41, __MAX_BPF_ATTACH_TYPE = 42, } +pub const BPF_ANY: ::std::os::raw::c_uint = 0; +pub const BPF_NOEXIST: ::std::os::raw::c_uint = 1; +pub const BPF_EXIST: ::std::os::raw::c_uint = 2; +pub const BPF_F_LOCK: ::std::os::raw::c_uint = 4; +pub type _bindgen_ty_2 = ::std::os::raw::c_uint; +pub const BPF_F_NO_PREALLOC: ::std::os::raw::c_uint = 1; +pub const BPF_F_NO_COMMON_LRU: ::std::os::raw::c_uint = 2; +pub const BPF_F_NUMA_NODE: ::std::os::raw::c_uint = 4; +pub const BPF_F_RDONLY: ::std::os::raw::c_uint = 8; +pub const BPF_F_WRONLY: ::std::os::raw::c_uint = 16; +pub const BPF_F_STACK_BUILD_ID: ::std::os::raw::c_uint = 32; +pub const BPF_F_ZERO_SEED: ::std::os::raw::c_uint = 64; +pub const BPF_F_RDONLY_PROG: ::std::os::raw::c_uint = 128; +pub const BPF_F_WRONLY_PROG: ::std::os::raw::c_uint = 256; +pub const BPF_F_CLONE: ::std::os::raw::c_uint = 512; +pub const BPF_F_MMAPABLE: ::std::os::raw::c_uint = 1024; +pub const BPF_F_PRESERVE_ELEMS: ::std::os::raw::c_uint = 2048; +pub const BPF_F_INNER_MAP: ::std::os::raw::c_uint = 4096; +pub type _bindgen_ty_3 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Copy, Clone)] pub union bpf_attr { @@ -435,9 +464,10 @@ pub struct bpf_attr__bindgen_ty_4 { pub line_info_cnt: __u32, pub attach_btf_id: __u32, pub __bindgen_anon_1: bpf_attr__bindgen_ty_4__bindgen_ty_1, - pub _bitfield_align_1: [u8; 0], - pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub core_relo_cnt: __u32, pub fd_array: __u64, + pub core_relos: __u64, + pub core_relo_rec_size: __u32, } #[repr(C)] #[derive(Copy, Clone)] @@ -445,13 +475,6 @@ pub union bpf_attr__bindgen_ty_4__bindgen_ty_1 { pub attach_prog_fd: __u32, pub attach_btf_obj_fd: __u32, } -impl bpf_attr__bindgen_ty_4 { - #[inline] - pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 4usize]> { - let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); - __bindgen_bitfield_unit - } -} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct bpf_attr__bindgen_ty_5 { @@ -611,6 +634,52 @@ pub struct bpf_attr__bindgen_ty_19 { pub map_fd: __u32, pub flags: __u32, } +pub const BPF_F_RECOMPUTE_CSUM: ::std::os::raw::c_uint = 1; +pub const BPF_F_INVALIDATE_HASH: ::std::os::raw::c_uint = 2; +pub type _bindgen_ty_4 = ::std::os::raw::c_uint; +pub const BPF_F_HDR_FIELD_MASK: ::std::os::raw::c_uint = 15; +pub type _bindgen_ty_5 = ::std::os::raw::c_uint; +pub const BPF_F_PSEUDO_HDR: ::std::os::raw::c_uint = 16; +pub const BPF_F_MARK_MANGLED_0: ::std::os::raw::c_uint = 32; +pub const BPF_F_MARK_ENFORCE: ::std::os::raw::c_uint = 64; +pub type _bindgen_ty_6 = ::std::os::raw::c_uint; +pub const BPF_F_INGRESS: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_7 = ::std::os::raw::c_uint; +pub const BPF_F_TUNINFO_IPV6: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_8 = ::std::os::raw::c_uint; +pub const BPF_F_SKIP_FIELD_MASK: ::std::os::raw::c_uint = 255; +pub const BPF_F_USER_STACK: ::std::os::raw::c_uint = 256; +pub const BPF_F_FAST_STACK_CMP: ::std::os::raw::c_uint = 512; +pub const BPF_F_REUSE_STACKID: ::std::os::raw::c_uint = 1024; +pub const BPF_F_USER_BUILD_ID: ::std::os::raw::c_uint = 2048; +pub type _bindgen_ty_9 = ::std::os::raw::c_uint; +pub const BPF_F_ZERO_CSUM_TX: ::std::os::raw::c_uint = 2; +pub const BPF_F_DONT_FRAGMENT: ::std::os::raw::c_uint = 4; +pub const BPF_F_SEQ_NUMBER: ::std::os::raw::c_uint = 8; +pub type _bindgen_ty_10 = ::std::os::raw::c_uint; +pub const BPF_F_INDEX_MASK: ::std::os::raw::c_ulong = 4294967295; +pub const BPF_F_CURRENT_CPU: ::std::os::raw::c_ulong = 4294967295; +pub const BPF_F_CTXLEN_MASK: ::std::os::raw::c_ulong = 4503595332403200; +pub type _bindgen_ty_11 = ::std::os::raw::c_ulong; +pub const BPF_F_CURRENT_NETNS: ::std::os::raw::c_int = -1; +pub type _bindgen_ty_12 = ::std::os::raw::c_int; +pub const BPF_F_ADJ_ROOM_FIXED_GSO: ::std::os::raw::c_uint = 1; +pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: ::std::os::raw::c_uint = 2; +pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: ::std::os::raw::c_uint = 4; +pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: ::std::os::raw::c_uint = 8; +pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: ::std::os::raw::c_uint = 16; +pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: ::std::os::raw::c_uint = 32; +pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: ::std::os::raw::c_uint = 64; +pub type _bindgen_ty_14 = ::std::os::raw::c_uint; +pub const BPF_F_SYSCTL_BASE_NAME: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_16 = ::std::os::raw::c_uint; +pub const BPF_F_GET_BRANCH_RECORDS_SIZE: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_18 = ::std::os::raw::c_uint; +pub const BPF_F_BPRM_SECUREEXEC: ::std::os::raw::c_uint = 1; +pub type _bindgen_ty_23 = ::std::os::raw::c_uint; +pub const BPF_F_BROADCAST: ::std::os::raw::c_uint = 8; +pub const BPF_F_EXCLUDE_INGRESS: ::std::os::raw::c_uint = 16; +pub type _bindgen_ty_24 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct bpf_prog_info { @@ -676,6 +745,30 @@ impl bpf_prog_info { } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct bpf_btf_info { + pub btf: __u64, + pub btf_size: __u32, + pub id: __u32, + pub name: __u64, + pub name_len: __u32, + pub kernel_btf: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_func_info { + pub insn_off: __u32, + pub type_id: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct bpf_line_info { + pub insn_off: __u32, + pub file_name_off: __u32, + pub line_off: __u32, + pub line_col: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct btf_header { pub magic: __u16, pub version: __u8, @@ -747,6 +840,17 @@ pub struct btf_param { pub name_off: __u32, pub type_: __u32, } +pub const BTF_VAR_STATIC: ::std::os::raw::c_uint = 0; +pub const BTF_VAR_GLOBAL_ALLOCATED: ::std::os::raw::c_uint = 1; +pub const BTF_VAR_GLOBAL_EXTERN: ::std::os::raw::c_uint = 2; +pub type _bindgen_ty_38 = ::std::os::raw::c_uint; +#[repr(u32)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum btf_func_linkage { + BTF_FUNC_STATIC = 0, + BTF_FUNC_GLOBAL = 1, + BTF_FUNC_EXTERN = 2, +} #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct btf_var { @@ -1603,19 +1707,19 @@ pub enum perf_event_type { PERF_RECORD_BPF_EVENT = 18, PERF_RECORD_MAX = 19, } -pub const IFLA_XDP_UNSPEC: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_UNSPEC; -pub const IFLA_XDP_FD: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_FD; -pub const IFLA_XDP_ATTACHED: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_ATTACHED; -pub const IFLA_XDP_FLAGS: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_FLAGS; -pub const IFLA_XDP_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_PROG_ID; -pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_DRV_PROG_ID; -pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_SKB_PROG_ID; -pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_HW_PROG_ID; -pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_81 = _bindgen_ty_81::IFLA_XDP_EXPECTED_FD; -pub const __IFLA_XDP_MAX: _bindgen_ty_81 = _bindgen_ty_81::__IFLA_XDP_MAX; +pub const IFLA_XDP_UNSPEC: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_UNSPEC; +pub const IFLA_XDP_FD: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_FD; +pub const IFLA_XDP_ATTACHED: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_ATTACHED; +pub const IFLA_XDP_FLAGS: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_FLAGS; +pub const IFLA_XDP_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_PROG_ID; +pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_DRV_PROG_ID; +pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_SKB_PROG_ID; +pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_HW_PROG_ID; +pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_84 = _bindgen_ty_84::IFLA_XDP_EXPECTED_FD; +pub const __IFLA_XDP_MAX: _bindgen_ty_84 = _bindgen_ty_84::__IFLA_XDP_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_81 { +pub enum _bindgen_ty_84 { IFLA_XDP_UNSPEC = 0, IFLA_XDP_FD = 1, IFLA_XDP_ATTACHED = 2, @@ -1648,25 +1752,25 @@ pub struct tcmsg { pub tcm_parent: __u32, pub tcm_info: __u32, } -pub const TCA_UNSPEC: _bindgen_ty_93 = _bindgen_ty_93::TCA_UNSPEC; -pub const TCA_KIND: _bindgen_ty_93 = _bindgen_ty_93::TCA_KIND; -pub const TCA_OPTIONS: _bindgen_ty_93 = _bindgen_ty_93::TCA_OPTIONS; -pub const TCA_STATS: _bindgen_ty_93 = _bindgen_ty_93::TCA_STATS; -pub const TCA_XSTATS: _bindgen_ty_93 = _bindgen_ty_93::TCA_XSTATS; -pub const TCA_RATE: _bindgen_ty_93 = _bindgen_ty_93::TCA_RATE; -pub const TCA_FCNT: _bindgen_ty_93 = _bindgen_ty_93::TCA_FCNT; -pub const TCA_STATS2: _bindgen_ty_93 = _bindgen_ty_93::TCA_STATS2; -pub const TCA_STAB: _bindgen_ty_93 = _bindgen_ty_93::TCA_STAB; -pub const TCA_PAD: _bindgen_ty_93 = _bindgen_ty_93::TCA_PAD; -pub const TCA_DUMP_INVISIBLE: _bindgen_ty_93 = _bindgen_ty_93::TCA_DUMP_INVISIBLE; -pub const TCA_CHAIN: _bindgen_ty_93 = _bindgen_ty_93::TCA_CHAIN; -pub const TCA_HW_OFFLOAD: _bindgen_ty_93 = _bindgen_ty_93::TCA_HW_OFFLOAD; -pub const TCA_INGRESS_BLOCK: _bindgen_ty_93 = _bindgen_ty_93::TCA_INGRESS_BLOCK; -pub const TCA_EGRESS_BLOCK: _bindgen_ty_93 = _bindgen_ty_93::TCA_EGRESS_BLOCK; -pub const __TCA_MAX: _bindgen_ty_93 = _bindgen_ty_93::__TCA_MAX; +pub const TCA_UNSPEC: _bindgen_ty_97 = _bindgen_ty_97::TCA_UNSPEC; +pub const TCA_KIND: _bindgen_ty_97 = _bindgen_ty_97::TCA_KIND; +pub const TCA_OPTIONS: _bindgen_ty_97 = _bindgen_ty_97::TCA_OPTIONS; +pub const TCA_STATS: _bindgen_ty_97 = _bindgen_ty_97::TCA_STATS; +pub const TCA_XSTATS: _bindgen_ty_97 = _bindgen_ty_97::TCA_XSTATS; +pub const TCA_RATE: _bindgen_ty_97 = _bindgen_ty_97::TCA_RATE; +pub const TCA_FCNT: _bindgen_ty_97 = _bindgen_ty_97::TCA_FCNT; +pub const TCA_STATS2: _bindgen_ty_97 = _bindgen_ty_97::TCA_STATS2; +pub const TCA_STAB: _bindgen_ty_97 = _bindgen_ty_97::TCA_STAB; +pub const TCA_PAD: _bindgen_ty_97 = _bindgen_ty_97::TCA_PAD; +pub const TCA_DUMP_INVISIBLE: _bindgen_ty_97 = _bindgen_ty_97::TCA_DUMP_INVISIBLE; +pub const TCA_CHAIN: _bindgen_ty_97 = _bindgen_ty_97::TCA_CHAIN; +pub const TCA_HW_OFFLOAD: _bindgen_ty_97 = _bindgen_ty_97::TCA_HW_OFFLOAD; +pub const TCA_INGRESS_BLOCK: _bindgen_ty_97 = _bindgen_ty_97::TCA_INGRESS_BLOCK; +pub const TCA_EGRESS_BLOCK: _bindgen_ty_97 = _bindgen_ty_97::TCA_EGRESS_BLOCK; +pub const __TCA_MAX: _bindgen_ty_97 = _bindgen_ty_97::__TCA_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_93 { +pub enum _bindgen_ty_97 { TCA_UNSPEC = 0, TCA_KIND = 1, TCA_OPTIONS = 2, @@ -1684,22 +1788,22 @@ pub enum _bindgen_ty_93 { TCA_EGRESS_BLOCK = 14, __TCA_MAX = 15, } -pub const TCA_BPF_UNSPEC: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_UNSPEC; -pub const TCA_BPF_ACT: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_ACT; -pub const TCA_BPF_POLICE: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_POLICE; -pub const TCA_BPF_CLASSID: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_CLASSID; -pub const TCA_BPF_OPS_LEN: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_OPS_LEN; -pub const TCA_BPF_OPS: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_OPS; -pub const TCA_BPF_FD: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FD; -pub const TCA_BPF_NAME: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_NAME; -pub const TCA_BPF_FLAGS: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FLAGS; -pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_FLAGS_GEN; -pub const TCA_BPF_TAG: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_TAG; -pub const TCA_BPF_ID: _bindgen_ty_149 = _bindgen_ty_149::TCA_BPF_ID; -pub const __TCA_BPF_MAX: _bindgen_ty_149 = _bindgen_ty_149::__TCA_BPF_MAX; +pub const TCA_BPF_UNSPEC: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_UNSPEC; +pub const TCA_BPF_ACT: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_ACT; +pub const TCA_BPF_POLICE: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_POLICE; +pub const TCA_BPF_CLASSID: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_CLASSID; +pub const TCA_BPF_OPS_LEN: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_OPS_LEN; +pub const TCA_BPF_OPS: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_OPS; +pub const TCA_BPF_FD: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FD; +pub const TCA_BPF_NAME: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_NAME; +pub const TCA_BPF_FLAGS: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FLAGS; +pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_FLAGS_GEN; +pub const TCA_BPF_TAG: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_TAG; +pub const TCA_BPF_ID: _bindgen_ty_153 = _bindgen_ty_153::TCA_BPF_ID; +pub const __TCA_BPF_MAX: _bindgen_ty_153 = _bindgen_ty_153::__TCA_BPF_MAX; #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub enum _bindgen_ty_149 { +pub enum _bindgen_ty_153 { TCA_BPF_UNSPEC = 0, TCA_BPF_ACT = 1, TCA_BPF_POLICE = 2, diff --git a/bpf/aya-bpf-bindings/src/aarch64/helpers.rs b/bpf/aya-bpf-bindings/src/aarch64/helpers.rs index 78389469..9d2052e9 100644 --- a/bpf/aya-bpf-bindings/src/aarch64/helpers.rs +++ b/bpf/aya-bpf-bindings/src/aarch64/helpers.rs @@ -1825,3 +1825,56 @@ pub unsafe fn bpf_find_vma( ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(180usize); fun(task, addr, callback_fn, callback_ctx, flags) } +pub unsafe fn bpf_loop( + nr_loops: __u32, + callback_fn: *mut ::aya_bpf_cty::c_void, + callback_ctx: *mut ::aya_bpf_cty::c_void, + flags: __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + nr_loops: __u32, + callback_fn: *mut ::aya_bpf_cty::c_void, + callback_ctx: *mut ::aya_bpf_cty::c_void, + flags: __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(181usize); + fun(nr_loops, callback_fn, callback_ctx, flags) +} +pub unsafe fn bpf_strncmp( + s1: *const ::aya_bpf_cty::c_char, + s1_sz: __u32, + s2: *const ::aya_bpf_cty::c_char, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + s1: *const ::aya_bpf_cty::c_char, + s1_sz: __u32, + s2: *const ::aya_bpf_cty::c_char, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(182usize); + fun(s1, s1_sz, s2) +} +pub unsafe fn bpf_get_func_arg( + ctx: *mut ::aya_bpf_cty::c_void, + n: __u32, + value: *mut __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + ctx: *mut ::aya_bpf_cty::c_void, + n: __u32, + value: *mut __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(183usize); + fun(ctx, n, value) +} +pub unsafe fn bpf_get_func_ret( + ctx: *mut ::aya_bpf_cty::c_void, + value: *mut __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + ctx: *mut ::aya_bpf_cty::c_void, + value: *mut __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(184usize); + fun(ctx, value) +} +pub unsafe fn bpf_get_func_arg_cnt(ctx: *mut ::aya_bpf_cty::c_void) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn(ctx: *mut ::aya_bpf_cty::c_void) -> ::aya_bpf_cty::c_long = + ::core::mem::transmute(185usize); + fun(ctx) +} diff --git a/bpf/aya-bpf-bindings/src/armv7/helpers.rs b/bpf/aya-bpf-bindings/src/armv7/helpers.rs index 78389469..9d2052e9 100644 --- a/bpf/aya-bpf-bindings/src/armv7/helpers.rs +++ b/bpf/aya-bpf-bindings/src/armv7/helpers.rs @@ -1825,3 +1825,56 @@ pub unsafe fn bpf_find_vma( ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(180usize); fun(task, addr, callback_fn, callback_ctx, flags) } +pub unsafe fn bpf_loop( + nr_loops: __u32, + callback_fn: *mut ::aya_bpf_cty::c_void, + callback_ctx: *mut ::aya_bpf_cty::c_void, + flags: __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + nr_loops: __u32, + callback_fn: *mut ::aya_bpf_cty::c_void, + callback_ctx: *mut ::aya_bpf_cty::c_void, + flags: __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(181usize); + fun(nr_loops, callback_fn, callback_ctx, flags) +} +pub unsafe fn bpf_strncmp( + s1: *const ::aya_bpf_cty::c_char, + s1_sz: __u32, + s2: *const ::aya_bpf_cty::c_char, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + s1: *const ::aya_bpf_cty::c_char, + s1_sz: __u32, + s2: *const ::aya_bpf_cty::c_char, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(182usize); + fun(s1, s1_sz, s2) +} +pub unsafe fn bpf_get_func_arg( + ctx: *mut ::aya_bpf_cty::c_void, + n: __u32, + value: *mut __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + ctx: *mut ::aya_bpf_cty::c_void, + n: __u32, + value: *mut __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(183usize); + fun(ctx, n, value) +} +pub unsafe fn bpf_get_func_ret( + ctx: *mut ::aya_bpf_cty::c_void, + value: *mut __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + ctx: *mut ::aya_bpf_cty::c_void, + value: *mut __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(184usize); + fun(ctx, value) +} +pub unsafe fn bpf_get_func_arg_cnt(ctx: *mut ::aya_bpf_cty::c_void) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn(ctx: *mut ::aya_bpf_cty::c_void) -> ::aya_bpf_cty::c_long = + ::core::mem::transmute(185usize); + fun(ctx) +} diff --git a/bpf/aya-bpf-bindings/src/x86_64/helpers.rs b/bpf/aya-bpf-bindings/src/x86_64/helpers.rs index 78389469..9d2052e9 100644 --- a/bpf/aya-bpf-bindings/src/x86_64/helpers.rs +++ b/bpf/aya-bpf-bindings/src/x86_64/helpers.rs @@ -1825,3 +1825,56 @@ pub unsafe fn bpf_find_vma( ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(180usize); fun(task, addr, callback_fn, callback_ctx, flags) } +pub unsafe fn bpf_loop( + nr_loops: __u32, + callback_fn: *mut ::aya_bpf_cty::c_void, + callback_ctx: *mut ::aya_bpf_cty::c_void, + flags: __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + nr_loops: __u32, + callback_fn: *mut ::aya_bpf_cty::c_void, + callback_ctx: *mut ::aya_bpf_cty::c_void, + flags: __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(181usize); + fun(nr_loops, callback_fn, callback_ctx, flags) +} +pub unsafe fn bpf_strncmp( + s1: *const ::aya_bpf_cty::c_char, + s1_sz: __u32, + s2: *const ::aya_bpf_cty::c_char, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + s1: *const ::aya_bpf_cty::c_char, + s1_sz: __u32, + s2: *const ::aya_bpf_cty::c_char, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(182usize); + fun(s1, s1_sz, s2) +} +pub unsafe fn bpf_get_func_arg( + ctx: *mut ::aya_bpf_cty::c_void, + n: __u32, + value: *mut __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + ctx: *mut ::aya_bpf_cty::c_void, + n: __u32, + value: *mut __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(183usize); + fun(ctx, n, value) +} +pub unsafe fn bpf_get_func_ret( + ctx: *mut ::aya_bpf_cty::c_void, + value: *mut __u64, +) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn( + ctx: *mut ::aya_bpf_cty::c_void, + value: *mut __u64, + ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(184usize); + fun(ctx, value) +} +pub unsafe fn bpf_get_func_arg_cnt(ctx: *mut ::aya_bpf_cty::c_void) -> ::aya_bpf_cty::c_long { + let fun: unsafe extern "C" fn(ctx: *mut ::aya_bpf_cty::c_void) -> ::aya_bpf_cty::c_long = + ::core::mem::transmute(185usize); + fun(ctx) +} From 2b7dda766f3b002fc96915366d560c0a279106e3 Mon Sep 17 00:00:00 2001 From: Dave Tucker Date: Wed, 15 Dec 2021 11:07:23 +0000 Subject: [PATCH 2/2] btf: Fix for rename of BPF_ -> BPF_CORE_ Signed-off-by: Dave Tucker --- aya/src/obj/btf/relocation.rs | 48 +++++++++++++++++------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/aya/src/obj/btf/relocation.rs b/aya/src/obj/btf/relocation.rs index 74fcd2c3..fe9ba4ef 100644 --- a/aya/src/obj/btf/relocation.rs +++ b/aya/src/obj/btf/relocation.rs @@ -85,18 +85,18 @@ fn err_type_name(name: &Option) -> String { #[derive(Copy, Clone, Debug)] #[repr(u32)] enum RelocationKind { - FieldByteOffset = BPF_FIELD_BYTE_OFFSET, - FieldByteSize = BPF_FIELD_BYTE_SIZE, - FieldExists = BPF_FIELD_EXISTS, - FieldSigned = BPF_FIELD_SIGNED, - FieldLShift64 = BPF_FIELD_LSHIFT_U64, - FieldRShift64 = BPF_FIELD_RSHIFT_U64, - TypeIdLocal = BPF_TYPE_ID_LOCAL, - TypeIdTarget = BPF_TYPE_ID_TARGET, - TypeExists = BPF_TYPE_EXISTS, - TypeSize = BPF_TYPE_SIZE, - EnumVariantExists = BPF_ENUMVAL_EXISTS, - EnumVariantValue = BPF_ENUMVAL_VALUE, + FieldByteOffset = BPF_CORE_FIELD_BYTE_OFFSET, + FieldByteSize = BPF_CORE_FIELD_BYTE_SIZE, + FieldExists = BPF_CORE_FIELD_EXISTS, + FieldSigned = BPF_CORE_FIELD_SIGNED, + FieldLShift64 = BPF_CORE_FIELD_LSHIFT_U64, + FieldRShift64 = BPF_CORE_FIELD_RSHIFT_U64, + TypeIdLocal = BPF_CORE_TYPE_ID_LOCAL, + TypeIdTarget = BPF_CORE_TYPE_ID_TARGET, + TypeExists = BPF_CORE_TYPE_EXISTS, + TypeSize = BPF_CORE_TYPE_SIZE, + EnumVariantExists = BPF_CORE_ENUMVAL_EXISTS, + EnumVariantValue = BPF_CORE_ENUMVAL_VALUE, } impl TryFrom for RelocationKind { @@ -106,18 +106,18 @@ impl TryFrom for RelocationKind { use RelocationKind::*; Ok(match v { - BPF_FIELD_BYTE_OFFSET => FieldByteOffset, - BPF_FIELD_BYTE_SIZE => FieldByteSize, - BPF_FIELD_EXISTS => FieldExists, - BPF_FIELD_SIGNED => FieldSigned, - BPF_FIELD_LSHIFT_U64 => FieldLShift64, - BPF_FIELD_RSHIFT_U64 => FieldRShift64, - BPF_TYPE_ID_LOCAL => TypeIdLocal, - BPF_TYPE_ID_TARGET => TypeIdTarget, - BPF_TYPE_EXISTS => TypeExists, - BPF_TYPE_SIZE => TypeSize, - BPF_ENUMVAL_EXISTS => EnumVariantExists, - BPF_ENUMVAL_VALUE => EnumVariantValue, + BPF_CORE_FIELD_BYTE_OFFSET => FieldByteOffset, + BPF_CORE_FIELD_BYTE_SIZE => FieldByteSize, + BPF_CORE_FIELD_EXISTS => FieldExists, + BPF_CORE_FIELD_SIGNED => FieldSigned, + BPF_CORE_FIELD_LSHIFT_U64 => FieldLShift64, + BPF_CORE_FIELD_RSHIFT_U64 => FieldRShift64, + BPF_CORE_TYPE_ID_LOCAL => TypeIdLocal, + BPF_CORE_TYPE_ID_TARGET => TypeIdTarget, + BPF_CORE_TYPE_EXISTS => TypeExists, + BPF_CORE_TYPE_SIZE => TypeSize, + BPF_CORE_ENUMVAL_EXISTS => EnumVariantExists, + BPF_CORE_ENUMVAL_VALUE => EnumVariantValue, kind => return Err(BtfError::InvalidRelocationKind { kind }), }) }