Browse Source

[codegen] Update libbpf to 3423d5e7cdab356d115aef7f987b4a1098ede448Update libbpf to 3423d5e7cdab356d115aef7f987b4a1098ede448

Files changed:
M	aya-obj/src/generated/linux_bindings_aarch64.rs
M	aya-obj/src/generated/linux_bindings_armv7.rs
M	aya-obj/src/generated/linux_bindings_riscv64.rs
M	aya-obj/src/generated/linux_bindings_x86_64.rs
M	bpf/aya-bpf-bindings/src/aarch64/bindings.rs
M	bpf/aya-bpf-bindings/src/aarch64/helpers.rs
M	bpf/aya-bpf-bindings/src/armv7/bindings.rs
M	bpf/aya-bpf-bindings/src/armv7/helpers.rs
M	bpf/aya-bpf-bindings/src/riscv64/bindings.rs
M	bpf/aya-bpf-bindings/src/riscv64/helpers.rs
M	bpf/aya-bpf-bindings/src/x86_64/bindings.rs
M	bpf/aya-bpf-bindings/src/x86_64/helpers.rs
alessandrod 2 years ago
parent
commit
5d13fd5

+ 125 - 99
aya-obj/src/generated/linux_bindings_aarch64.rs

@@ -275,6 +275,10 @@ pub enum bpf_cmd {
     BPF_LINK_DETACH = 34,
     BPF_PROG_BIND_MAP = 35,
 }
+impl bpf_map_type {
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type =
+        bpf_map_type::BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED;
+}
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum bpf_map_type {
@@ -297,7 +301,7 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_CPUMAP = 16,
     BPF_MAP_TYPE_XSKMAP = 17,
     BPF_MAP_TYPE_SOCKHASH = 18,
-    BPF_MAP_TYPE_CGROUP_STORAGE = 19,
+    BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,
     BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
     BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,
     BPF_MAP_TYPE_QUEUE = 22,
@@ -309,6 +313,8 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_INODE_STORAGE = 28,
     BPF_MAP_TYPE_TASK_STORAGE = 29,
     BPF_MAP_TYPE_BLOOM_FILTER = 30,
+    BPF_MAP_TYPE_USER_RINGBUF = 31,
+    BPF_MAP_TYPE_CGRP_STORAGE = 32,
 }
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
@@ -731,34 +737,37 @@ pub type _bindgen_ty_9 = ::core::ffi::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::core::ffi::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::core::ffi::c_ulong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::core::ffi::c_int;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
-pub type _bindgen_ty_14 = ::core::ffi::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
-pub type _bindgen_ty_16 = ::core::ffi::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
-pub type _bindgen_ty_18 = ::core::ffi::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
-pub type _bindgen_ty_21 = ::core::ffi::c_uint;
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::core::ffi::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::core::ffi::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::core::ffi::c_ulong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::core::ffi::c_int;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
+pub type _bindgen_ty_15 = ::core::ffi::c_uint;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
+pub type _bindgen_ty_17 = ::core::ffi::c_uint;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
+pub type _bindgen_ty_19 = ::core::ffi::c_uint;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
+pub type _bindgen_ty_22 = ::core::ffi::c_uint;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::core::ffi::c_uint;
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_prog_info {
@@ -905,6 +914,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -917,6 +927,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
     pub map_id: __u32,
 }
 #[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
@@ -966,29 +994,29 @@ pub union btf_type__bindgen_ty_1 {
     pub size: __u32,
     pub type_: __u32,
 }
-pub const BTF_KIND_UNKN: _bindgen_ty_38 = 0;
-pub const BTF_KIND_INT: _bindgen_ty_38 = 1;
-pub const BTF_KIND_PTR: _bindgen_ty_38 = 2;
-pub const BTF_KIND_ARRAY: _bindgen_ty_38 = 3;
-pub const BTF_KIND_STRUCT: _bindgen_ty_38 = 4;
-pub const BTF_KIND_UNION: _bindgen_ty_38 = 5;
-pub const BTF_KIND_ENUM: _bindgen_ty_38 = 6;
-pub const BTF_KIND_FWD: _bindgen_ty_38 = 7;
-pub const BTF_KIND_TYPEDEF: _bindgen_ty_38 = 8;
-pub const BTF_KIND_VOLATILE: _bindgen_ty_38 = 9;
-pub const BTF_KIND_CONST: _bindgen_ty_38 = 10;
-pub const BTF_KIND_RESTRICT: _bindgen_ty_38 = 11;
-pub const BTF_KIND_FUNC: _bindgen_ty_38 = 12;
-pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_38 = 13;
-pub const BTF_KIND_VAR: _bindgen_ty_38 = 14;
-pub const BTF_KIND_DATASEC: _bindgen_ty_38 = 15;
-pub const BTF_KIND_FLOAT: _bindgen_ty_38 = 16;
-pub const BTF_KIND_DECL_TAG: _bindgen_ty_38 = 17;
-pub const BTF_KIND_TYPE_TAG: _bindgen_ty_38 = 18;
-pub const BTF_KIND_ENUM64: _bindgen_ty_38 = 19;
-pub const NR_BTF_KINDS: _bindgen_ty_38 = 20;
-pub const BTF_KIND_MAX: _bindgen_ty_38 = 19;
-pub type _bindgen_ty_38 = ::core::ffi::c_uint;
+pub const BTF_KIND_UNKN: _bindgen_ty_39 = 0;
+pub const BTF_KIND_INT: _bindgen_ty_39 = 1;
+pub const BTF_KIND_PTR: _bindgen_ty_39 = 2;
+pub const BTF_KIND_ARRAY: _bindgen_ty_39 = 3;
+pub const BTF_KIND_STRUCT: _bindgen_ty_39 = 4;
+pub const BTF_KIND_UNION: _bindgen_ty_39 = 5;
+pub const BTF_KIND_ENUM: _bindgen_ty_39 = 6;
+pub const BTF_KIND_FWD: _bindgen_ty_39 = 7;
+pub const BTF_KIND_TYPEDEF: _bindgen_ty_39 = 8;
+pub const BTF_KIND_VOLATILE: _bindgen_ty_39 = 9;
+pub const BTF_KIND_CONST: _bindgen_ty_39 = 10;
+pub const BTF_KIND_RESTRICT: _bindgen_ty_39 = 11;
+pub const BTF_KIND_FUNC: _bindgen_ty_39 = 12;
+pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_39 = 13;
+pub const BTF_KIND_VAR: _bindgen_ty_39 = 14;
+pub const BTF_KIND_DATASEC: _bindgen_ty_39 = 15;
+pub const BTF_KIND_FLOAT: _bindgen_ty_39 = 16;
+pub const BTF_KIND_DECL_TAG: _bindgen_ty_39 = 17;
+pub const BTF_KIND_TYPE_TAG: _bindgen_ty_39 = 18;
+pub const BTF_KIND_ENUM64: _bindgen_ty_39 = 19;
+pub const NR_BTF_KINDS: _bindgen_ty_39 = 20;
+pub const BTF_KIND_MAX: _bindgen_ty_39 = 19;
+pub type _bindgen_ty_39 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct btf_enum {
@@ -1015,10 +1043,10 @@ pub struct btf_param {
     pub name_off: __u32,
     pub type_: __u32,
 }
-pub const BTF_VAR_STATIC: _bindgen_ty_39 = 0;
-pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_39 = 1;
-pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_39 = 2;
-pub type _bindgen_ty_39 = ::core::ffi::c_uint;
+pub const BTF_VAR_STATIC: _bindgen_ty_40 = 0;
+pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_40 = 1;
+pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_40 = 2;
+pub type _bindgen_ty_40 = ::core::ffi::c_uint;
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum btf_func_linkage {
@@ -1113,7 +1141,7 @@ pub enum perf_sw_ids {
     PERF_COUNT_SW_CGROUP_SWITCHES = 11,
     PERF_COUNT_SW_MAX = 12,
 }
-#[repr(u64)]
+#[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum perf_event_sample_format {
     PERF_SAMPLE_IP = 1,
@@ -1142,7 +1170,6 @@ pub enum perf_event_sample_format {
     PERF_SAMPLE_CODE_PAGE_SIZE = 8388608,
     PERF_SAMPLE_WEIGHT_STRUCT = 16777216,
     PERF_SAMPLE_MAX = 33554432,
-    __PERF_SAMPLE_CALLCHAIN_EARLY = 9223372036854775808,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -2014,17 +2041,17 @@ pub enum perf_event_type {
     PERF_RECORD_AUX_OUTPUT_HW_ID = 21,
     PERF_RECORD_MAX = 22,
 }
-pub const IFLA_XDP_UNSPEC: _bindgen_ty_85 = 0;
-pub const IFLA_XDP_FD: _bindgen_ty_85 = 1;
-pub const IFLA_XDP_ATTACHED: _bindgen_ty_85 = 2;
-pub const IFLA_XDP_FLAGS: _bindgen_ty_85 = 3;
-pub const IFLA_XDP_PROG_ID: _bindgen_ty_85 = 4;
-pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_85 = 5;
-pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_85 = 6;
-pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_85 = 7;
-pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_85 = 8;
-pub const __IFLA_XDP_MAX: _bindgen_ty_85 = 9;
-pub type _bindgen_ty_85 = ::core::ffi::c_uint;
+pub const IFLA_XDP_UNSPEC: _bindgen_ty_89 = 0;
+pub const IFLA_XDP_FD: _bindgen_ty_89 = 1;
+pub const IFLA_XDP_ATTACHED: _bindgen_ty_89 = 2;
+pub const IFLA_XDP_FLAGS: _bindgen_ty_89 = 3;
+pub const IFLA_XDP_PROG_ID: _bindgen_ty_89 = 4;
+pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_89 = 5;
+pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_89 = 6;
+pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_89 = 7;
+pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_89 = 8;
+pub const __IFLA_XDP_MAX: _bindgen_ty_89 = 9;
+pub type _bindgen_ty_89 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct ifinfomsg {
@@ -2046,38 +2073,37 @@ pub struct tcmsg {
     pub tcm_parent: __u32,
     pub tcm_info: __u32,
 }
-pub const TCA_UNSPEC: _bindgen_ty_100 = 0;
-pub const TCA_KIND: _bindgen_ty_100 = 1;
-pub const TCA_OPTIONS: _bindgen_ty_100 = 2;
-pub const TCA_STATS: _bindgen_ty_100 = 3;
-pub const TCA_XSTATS: _bindgen_ty_100 = 4;
-pub const TCA_RATE: _bindgen_ty_100 = 5;
-pub const TCA_FCNT: _bindgen_ty_100 = 6;
-pub const TCA_STATS2: _bindgen_ty_100 = 7;
-pub const TCA_STAB: _bindgen_ty_100 = 8;
-pub const TCA_PAD: _bindgen_ty_100 = 9;
-pub const TCA_DUMP_INVISIBLE: _bindgen_ty_100 = 10;
-pub const TCA_CHAIN: _bindgen_ty_100 = 11;
-pub const TCA_HW_OFFLOAD: _bindgen_ty_100 = 12;
-pub const TCA_INGRESS_BLOCK: _bindgen_ty_100 = 13;
-pub const TCA_EGRESS_BLOCK: _bindgen_ty_100 = 14;
-pub const TCA_DUMP_FLAGS: _bindgen_ty_100 = 15;
-pub const __TCA_MAX: _bindgen_ty_100 = 16;
-pub type _bindgen_ty_100 = ::core::ffi::c_uint;
-pub const TCA_BPF_UNSPEC: _bindgen_ty_156 = 0;
-pub const TCA_BPF_ACT: _bindgen_ty_156 = 1;
-pub const TCA_BPF_POLICE: _bindgen_ty_156 = 2;
-pub const TCA_BPF_CLASSID: _bindgen_ty_156 = 3;
-pub const TCA_BPF_OPS_LEN: _bindgen_ty_156 = 4;
-pub const TCA_BPF_OPS: _bindgen_ty_156 = 5;
-pub const TCA_BPF_FD: _bindgen_ty_156 = 6;
-pub const TCA_BPF_NAME: _bindgen_ty_156 = 7;
-pub const TCA_BPF_FLAGS: _bindgen_ty_156 = 8;
-pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_156 = 9;
-pub const TCA_BPF_TAG: _bindgen_ty_156 = 10;
-pub const TCA_BPF_ID: _bindgen_ty_156 = 11;
-pub const __TCA_BPF_MAX: _bindgen_ty_156 = 12;
-pub type _bindgen_ty_156 = ::core::ffi::c_uint;
+pub const TCA_UNSPEC: _bindgen_ty_102 = 0;
+pub const TCA_KIND: _bindgen_ty_102 = 1;
+pub const TCA_OPTIONS: _bindgen_ty_102 = 2;
+pub const TCA_STATS: _bindgen_ty_102 = 3;
+pub const TCA_XSTATS: _bindgen_ty_102 = 4;
+pub const TCA_RATE: _bindgen_ty_102 = 5;
+pub const TCA_FCNT: _bindgen_ty_102 = 6;
+pub const TCA_STATS2: _bindgen_ty_102 = 7;
+pub const TCA_STAB: _bindgen_ty_102 = 8;
+pub const TCA_PAD: _bindgen_ty_102 = 9;
+pub const TCA_DUMP_INVISIBLE: _bindgen_ty_102 = 10;
+pub const TCA_CHAIN: _bindgen_ty_102 = 11;
+pub const TCA_HW_OFFLOAD: _bindgen_ty_102 = 12;
+pub const TCA_INGRESS_BLOCK: _bindgen_ty_102 = 13;
+pub const TCA_EGRESS_BLOCK: _bindgen_ty_102 = 14;
+pub const __TCA_MAX: _bindgen_ty_102 = 15;
+pub type _bindgen_ty_102 = ::core::ffi::c_uint;
+pub const TCA_BPF_UNSPEC: _bindgen_ty_158 = 0;
+pub const TCA_BPF_ACT: _bindgen_ty_158 = 1;
+pub const TCA_BPF_POLICE: _bindgen_ty_158 = 2;
+pub const TCA_BPF_CLASSID: _bindgen_ty_158 = 3;
+pub const TCA_BPF_OPS_LEN: _bindgen_ty_158 = 4;
+pub const TCA_BPF_OPS: _bindgen_ty_158 = 5;
+pub const TCA_BPF_FD: _bindgen_ty_158 = 6;
+pub const TCA_BPF_NAME: _bindgen_ty_158 = 7;
+pub const TCA_BPF_FLAGS: _bindgen_ty_158 = 8;
+pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_158 = 9;
+pub const TCA_BPF_TAG: _bindgen_ty_158 = 10;
+pub const TCA_BPF_ID: _bindgen_ty_158 = 11;
+pub const __TCA_BPF_MAX: _bindgen_ty_158 = 12;
+pub type _bindgen_ty_158 = ::core::ffi::c_uint;
 pub const AYA_PERF_EVENT_IOC_ENABLE: ::core::ffi::c_int = 9216;
 pub const AYA_PERF_EVENT_IOC_DISABLE: ::core::ffi::c_int = 9217;
 pub const AYA_PERF_EVENT_IOC_SET_BPF: ::core::ffi::c_int = 1074013192;

+ 125 - 99
aya-obj/src/generated/linux_bindings_armv7.rs

@@ -275,6 +275,10 @@ pub enum bpf_cmd {
     BPF_LINK_DETACH = 34,
     BPF_PROG_BIND_MAP = 35,
 }
+impl bpf_map_type {
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type =
+        bpf_map_type::BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED;
+}
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum bpf_map_type {
@@ -297,7 +301,7 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_CPUMAP = 16,
     BPF_MAP_TYPE_XSKMAP = 17,
     BPF_MAP_TYPE_SOCKHASH = 18,
-    BPF_MAP_TYPE_CGROUP_STORAGE = 19,
+    BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,
     BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
     BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,
     BPF_MAP_TYPE_QUEUE = 22,
@@ -309,6 +313,8 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_INODE_STORAGE = 28,
     BPF_MAP_TYPE_TASK_STORAGE = 29,
     BPF_MAP_TYPE_BLOOM_FILTER = 30,
+    BPF_MAP_TYPE_USER_RINGBUF = 31,
+    BPF_MAP_TYPE_CGRP_STORAGE = 32,
 }
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
@@ -731,34 +737,37 @@ pub type _bindgen_ty_9 = ::core::ffi::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::core::ffi::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::core::ffi::c_ulonglong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::core::ffi::c_int;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
-pub type _bindgen_ty_14 = ::core::ffi::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
-pub type _bindgen_ty_16 = ::core::ffi::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
-pub type _bindgen_ty_18 = ::core::ffi::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
-pub type _bindgen_ty_21 = ::core::ffi::c_uint;
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::core::ffi::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::core::ffi::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::core::ffi::c_ulonglong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::core::ffi::c_int;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
+pub type _bindgen_ty_15 = ::core::ffi::c_uint;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
+pub type _bindgen_ty_17 = ::core::ffi::c_uint;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
+pub type _bindgen_ty_19 = ::core::ffi::c_uint;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
+pub type _bindgen_ty_22 = ::core::ffi::c_uint;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::core::ffi::c_uint;
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_prog_info {
@@ -905,6 +914,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -917,6 +927,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
     pub map_id: __u32,
 }
 #[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
@@ -966,29 +994,29 @@ pub union btf_type__bindgen_ty_1 {
     pub size: __u32,
     pub type_: __u32,
 }
-pub const BTF_KIND_UNKN: _bindgen_ty_38 = 0;
-pub const BTF_KIND_INT: _bindgen_ty_38 = 1;
-pub const BTF_KIND_PTR: _bindgen_ty_38 = 2;
-pub const BTF_KIND_ARRAY: _bindgen_ty_38 = 3;
-pub const BTF_KIND_STRUCT: _bindgen_ty_38 = 4;
-pub const BTF_KIND_UNION: _bindgen_ty_38 = 5;
-pub const BTF_KIND_ENUM: _bindgen_ty_38 = 6;
-pub const BTF_KIND_FWD: _bindgen_ty_38 = 7;
-pub const BTF_KIND_TYPEDEF: _bindgen_ty_38 = 8;
-pub const BTF_KIND_VOLATILE: _bindgen_ty_38 = 9;
-pub const BTF_KIND_CONST: _bindgen_ty_38 = 10;
-pub const BTF_KIND_RESTRICT: _bindgen_ty_38 = 11;
-pub const BTF_KIND_FUNC: _bindgen_ty_38 = 12;
-pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_38 = 13;
-pub const BTF_KIND_VAR: _bindgen_ty_38 = 14;
-pub const BTF_KIND_DATASEC: _bindgen_ty_38 = 15;
-pub const BTF_KIND_FLOAT: _bindgen_ty_38 = 16;
-pub const BTF_KIND_DECL_TAG: _bindgen_ty_38 = 17;
-pub const BTF_KIND_TYPE_TAG: _bindgen_ty_38 = 18;
-pub const BTF_KIND_ENUM64: _bindgen_ty_38 = 19;
-pub const NR_BTF_KINDS: _bindgen_ty_38 = 20;
-pub const BTF_KIND_MAX: _bindgen_ty_38 = 19;
-pub type _bindgen_ty_38 = ::core::ffi::c_uint;
+pub const BTF_KIND_UNKN: _bindgen_ty_39 = 0;
+pub const BTF_KIND_INT: _bindgen_ty_39 = 1;
+pub const BTF_KIND_PTR: _bindgen_ty_39 = 2;
+pub const BTF_KIND_ARRAY: _bindgen_ty_39 = 3;
+pub const BTF_KIND_STRUCT: _bindgen_ty_39 = 4;
+pub const BTF_KIND_UNION: _bindgen_ty_39 = 5;
+pub const BTF_KIND_ENUM: _bindgen_ty_39 = 6;
+pub const BTF_KIND_FWD: _bindgen_ty_39 = 7;
+pub const BTF_KIND_TYPEDEF: _bindgen_ty_39 = 8;
+pub const BTF_KIND_VOLATILE: _bindgen_ty_39 = 9;
+pub const BTF_KIND_CONST: _bindgen_ty_39 = 10;
+pub const BTF_KIND_RESTRICT: _bindgen_ty_39 = 11;
+pub const BTF_KIND_FUNC: _bindgen_ty_39 = 12;
+pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_39 = 13;
+pub const BTF_KIND_VAR: _bindgen_ty_39 = 14;
+pub const BTF_KIND_DATASEC: _bindgen_ty_39 = 15;
+pub const BTF_KIND_FLOAT: _bindgen_ty_39 = 16;
+pub const BTF_KIND_DECL_TAG: _bindgen_ty_39 = 17;
+pub const BTF_KIND_TYPE_TAG: _bindgen_ty_39 = 18;
+pub const BTF_KIND_ENUM64: _bindgen_ty_39 = 19;
+pub const NR_BTF_KINDS: _bindgen_ty_39 = 20;
+pub const BTF_KIND_MAX: _bindgen_ty_39 = 19;
+pub type _bindgen_ty_39 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct btf_enum {
@@ -1015,10 +1043,10 @@ pub struct btf_param {
     pub name_off: __u32,
     pub type_: __u32,
 }
-pub const BTF_VAR_STATIC: _bindgen_ty_39 = 0;
-pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_39 = 1;
-pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_39 = 2;
-pub type _bindgen_ty_39 = ::core::ffi::c_uint;
+pub const BTF_VAR_STATIC: _bindgen_ty_40 = 0;
+pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_40 = 1;
+pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_40 = 2;
+pub type _bindgen_ty_40 = ::core::ffi::c_uint;
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum btf_func_linkage {
@@ -1113,7 +1141,7 @@ pub enum perf_sw_ids {
     PERF_COUNT_SW_CGROUP_SWITCHES = 11,
     PERF_COUNT_SW_MAX = 12,
 }
-#[repr(u64)]
+#[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum perf_event_sample_format {
     PERF_SAMPLE_IP = 1,
@@ -1142,7 +1170,6 @@ pub enum perf_event_sample_format {
     PERF_SAMPLE_CODE_PAGE_SIZE = 8388608,
     PERF_SAMPLE_WEIGHT_STRUCT = 16777216,
     PERF_SAMPLE_MAX = 33554432,
-    __PERF_SAMPLE_CALLCHAIN_EARLY = 9223372036854775808,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -2014,17 +2041,17 @@ pub enum perf_event_type {
     PERF_RECORD_AUX_OUTPUT_HW_ID = 21,
     PERF_RECORD_MAX = 22,
 }
-pub const IFLA_XDP_UNSPEC: _bindgen_ty_85 = 0;
-pub const IFLA_XDP_FD: _bindgen_ty_85 = 1;
-pub const IFLA_XDP_ATTACHED: _bindgen_ty_85 = 2;
-pub const IFLA_XDP_FLAGS: _bindgen_ty_85 = 3;
-pub const IFLA_XDP_PROG_ID: _bindgen_ty_85 = 4;
-pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_85 = 5;
-pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_85 = 6;
-pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_85 = 7;
-pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_85 = 8;
-pub const __IFLA_XDP_MAX: _bindgen_ty_85 = 9;
-pub type _bindgen_ty_85 = ::core::ffi::c_uint;
+pub const IFLA_XDP_UNSPEC: _bindgen_ty_89 = 0;
+pub const IFLA_XDP_FD: _bindgen_ty_89 = 1;
+pub const IFLA_XDP_ATTACHED: _bindgen_ty_89 = 2;
+pub const IFLA_XDP_FLAGS: _bindgen_ty_89 = 3;
+pub const IFLA_XDP_PROG_ID: _bindgen_ty_89 = 4;
+pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_89 = 5;
+pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_89 = 6;
+pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_89 = 7;
+pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_89 = 8;
+pub const __IFLA_XDP_MAX: _bindgen_ty_89 = 9;
+pub type _bindgen_ty_89 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct ifinfomsg {
@@ -2046,38 +2073,37 @@ pub struct tcmsg {
     pub tcm_parent: __u32,
     pub tcm_info: __u32,
 }
-pub const TCA_UNSPEC: _bindgen_ty_100 = 0;
-pub const TCA_KIND: _bindgen_ty_100 = 1;
-pub const TCA_OPTIONS: _bindgen_ty_100 = 2;
-pub const TCA_STATS: _bindgen_ty_100 = 3;
-pub const TCA_XSTATS: _bindgen_ty_100 = 4;
-pub const TCA_RATE: _bindgen_ty_100 = 5;
-pub const TCA_FCNT: _bindgen_ty_100 = 6;
-pub const TCA_STATS2: _bindgen_ty_100 = 7;
-pub const TCA_STAB: _bindgen_ty_100 = 8;
-pub const TCA_PAD: _bindgen_ty_100 = 9;
-pub const TCA_DUMP_INVISIBLE: _bindgen_ty_100 = 10;
-pub const TCA_CHAIN: _bindgen_ty_100 = 11;
-pub const TCA_HW_OFFLOAD: _bindgen_ty_100 = 12;
-pub const TCA_INGRESS_BLOCK: _bindgen_ty_100 = 13;
-pub const TCA_EGRESS_BLOCK: _bindgen_ty_100 = 14;
-pub const TCA_DUMP_FLAGS: _bindgen_ty_100 = 15;
-pub const __TCA_MAX: _bindgen_ty_100 = 16;
-pub type _bindgen_ty_100 = ::core::ffi::c_uint;
-pub const TCA_BPF_UNSPEC: _bindgen_ty_156 = 0;
-pub const TCA_BPF_ACT: _bindgen_ty_156 = 1;
-pub const TCA_BPF_POLICE: _bindgen_ty_156 = 2;
-pub const TCA_BPF_CLASSID: _bindgen_ty_156 = 3;
-pub const TCA_BPF_OPS_LEN: _bindgen_ty_156 = 4;
-pub const TCA_BPF_OPS: _bindgen_ty_156 = 5;
-pub const TCA_BPF_FD: _bindgen_ty_156 = 6;
-pub const TCA_BPF_NAME: _bindgen_ty_156 = 7;
-pub const TCA_BPF_FLAGS: _bindgen_ty_156 = 8;
-pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_156 = 9;
-pub const TCA_BPF_TAG: _bindgen_ty_156 = 10;
-pub const TCA_BPF_ID: _bindgen_ty_156 = 11;
-pub const __TCA_BPF_MAX: _bindgen_ty_156 = 12;
-pub type _bindgen_ty_156 = ::core::ffi::c_uint;
+pub const TCA_UNSPEC: _bindgen_ty_102 = 0;
+pub const TCA_KIND: _bindgen_ty_102 = 1;
+pub const TCA_OPTIONS: _bindgen_ty_102 = 2;
+pub const TCA_STATS: _bindgen_ty_102 = 3;
+pub const TCA_XSTATS: _bindgen_ty_102 = 4;
+pub const TCA_RATE: _bindgen_ty_102 = 5;
+pub const TCA_FCNT: _bindgen_ty_102 = 6;
+pub const TCA_STATS2: _bindgen_ty_102 = 7;
+pub const TCA_STAB: _bindgen_ty_102 = 8;
+pub const TCA_PAD: _bindgen_ty_102 = 9;
+pub const TCA_DUMP_INVISIBLE: _bindgen_ty_102 = 10;
+pub const TCA_CHAIN: _bindgen_ty_102 = 11;
+pub const TCA_HW_OFFLOAD: _bindgen_ty_102 = 12;
+pub const TCA_INGRESS_BLOCK: _bindgen_ty_102 = 13;
+pub const TCA_EGRESS_BLOCK: _bindgen_ty_102 = 14;
+pub const __TCA_MAX: _bindgen_ty_102 = 15;
+pub type _bindgen_ty_102 = ::core::ffi::c_uint;
+pub const TCA_BPF_UNSPEC: _bindgen_ty_158 = 0;
+pub const TCA_BPF_ACT: _bindgen_ty_158 = 1;
+pub const TCA_BPF_POLICE: _bindgen_ty_158 = 2;
+pub const TCA_BPF_CLASSID: _bindgen_ty_158 = 3;
+pub const TCA_BPF_OPS_LEN: _bindgen_ty_158 = 4;
+pub const TCA_BPF_OPS: _bindgen_ty_158 = 5;
+pub const TCA_BPF_FD: _bindgen_ty_158 = 6;
+pub const TCA_BPF_NAME: _bindgen_ty_158 = 7;
+pub const TCA_BPF_FLAGS: _bindgen_ty_158 = 8;
+pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_158 = 9;
+pub const TCA_BPF_TAG: _bindgen_ty_158 = 10;
+pub const TCA_BPF_ID: _bindgen_ty_158 = 11;
+pub const __TCA_BPF_MAX: _bindgen_ty_158 = 12;
+pub type _bindgen_ty_158 = ::core::ffi::c_uint;
 pub const AYA_PERF_EVENT_IOC_ENABLE: ::core::ffi::c_int = 9216;
 pub const AYA_PERF_EVENT_IOC_DISABLE: ::core::ffi::c_int = 9217;
 pub const AYA_PERF_EVENT_IOC_SET_BPF: ::core::ffi::c_int = 1074013192;

+ 125 - 99
aya-obj/src/generated/linux_bindings_riscv64.rs

@@ -275,6 +275,10 @@ pub enum bpf_cmd {
     BPF_LINK_DETACH = 34,
     BPF_PROG_BIND_MAP = 35,
 }
+impl bpf_map_type {
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type =
+        bpf_map_type::BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED;
+}
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum bpf_map_type {
@@ -297,7 +301,7 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_CPUMAP = 16,
     BPF_MAP_TYPE_XSKMAP = 17,
     BPF_MAP_TYPE_SOCKHASH = 18,
-    BPF_MAP_TYPE_CGROUP_STORAGE = 19,
+    BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,
     BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
     BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,
     BPF_MAP_TYPE_QUEUE = 22,
@@ -309,6 +313,8 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_INODE_STORAGE = 28,
     BPF_MAP_TYPE_TASK_STORAGE = 29,
     BPF_MAP_TYPE_BLOOM_FILTER = 30,
+    BPF_MAP_TYPE_USER_RINGBUF = 31,
+    BPF_MAP_TYPE_CGRP_STORAGE = 32,
 }
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
@@ -731,34 +737,37 @@ pub type _bindgen_ty_9 = ::core::ffi::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::core::ffi::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::core::ffi::c_ulong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::core::ffi::c_int;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
-pub type _bindgen_ty_14 = ::core::ffi::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
-pub type _bindgen_ty_16 = ::core::ffi::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
-pub type _bindgen_ty_18 = ::core::ffi::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
-pub type _bindgen_ty_21 = ::core::ffi::c_uint;
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::core::ffi::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::core::ffi::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::core::ffi::c_ulong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::core::ffi::c_int;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
+pub type _bindgen_ty_15 = ::core::ffi::c_uint;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
+pub type _bindgen_ty_17 = ::core::ffi::c_uint;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
+pub type _bindgen_ty_19 = ::core::ffi::c_uint;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
+pub type _bindgen_ty_22 = ::core::ffi::c_uint;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::core::ffi::c_uint;
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_prog_info {
@@ -905,6 +914,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -917,6 +927,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
     pub map_id: __u32,
 }
 #[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
@@ -966,29 +994,29 @@ pub union btf_type__bindgen_ty_1 {
     pub size: __u32,
     pub type_: __u32,
 }
-pub const BTF_KIND_UNKN: _bindgen_ty_38 = 0;
-pub const BTF_KIND_INT: _bindgen_ty_38 = 1;
-pub const BTF_KIND_PTR: _bindgen_ty_38 = 2;
-pub const BTF_KIND_ARRAY: _bindgen_ty_38 = 3;
-pub const BTF_KIND_STRUCT: _bindgen_ty_38 = 4;
-pub const BTF_KIND_UNION: _bindgen_ty_38 = 5;
-pub const BTF_KIND_ENUM: _bindgen_ty_38 = 6;
-pub const BTF_KIND_FWD: _bindgen_ty_38 = 7;
-pub const BTF_KIND_TYPEDEF: _bindgen_ty_38 = 8;
-pub const BTF_KIND_VOLATILE: _bindgen_ty_38 = 9;
-pub const BTF_KIND_CONST: _bindgen_ty_38 = 10;
-pub const BTF_KIND_RESTRICT: _bindgen_ty_38 = 11;
-pub const BTF_KIND_FUNC: _bindgen_ty_38 = 12;
-pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_38 = 13;
-pub const BTF_KIND_VAR: _bindgen_ty_38 = 14;
-pub const BTF_KIND_DATASEC: _bindgen_ty_38 = 15;
-pub const BTF_KIND_FLOAT: _bindgen_ty_38 = 16;
-pub const BTF_KIND_DECL_TAG: _bindgen_ty_38 = 17;
-pub const BTF_KIND_TYPE_TAG: _bindgen_ty_38 = 18;
-pub const BTF_KIND_ENUM64: _bindgen_ty_38 = 19;
-pub const NR_BTF_KINDS: _bindgen_ty_38 = 20;
-pub const BTF_KIND_MAX: _bindgen_ty_38 = 19;
-pub type _bindgen_ty_38 = ::core::ffi::c_uint;
+pub const BTF_KIND_UNKN: _bindgen_ty_39 = 0;
+pub const BTF_KIND_INT: _bindgen_ty_39 = 1;
+pub const BTF_KIND_PTR: _bindgen_ty_39 = 2;
+pub const BTF_KIND_ARRAY: _bindgen_ty_39 = 3;
+pub const BTF_KIND_STRUCT: _bindgen_ty_39 = 4;
+pub const BTF_KIND_UNION: _bindgen_ty_39 = 5;
+pub const BTF_KIND_ENUM: _bindgen_ty_39 = 6;
+pub const BTF_KIND_FWD: _bindgen_ty_39 = 7;
+pub const BTF_KIND_TYPEDEF: _bindgen_ty_39 = 8;
+pub const BTF_KIND_VOLATILE: _bindgen_ty_39 = 9;
+pub const BTF_KIND_CONST: _bindgen_ty_39 = 10;
+pub const BTF_KIND_RESTRICT: _bindgen_ty_39 = 11;
+pub const BTF_KIND_FUNC: _bindgen_ty_39 = 12;
+pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_39 = 13;
+pub const BTF_KIND_VAR: _bindgen_ty_39 = 14;
+pub const BTF_KIND_DATASEC: _bindgen_ty_39 = 15;
+pub const BTF_KIND_FLOAT: _bindgen_ty_39 = 16;
+pub const BTF_KIND_DECL_TAG: _bindgen_ty_39 = 17;
+pub const BTF_KIND_TYPE_TAG: _bindgen_ty_39 = 18;
+pub const BTF_KIND_ENUM64: _bindgen_ty_39 = 19;
+pub const NR_BTF_KINDS: _bindgen_ty_39 = 20;
+pub const BTF_KIND_MAX: _bindgen_ty_39 = 19;
+pub type _bindgen_ty_39 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct btf_enum {
@@ -1015,10 +1043,10 @@ pub struct btf_param {
     pub name_off: __u32,
     pub type_: __u32,
 }
-pub const BTF_VAR_STATIC: _bindgen_ty_39 = 0;
-pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_39 = 1;
-pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_39 = 2;
-pub type _bindgen_ty_39 = ::core::ffi::c_uint;
+pub const BTF_VAR_STATIC: _bindgen_ty_40 = 0;
+pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_40 = 1;
+pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_40 = 2;
+pub type _bindgen_ty_40 = ::core::ffi::c_uint;
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum btf_func_linkage {
@@ -1113,7 +1141,7 @@ pub enum perf_sw_ids {
     PERF_COUNT_SW_CGROUP_SWITCHES = 11,
     PERF_COUNT_SW_MAX = 12,
 }
-#[repr(u64)]
+#[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum perf_event_sample_format {
     PERF_SAMPLE_IP = 1,
@@ -1142,7 +1170,6 @@ pub enum perf_event_sample_format {
     PERF_SAMPLE_CODE_PAGE_SIZE = 8388608,
     PERF_SAMPLE_WEIGHT_STRUCT = 16777216,
     PERF_SAMPLE_MAX = 33554432,
-    __PERF_SAMPLE_CALLCHAIN_EARLY = 9223372036854775808,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -2014,17 +2041,17 @@ pub enum perf_event_type {
     PERF_RECORD_AUX_OUTPUT_HW_ID = 21,
     PERF_RECORD_MAX = 22,
 }
-pub const IFLA_XDP_UNSPEC: _bindgen_ty_85 = 0;
-pub const IFLA_XDP_FD: _bindgen_ty_85 = 1;
-pub const IFLA_XDP_ATTACHED: _bindgen_ty_85 = 2;
-pub const IFLA_XDP_FLAGS: _bindgen_ty_85 = 3;
-pub const IFLA_XDP_PROG_ID: _bindgen_ty_85 = 4;
-pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_85 = 5;
-pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_85 = 6;
-pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_85 = 7;
-pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_85 = 8;
-pub const __IFLA_XDP_MAX: _bindgen_ty_85 = 9;
-pub type _bindgen_ty_85 = ::core::ffi::c_uint;
+pub const IFLA_XDP_UNSPEC: _bindgen_ty_89 = 0;
+pub const IFLA_XDP_FD: _bindgen_ty_89 = 1;
+pub const IFLA_XDP_ATTACHED: _bindgen_ty_89 = 2;
+pub const IFLA_XDP_FLAGS: _bindgen_ty_89 = 3;
+pub const IFLA_XDP_PROG_ID: _bindgen_ty_89 = 4;
+pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_89 = 5;
+pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_89 = 6;
+pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_89 = 7;
+pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_89 = 8;
+pub const __IFLA_XDP_MAX: _bindgen_ty_89 = 9;
+pub type _bindgen_ty_89 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct ifinfomsg {
@@ -2046,38 +2073,37 @@ pub struct tcmsg {
     pub tcm_parent: __u32,
     pub tcm_info: __u32,
 }
-pub const TCA_UNSPEC: _bindgen_ty_100 = 0;
-pub const TCA_KIND: _bindgen_ty_100 = 1;
-pub const TCA_OPTIONS: _bindgen_ty_100 = 2;
-pub const TCA_STATS: _bindgen_ty_100 = 3;
-pub const TCA_XSTATS: _bindgen_ty_100 = 4;
-pub const TCA_RATE: _bindgen_ty_100 = 5;
-pub const TCA_FCNT: _bindgen_ty_100 = 6;
-pub const TCA_STATS2: _bindgen_ty_100 = 7;
-pub const TCA_STAB: _bindgen_ty_100 = 8;
-pub const TCA_PAD: _bindgen_ty_100 = 9;
-pub const TCA_DUMP_INVISIBLE: _bindgen_ty_100 = 10;
-pub const TCA_CHAIN: _bindgen_ty_100 = 11;
-pub const TCA_HW_OFFLOAD: _bindgen_ty_100 = 12;
-pub const TCA_INGRESS_BLOCK: _bindgen_ty_100 = 13;
-pub const TCA_EGRESS_BLOCK: _bindgen_ty_100 = 14;
-pub const TCA_DUMP_FLAGS: _bindgen_ty_100 = 15;
-pub const __TCA_MAX: _bindgen_ty_100 = 16;
-pub type _bindgen_ty_100 = ::core::ffi::c_uint;
-pub const TCA_BPF_UNSPEC: _bindgen_ty_156 = 0;
-pub const TCA_BPF_ACT: _bindgen_ty_156 = 1;
-pub const TCA_BPF_POLICE: _bindgen_ty_156 = 2;
-pub const TCA_BPF_CLASSID: _bindgen_ty_156 = 3;
-pub const TCA_BPF_OPS_LEN: _bindgen_ty_156 = 4;
-pub const TCA_BPF_OPS: _bindgen_ty_156 = 5;
-pub const TCA_BPF_FD: _bindgen_ty_156 = 6;
-pub const TCA_BPF_NAME: _bindgen_ty_156 = 7;
-pub const TCA_BPF_FLAGS: _bindgen_ty_156 = 8;
-pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_156 = 9;
-pub const TCA_BPF_TAG: _bindgen_ty_156 = 10;
-pub const TCA_BPF_ID: _bindgen_ty_156 = 11;
-pub const __TCA_BPF_MAX: _bindgen_ty_156 = 12;
-pub type _bindgen_ty_156 = ::core::ffi::c_uint;
+pub const TCA_UNSPEC: _bindgen_ty_102 = 0;
+pub const TCA_KIND: _bindgen_ty_102 = 1;
+pub const TCA_OPTIONS: _bindgen_ty_102 = 2;
+pub const TCA_STATS: _bindgen_ty_102 = 3;
+pub const TCA_XSTATS: _bindgen_ty_102 = 4;
+pub const TCA_RATE: _bindgen_ty_102 = 5;
+pub const TCA_FCNT: _bindgen_ty_102 = 6;
+pub const TCA_STATS2: _bindgen_ty_102 = 7;
+pub const TCA_STAB: _bindgen_ty_102 = 8;
+pub const TCA_PAD: _bindgen_ty_102 = 9;
+pub const TCA_DUMP_INVISIBLE: _bindgen_ty_102 = 10;
+pub const TCA_CHAIN: _bindgen_ty_102 = 11;
+pub const TCA_HW_OFFLOAD: _bindgen_ty_102 = 12;
+pub const TCA_INGRESS_BLOCK: _bindgen_ty_102 = 13;
+pub const TCA_EGRESS_BLOCK: _bindgen_ty_102 = 14;
+pub const __TCA_MAX: _bindgen_ty_102 = 15;
+pub type _bindgen_ty_102 = ::core::ffi::c_uint;
+pub const TCA_BPF_UNSPEC: _bindgen_ty_158 = 0;
+pub const TCA_BPF_ACT: _bindgen_ty_158 = 1;
+pub const TCA_BPF_POLICE: _bindgen_ty_158 = 2;
+pub const TCA_BPF_CLASSID: _bindgen_ty_158 = 3;
+pub const TCA_BPF_OPS_LEN: _bindgen_ty_158 = 4;
+pub const TCA_BPF_OPS: _bindgen_ty_158 = 5;
+pub const TCA_BPF_FD: _bindgen_ty_158 = 6;
+pub const TCA_BPF_NAME: _bindgen_ty_158 = 7;
+pub const TCA_BPF_FLAGS: _bindgen_ty_158 = 8;
+pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_158 = 9;
+pub const TCA_BPF_TAG: _bindgen_ty_158 = 10;
+pub const TCA_BPF_ID: _bindgen_ty_158 = 11;
+pub const __TCA_BPF_MAX: _bindgen_ty_158 = 12;
+pub type _bindgen_ty_158 = ::core::ffi::c_uint;
 pub const AYA_PERF_EVENT_IOC_ENABLE: ::core::ffi::c_int = 9216;
 pub const AYA_PERF_EVENT_IOC_DISABLE: ::core::ffi::c_int = 9217;
 pub const AYA_PERF_EVENT_IOC_SET_BPF: ::core::ffi::c_int = 1074013192;

+ 125 - 99
aya-obj/src/generated/linux_bindings_x86_64.rs

@@ -275,6 +275,10 @@ pub enum bpf_cmd {
     BPF_LINK_DETACH = 34,
     BPF_PROG_BIND_MAP = 35,
 }
+impl bpf_map_type {
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE: bpf_map_type =
+        bpf_map_type::BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED;
+}
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum bpf_map_type {
@@ -297,7 +301,7 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_CPUMAP = 16,
     BPF_MAP_TYPE_XSKMAP = 17,
     BPF_MAP_TYPE_SOCKHASH = 18,
-    BPF_MAP_TYPE_CGROUP_STORAGE = 19,
+    BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED = 19,
     BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20,
     BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 21,
     BPF_MAP_TYPE_QUEUE = 22,
@@ -309,6 +313,8 @@ pub enum bpf_map_type {
     BPF_MAP_TYPE_INODE_STORAGE = 28,
     BPF_MAP_TYPE_TASK_STORAGE = 29,
     BPF_MAP_TYPE_BLOOM_FILTER = 30,
+    BPF_MAP_TYPE_USER_RINGBUF = 31,
+    BPF_MAP_TYPE_CGRP_STORAGE = 32,
 }
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
@@ -731,34 +737,37 @@ pub type _bindgen_ty_9 = ::core::ffi::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::core::ffi::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::core::ffi::c_ulong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::core::ffi::c_int;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
-pub type _bindgen_ty_14 = ::core::ffi::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
-pub type _bindgen_ty_16 = ::core::ffi::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
-pub type _bindgen_ty_18 = ::core::ffi::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
-pub type _bindgen_ty_21 = ::core::ffi::c_uint;
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::core::ffi::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::core::ffi::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::core::ffi::c_ulong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::core::ffi::c_int;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
+pub type _bindgen_ty_15 = ::core::ffi::c_uint;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
+pub type _bindgen_ty_17 = ::core::ffi::c_uint;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
+pub type _bindgen_ty_19 = ::core::ffi::c_uint;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
+pub type _bindgen_ty_22 = ::core::ffi::c_uint;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::core::ffi::c_uint;
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_prog_info {
@@ -905,6 +914,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -917,6 +927,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
     pub map_id: __u32,
 }
 #[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
@@ -966,29 +994,29 @@ pub union btf_type__bindgen_ty_1 {
     pub size: __u32,
     pub type_: __u32,
 }
-pub const BTF_KIND_UNKN: _bindgen_ty_38 = 0;
-pub const BTF_KIND_INT: _bindgen_ty_38 = 1;
-pub const BTF_KIND_PTR: _bindgen_ty_38 = 2;
-pub const BTF_KIND_ARRAY: _bindgen_ty_38 = 3;
-pub const BTF_KIND_STRUCT: _bindgen_ty_38 = 4;
-pub const BTF_KIND_UNION: _bindgen_ty_38 = 5;
-pub const BTF_KIND_ENUM: _bindgen_ty_38 = 6;
-pub const BTF_KIND_FWD: _bindgen_ty_38 = 7;
-pub const BTF_KIND_TYPEDEF: _bindgen_ty_38 = 8;
-pub const BTF_KIND_VOLATILE: _bindgen_ty_38 = 9;
-pub const BTF_KIND_CONST: _bindgen_ty_38 = 10;
-pub const BTF_KIND_RESTRICT: _bindgen_ty_38 = 11;
-pub const BTF_KIND_FUNC: _bindgen_ty_38 = 12;
-pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_38 = 13;
-pub const BTF_KIND_VAR: _bindgen_ty_38 = 14;
-pub const BTF_KIND_DATASEC: _bindgen_ty_38 = 15;
-pub const BTF_KIND_FLOAT: _bindgen_ty_38 = 16;
-pub const BTF_KIND_DECL_TAG: _bindgen_ty_38 = 17;
-pub const BTF_KIND_TYPE_TAG: _bindgen_ty_38 = 18;
-pub const BTF_KIND_ENUM64: _bindgen_ty_38 = 19;
-pub const NR_BTF_KINDS: _bindgen_ty_38 = 20;
-pub const BTF_KIND_MAX: _bindgen_ty_38 = 19;
-pub type _bindgen_ty_38 = ::core::ffi::c_uint;
+pub const BTF_KIND_UNKN: _bindgen_ty_39 = 0;
+pub const BTF_KIND_INT: _bindgen_ty_39 = 1;
+pub const BTF_KIND_PTR: _bindgen_ty_39 = 2;
+pub const BTF_KIND_ARRAY: _bindgen_ty_39 = 3;
+pub const BTF_KIND_STRUCT: _bindgen_ty_39 = 4;
+pub const BTF_KIND_UNION: _bindgen_ty_39 = 5;
+pub const BTF_KIND_ENUM: _bindgen_ty_39 = 6;
+pub const BTF_KIND_FWD: _bindgen_ty_39 = 7;
+pub const BTF_KIND_TYPEDEF: _bindgen_ty_39 = 8;
+pub const BTF_KIND_VOLATILE: _bindgen_ty_39 = 9;
+pub const BTF_KIND_CONST: _bindgen_ty_39 = 10;
+pub const BTF_KIND_RESTRICT: _bindgen_ty_39 = 11;
+pub const BTF_KIND_FUNC: _bindgen_ty_39 = 12;
+pub const BTF_KIND_FUNC_PROTO: _bindgen_ty_39 = 13;
+pub const BTF_KIND_VAR: _bindgen_ty_39 = 14;
+pub const BTF_KIND_DATASEC: _bindgen_ty_39 = 15;
+pub const BTF_KIND_FLOAT: _bindgen_ty_39 = 16;
+pub const BTF_KIND_DECL_TAG: _bindgen_ty_39 = 17;
+pub const BTF_KIND_TYPE_TAG: _bindgen_ty_39 = 18;
+pub const BTF_KIND_ENUM64: _bindgen_ty_39 = 19;
+pub const NR_BTF_KINDS: _bindgen_ty_39 = 20;
+pub const BTF_KIND_MAX: _bindgen_ty_39 = 19;
+pub type _bindgen_ty_39 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct btf_enum {
@@ -1015,10 +1043,10 @@ pub struct btf_param {
     pub name_off: __u32,
     pub type_: __u32,
 }
-pub const BTF_VAR_STATIC: _bindgen_ty_39 = 0;
-pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_39 = 1;
-pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_39 = 2;
-pub type _bindgen_ty_39 = ::core::ffi::c_uint;
+pub const BTF_VAR_STATIC: _bindgen_ty_40 = 0;
+pub const BTF_VAR_GLOBAL_ALLOCATED: _bindgen_ty_40 = 1;
+pub const BTF_VAR_GLOBAL_EXTERN: _bindgen_ty_40 = 2;
+pub type _bindgen_ty_40 = ::core::ffi::c_uint;
 #[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum btf_func_linkage {
@@ -1113,7 +1141,7 @@ pub enum perf_sw_ids {
     PERF_COUNT_SW_CGROUP_SWITCHES = 11,
     PERF_COUNT_SW_MAX = 12,
 }
-#[repr(u64)]
+#[repr(u32)]
 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
 pub enum perf_event_sample_format {
     PERF_SAMPLE_IP = 1,
@@ -1142,7 +1170,6 @@ pub enum perf_event_sample_format {
     PERF_SAMPLE_CODE_PAGE_SIZE = 8388608,
     PERF_SAMPLE_WEIGHT_STRUCT = 16777216,
     PERF_SAMPLE_MAX = 33554432,
-    __PERF_SAMPLE_CALLCHAIN_EARLY = 9223372036854775808,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -2014,17 +2041,17 @@ pub enum perf_event_type {
     PERF_RECORD_AUX_OUTPUT_HW_ID = 21,
     PERF_RECORD_MAX = 22,
 }
-pub const IFLA_XDP_UNSPEC: _bindgen_ty_85 = 0;
-pub const IFLA_XDP_FD: _bindgen_ty_85 = 1;
-pub const IFLA_XDP_ATTACHED: _bindgen_ty_85 = 2;
-pub const IFLA_XDP_FLAGS: _bindgen_ty_85 = 3;
-pub const IFLA_XDP_PROG_ID: _bindgen_ty_85 = 4;
-pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_85 = 5;
-pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_85 = 6;
-pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_85 = 7;
-pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_85 = 8;
-pub const __IFLA_XDP_MAX: _bindgen_ty_85 = 9;
-pub type _bindgen_ty_85 = ::core::ffi::c_uint;
+pub const IFLA_XDP_UNSPEC: _bindgen_ty_89 = 0;
+pub const IFLA_XDP_FD: _bindgen_ty_89 = 1;
+pub const IFLA_XDP_ATTACHED: _bindgen_ty_89 = 2;
+pub const IFLA_XDP_FLAGS: _bindgen_ty_89 = 3;
+pub const IFLA_XDP_PROG_ID: _bindgen_ty_89 = 4;
+pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_89 = 5;
+pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_89 = 6;
+pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_89 = 7;
+pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_89 = 8;
+pub const __IFLA_XDP_MAX: _bindgen_ty_89 = 9;
+pub type _bindgen_ty_89 = ::core::ffi::c_uint;
 #[repr(C)]
 #[derive(Debug, Copy, Clone)]
 pub struct ifinfomsg {
@@ -2046,38 +2073,37 @@ pub struct tcmsg {
     pub tcm_parent: __u32,
     pub tcm_info: __u32,
 }
-pub const TCA_UNSPEC: _bindgen_ty_100 = 0;
-pub const TCA_KIND: _bindgen_ty_100 = 1;
-pub const TCA_OPTIONS: _bindgen_ty_100 = 2;
-pub const TCA_STATS: _bindgen_ty_100 = 3;
-pub const TCA_XSTATS: _bindgen_ty_100 = 4;
-pub const TCA_RATE: _bindgen_ty_100 = 5;
-pub const TCA_FCNT: _bindgen_ty_100 = 6;
-pub const TCA_STATS2: _bindgen_ty_100 = 7;
-pub const TCA_STAB: _bindgen_ty_100 = 8;
-pub const TCA_PAD: _bindgen_ty_100 = 9;
-pub const TCA_DUMP_INVISIBLE: _bindgen_ty_100 = 10;
-pub const TCA_CHAIN: _bindgen_ty_100 = 11;
-pub const TCA_HW_OFFLOAD: _bindgen_ty_100 = 12;
-pub const TCA_INGRESS_BLOCK: _bindgen_ty_100 = 13;
-pub const TCA_EGRESS_BLOCK: _bindgen_ty_100 = 14;
-pub const TCA_DUMP_FLAGS: _bindgen_ty_100 = 15;
-pub const __TCA_MAX: _bindgen_ty_100 = 16;
-pub type _bindgen_ty_100 = ::core::ffi::c_uint;
-pub const TCA_BPF_UNSPEC: _bindgen_ty_156 = 0;
-pub const TCA_BPF_ACT: _bindgen_ty_156 = 1;
-pub const TCA_BPF_POLICE: _bindgen_ty_156 = 2;
-pub const TCA_BPF_CLASSID: _bindgen_ty_156 = 3;
-pub const TCA_BPF_OPS_LEN: _bindgen_ty_156 = 4;
-pub const TCA_BPF_OPS: _bindgen_ty_156 = 5;
-pub const TCA_BPF_FD: _bindgen_ty_156 = 6;
-pub const TCA_BPF_NAME: _bindgen_ty_156 = 7;
-pub const TCA_BPF_FLAGS: _bindgen_ty_156 = 8;
-pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_156 = 9;
-pub const TCA_BPF_TAG: _bindgen_ty_156 = 10;
-pub const TCA_BPF_ID: _bindgen_ty_156 = 11;
-pub const __TCA_BPF_MAX: _bindgen_ty_156 = 12;
-pub type _bindgen_ty_156 = ::core::ffi::c_uint;
+pub const TCA_UNSPEC: _bindgen_ty_102 = 0;
+pub const TCA_KIND: _bindgen_ty_102 = 1;
+pub const TCA_OPTIONS: _bindgen_ty_102 = 2;
+pub const TCA_STATS: _bindgen_ty_102 = 3;
+pub const TCA_XSTATS: _bindgen_ty_102 = 4;
+pub const TCA_RATE: _bindgen_ty_102 = 5;
+pub const TCA_FCNT: _bindgen_ty_102 = 6;
+pub const TCA_STATS2: _bindgen_ty_102 = 7;
+pub const TCA_STAB: _bindgen_ty_102 = 8;
+pub const TCA_PAD: _bindgen_ty_102 = 9;
+pub const TCA_DUMP_INVISIBLE: _bindgen_ty_102 = 10;
+pub const TCA_CHAIN: _bindgen_ty_102 = 11;
+pub const TCA_HW_OFFLOAD: _bindgen_ty_102 = 12;
+pub const TCA_INGRESS_BLOCK: _bindgen_ty_102 = 13;
+pub const TCA_EGRESS_BLOCK: _bindgen_ty_102 = 14;
+pub const __TCA_MAX: _bindgen_ty_102 = 15;
+pub type _bindgen_ty_102 = ::core::ffi::c_uint;
+pub const TCA_BPF_UNSPEC: _bindgen_ty_158 = 0;
+pub const TCA_BPF_ACT: _bindgen_ty_158 = 1;
+pub const TCA_BPF_POLICE: _bindgen_ty_158 = 2;
+pub const TCA_BPF_CLASSID: _bindgen_ty_158 = 3;
+pub const TCA_BPF_OPS_LEN: _bindgen_ty_158 = 4;
+pub const TCA_BPF_OPS: _bindgen_ty_158 = 5;
+pub const TCA_BPF_FD: _bindgen_ty_158 = 6;
+pub const TCA_BPF_NAME: _bindgen_ty_158 = 7;
+pub const TCA_BPF_FLAGS: _bindgen_ty_158 = 8;
+pub const TCA_BPF_FLAGS_GEN: _bindgen_ty_158 = 9;
+pub const TCA_BPF_TAG: _bindgen_ty_158 = 10;
+pub const TCA_BPF_ID: _bindgen_ty_158 = 11;
+pub const __TCA_BPF_MAX: _bindgen_ty_158 = 12;
+pub type _bindgen_ty_158 = ::core::ffi::c_uint;
 pub const AYA_PERF_EVENT_IOC_ENABLE: ::core::ffi::c_int = 9216;
 pub const AYA_PERF_EVENT_IOC_DISABLE: ::core::ffi::c_int = 9217;
 pub const AYA_PERF_EVENT_IOC_SET_BPF: ::core::ffi::c_int = 1074013192;

+ 198 - 105
bpf/aya-bpf-bindings/src/aarch64/bindings.rs

@@ -358,16 +358,40 @@ pub struct bpf_cgroup_storage_key {
     pub cgroup_inode_id: __u64,
     pub attach_type: __u32,
 }
+pub mod bpf_cgroup_iter_order {
+    pub type Type = ::aya_bpf_cty::c_uint;
+    pub const BPF_CGROUP_ITER_ORDER_UNSPEC: Type = 0;
+    pub const BPF_CGROUP_ITER_SELF_ONLY: Type = 1;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: Type = 2;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_POST: Type = 3;
+    pub const BPF_CGROUP_ITER_ANCESTORS_UP: Type = 4;
+}
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_iter_link_info {
     pub map: bpf_iter_link_info__bindgen_ty_1,
+    pub cgroup: bpf_iter_link_info__bindgen_ty_2,
+    pub task: bpf_iter_link_info__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_iter_link_info__bindgen_ty_1 {
     pub map_fd: __u32,
 }
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_2 {
+    pub order: bpf_cgroup_iter_order::Type,
+    pub cgroup_fd: __u32,
+    pub cgroup_id: __u64,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_3 {
+    pub tid: __u32,
+    pub pid: __u32,
+    pub pid_fd: __u32,
+}
 pub mod bpf_cmd {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_MAP_CREATE: Type = 0;
@@ -429,6 +453,7 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_CPUMAP: Type = 16;
     pub const BPF_MAP_TYPE_XSKMAP: Type = 17;
     pub const BPF_MAP_TYPE_SOCKHASH: Type = 18;
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: Type = 19;
     pub const BPF_MAP_TYPE_CGROUP_STORAGE: Type = 19;
     pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: Type = 20;
     pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: Type = 21;
@@ -441,6 +466,8 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_INODE_STORAGE: Type = 28;
     pub const BPF_MAP_TYPE_TASK_STORAGE: Type = 29;
     pub const BPF_MAP_TYPE_BLOOM_FILTER: Type = 30;
+    pub const BPF_MAP_TYPE_USER_RINGBUF: Type = 31;
+    pub const BPF_MAP_TYPE_CGRP_STORAGE: Type = 32;
 }
 pub mod bpf_prog_type {
     pub type Type = ::aya_bpf_cty::c_uint;
@@ -1072,7 +1099,10 @@ pub mod bpf_func_id {
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: Type = 206;
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: Type = 207;
     pub const BPF_FUNC_ktime_get_tai_ns: Type = 208;
-    pub const __BPF_FUNC_MAX_ID: Type = 209;
+    pub const BPF_FUNC_user_ringbuf_drain: Type = 209;
+    pub const BPF_FUNC_cgrp_storage_get: Type = 210;
+    pub const BPF_FUNC_cgrp_storage_delete: Type = 211;
+    pub const __BPF_FUNC_MAX_ID: Type = 212;
 }
 pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_4 = 1;
 pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_4 = 2;
@@ -1096,51 +1126,54 @@ pub type _bindgen_ty_9 = ::aya_bpf_cty::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::aya_bpf_cty::c_ulong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::aya_bpf_cty::c_int;
-pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_13 = 0;
-pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_13 = 1;
-pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_13 = 2;
-pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_13 = 3;
-pub type _bindgen_ty_13 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::aya_bpf_cty::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::aya_bpf_cty::c_ulong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::aya_bpf_cty::c_int;
+pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_14 = 0;
+pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_14 = 1;
+pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_14 = 2;
+pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_14 = 3;
 pub type _bindgen_ty_14 = ::aya_bpf_cty::c_uint;
-pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_15 = 255;
-pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_15 = 56;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
 pub type _bindgen_ty_15 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
+pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_16 = 255;
+pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_16 = 56;
 pub type _bindgen_ty_16 = ::aya_bpf_cty::c_uint;
-pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
-pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
 pub type _bindgen_ty_17 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
+pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
+pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
 pub type _bindgen_ty_18 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_NO_WAKEUP: _bindgen_ty_19 = 1;
-pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_19 = 2;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
 pub type _bindgen_ty_19 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_AVAIL_DATA: _bindgen_ty_20 = 0;
-pub const BPF_RB_RING_SIZE: _bindgen_ty_20 = 1;
-pub const BPF_RB_CONS_POS: _bindgen_ty_20 = 2;
-pub const BPF_RB_PROD_POS: _bindgen_ty_20 = 3;
+pub const BPF_RB_NO_WAKEUP: _bindgen_ty_20 = 1;
+pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_20 = 2;
 pub type _bindgen_ty_20 = ::aya_bpf_cty::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
+pub const BPF_RB_AVAIL_DATA: _bindgen_ty_21 = 0;
+pub const BPF_RB_RING_SIZE: _bindgen_ty_21 = 1;
+pub const BPF_RB_CONS_POS: _bindgen_ty_21 = 2;
+pub const BPF_RB_PROD_POS: _bindgen_ty_21 = 3;
 pub type _bindgen_ty_21 = ::aya_bpf_cty::c_uint;
-pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_22 = 1;
-pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_22 = 2;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
 pub type _bindgen_ty_22 = ::aya_bpf_cty::c_uint;
+pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_23 = 1;
+pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_23 = 2;
+pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
 pub mod bpf_adj_room_mode {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_ADJ_ROOM_NET: Type = 0;
@@ -1157,12 +1190,12 @@ pub mod bpf_lwt_encap_mode {
     pub const BPF_LWT_ENCAP_SEG6_INLINE: Type = 1;
     pub const BPF_LWT_ENCAP_IP: Type = 2;
 }
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_25 {
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_26 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_SKB_TSTAMP_UNSPEC: Type = 0;
     pub const BPF_SKB_TSTAMP_DELIVERY_MONO: Type = 1;
@@ -1249,9 +1282,9 @@ pub struct bpf_tunnel_key {
     pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
     pub tunnel_tos: __u8,
     pub tunnel_ttl: __u8,
-    pub tunnel_ext: __u16,
-    pub tunnel_label: __u32,
     pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
+    pub tunnel_label: __u32,
+    pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1262,6 +1295,12 @@ pub union bpf_tunnel_key__bindgen_ty_1 {
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_tunnel_key__bindgen_ty_2 {
+    pub tunnel_ext: __u16,
+    pub tunnel_flags: __be16,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_tunnel_key__bindgen_ty_3 {
     pub local_ipv4: __u32,
     pub local_ipv6: [__u32; 4usize],
 }
@@ -1286,6 +1325,7 @@ pub mod bpf_ret_code {
     pub const BPF_DROP: Type = 2;
     pub const BPF_REDIRECT: Type = 7;
     pub const BPF_LWT_REROUTE: Type = 128;
+    pub const BPF_FLOW_DISSECTOR_CONTINUE: Type = 129;
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1695,6 +1735,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1708,6 +1749,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
     pub attach_type: __u32,
@@ -1788,6 +1847,7 @@ pub struct bpf_sock_ops {
     pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
     pub skb_len: __u32,
     pub skb_tcp_flags: __u32,
+    pub skb_hwtstamp: __u64,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1838,51 +1898,51 @@ impl bpf_sock_ops__bindgen_ty_4 {
         __bindgen_bitfield_unit
     }
 }
-pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_26 = 1;
-pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_26 = 2;
-pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_26 = 4;
-pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_26 = 8;
-pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 16;
-pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 32;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 64;
-pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_26 = 127;
-pub type _bindgen_ty_26 = ::aya_bpf_cty::c_uint;
-pub const BPF_SOCK_OPS_VOID: _bindgen_ty_27 = 0;
-pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_27 = 1;
-pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_27 = 2;
-pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_27 = 3;
-pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_27 = 4;
-pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_27 = 5;
-pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_27 = 6;
-pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_27 = 7;
-pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_27 = 8;
-pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_27 = 9;
-pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_27 = 10;
-pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_27 = 11;
-pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_27 = 12;
-pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_27 = 13;
-pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_27 = 14;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_27 = 15;
+pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_27 = 1;
+pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_27 = 2;
+pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_27 = 4;
+pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_27 = 8;
+pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 16;
+pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 32;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 64;
+pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_27 = 127;
 pub type _bindgen_ty_27 = ::aya_bpf_cty::c_uint;
-pub const BPF_TCP_ESTABLISHED: _bindgen_ty_28 = 1;
-pub const BPF_TCP_SYN_SENT: _bindgen_ty_28 = 2;
-pub const BPF_TCP_SYN_RECV: _bindgen_ty_28 = 3;
-pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_28 = 4;
-pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_28 = 5;
-pub const BPF_TCP_TIME_WAIT: _bindgen_ty_28 = 6;
-pub const BPF_TCP_CLOSE: _bindgen_ty_28 = 7;
-pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_28 = 8;
-pub const BPF_TCP_LAST_ACK: _bindgen_ty_28 = 9;
-pub const BPF_TCP_LISTEN: _bindgen_ty_28 = 10;
-pub const BPF_TCP_CLOSING: _bindgen_ty_28 = 11;
-pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_28 = 12;
-pub const BPF_TCP_MAX_STATES: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_VOID: _bindgen_ty_28 = 0;
+pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_28 = 1;
+pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_28 = 2;
+pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_28 = 3;
+pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_28 = 4;
+pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_28 = 5;
+pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_28 = 6;
+pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_28 = 7;
+pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_28 = 8;
+pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_28 = 9;
+pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_28 = 10;
+pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_28 = 11;
+pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_28 = 12;
+pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_28 = 14;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_28 = 15;
 pub type _bindgen_ty_28 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_30 {
+pub const BPF_TCP_ESTABLISHED: _bindgen_ty_29 = 1;
+pub const BPF_TCP_SYN_SENT: _bindgen_ty_29 = 2;
+pub const BPF_TCP_SYN_RECV: _bindgen_ty_29 = 3;
+pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_29 = 4;
+pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_29 = 5;
+pub const BPF_TCP_TIME_WAIT: _bindgen_ty_29 = 6;
+pub const BPF_TCP_CLOSE: _bindgen_ty_29 = 7;
+pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_29 = 8;
+pub const BPF_TCP_LAST_ACK: _bindgen_ty_29 = 9;
+pub const BPF_TCP_LISTEN: _bindgen_ty_29 = 10;
+pub const BPF_TCP_CLOSING: _bindgen_ty_29 = 11;
+pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_29 = 12;
+pub const BPF_TCP_MAX_STATES: _bindgen_ty_29 = 13;
+pub type _bindgen_ty_29 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_31 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_LOAD_HDR_OPT_TCP_SYN: Type = 1;
 }
-pub mod _bindgen_ty_31 {
+pub mod _bindgen_ty_32 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: Type = 1;
     pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: Type = 2;
@@ -1894,13 +1954,13 @@ pub struct bpf_perf_event_value {
     pub enabled: __u64,
     pub running: __u64,
 }
-pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_32 = 1;
-pub const BPF_DEVCG_ACC_READ: _bindgen_ty_32 = 2;
-pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_32 = 4;
-pub type _bindgen_ty_32 = ::aya_bpf_cty::c_uint;
-pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_33 = 1;
-pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_33 = 1;
+pub const BPF_DEVCG_ACC_READ: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_33 = 4;
 pub type _bindgen_ty_33 = ::aya_bpf_cty::c_uint;
+pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_34 = 1;
+pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_34 = 2;
+pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_cgroup_dev_ctx {
@@ -1912,19 +1972,19 @@ pub struct bpf_cgroup_dev_ctx {
 pub struct bpf_raw_tracepoint_args {
     pub args: __IncompleteArrayField<__u64>,
 }
-pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_34 = 1;
-pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_34 = 2;
-pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
-pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_35 = 0;
-pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_35 = 1;
-pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_35 = 2;
-pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_35 = 3;
-pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_35 = 4;
-pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_35 = 5;
-pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_35 = 6;
-pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_35 = 7;
-pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_35 = 8;
+pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_35 = 1;
+pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_35 = 2;
 pub type _bindgen_ty_35 = ::aya_bpf_cty::c_uint;
+pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_36 = 0;
+pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_36 = 1;
+pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_36 = 2;
+pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_36 = 3;
+pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_36 = 4;
+pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_36 = 5;
+pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_36 = 6;
+pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_36 = 7;
+pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_36 = 8;
+pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_fib_lookup {
@@ -1998,10 +2058,10 @@ pub mod bpf_task_fd_type {
     pub const BPF_FD_TYPE_UPROBE: Type = 4;
     pub const BPF_FD_TYPE_URETPROBE: Type = 5;
 }
-pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_36 = 1;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_36 = 2;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_36 = 4;
-pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
+pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_37 = 1;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_37 = 2;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_37 = 4;
+pub type _bindgen_ty_37 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_flow_keys {
@@ -2085,6 +2145,34 @@ impl bpf_dynptr {
     }
 }
 #[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_head {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_head {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_node {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_node {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_sysctl {
     pub write: __u32,
@@ -2300,6 +2388,11 @@ pub struct task_struct {
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub struct cgroup {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct path {
     _unused: [u8; 0],
 }

+ 46 - 8
bpf/aya-bpf-bindings/src/aarch64/helpers.rs

@@ -461,12 +461,12 @@ pub unsafe fn bpf_skb_adjust_room(
 }
 pub unsafe fn bpf_redirect_map(
     map: *mut ::aya_bpf_cty::c_void,
-    key: __u32,
+    key: __u64,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         map: *mut ::aya_bpf_cty::c_void,
-        key: __u32,
+        key: __u64,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(51usize);
     fun(map, key, flags)
@@ -2027,28 +2027,28 @@ pub unsafe fn bpf_ringbuf_discard_dynptr(ptr: *mut bpf_dynptr, flags: __u64) {
 pub unsafe fn bpf_dynptr_read(
     dst: *mut ::aya_bpf_cty::c_void,
     len: __u32,
-    src: *mut bpf_dynptr,
+    src: *const bpf_dynptr,
     offset: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         dst: *mut ::aya_bpf_cty::c_void,
         len: __u32,
-        src: *mut bpf_dynptr,
+        src: *const bpf_dynptr,
         offset: __u32,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(201usize);
     fun(dst, len, src, offset, flags)
 }
 pub unsafe fn bpf_dynptr_write(
-    dst: *mut bpf_dynptr,
+    dst: *const bpf_dynptr,
     offset: __u32,
     src: *mut ::aya_bpf_cty::c_void,
     len: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
-        dst: *mut bpf_dynptr,
+        dst: *const bpf_dynptr,
         offset: __u32,
         src: *mut ::aya_bpf_cty::c_void,
         len: __u32,
@@ -2057,12 +2057,12 @@ pub unsafe fn bpf_dynptr_write(
     fun(dst, offset, src, len, flags)
 }
 pub unsafe fn bpf_dynptr_data(
-    ptr: *mut bpf_dynptr,
+    ptr: *const bpf_dynptr,
     offset: __u32,
     len: __u32,
 ) -> *mut ::aya_bpf_cty::c_void {
     let fun: unsafe extern "C" fn(
-        ptr: *mut bpf_dynptr,
+        ptr: *const bpf_dynptr,
         offset: __u32,
         len: __u32,
     ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(203usize);
@@ -2106,3 +2106,41 @@ pub unsafe fn bpf_ktime_get_tai_ns() -> __u64 {
     let fun: unsafe extern "C" fn() -> __u64 = ::core::mem::transmute(208usize);
     fun()
 }
+pub unsafe fn bpf_user_ringbuf_drain(
+    map: *mut ::aya_bpf_cty::c_void,
+    callback_fn: *mut ::aya_bpf_cty::c_void,
+    ctx: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        callback_fn: *mut ::aya_bpf_cty::c_void,
+        ctx: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(209usize);
+    fun(map, callback_fn, ctx, flags)
+}
+pub unsafe fn bpf_cgrp_storage_get(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+    value: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> *mut ::aya_bpf_cty::c_void {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+        value: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(210usize);
+    fun(map, cgroup, value, flags)
+}
+pub unsafe fn bpf_cgrp_storage_delete(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(211usize);
+    fun(map, cgroup)
+}

+ 198 - 105
bpf/aya-bpf-bindings/src/armv7/bindings.rs

@@ -353,16 +353,40 @@ pub struct bpf_cgroup_storage_key {
     pub cgroup_inode_id: __u64,
     pub attach_type: __u32,
 }
+pub mod bpf_cgroup_iter_order {
+    pub type Type = ::aya_bpf_cty::c_uint;
+    pub const BPF_CGROUP_ITER_ORDER_UNSPEC: Type = 0;
+    pub const BPF_CGROUP_ITER_SELF_ONLY: Type = 1;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: Type = 2;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_POST: Type = 3;
+    pub const BPF_CGROUP_ITER_ANCESTORS_UP: Type = 4;
+}
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_iter_link_info {
     pub map: bpf_iter_link_info__bindgen_ty_1,
+    pub cgroup: bpf_iter_link_info__bindgen_ty_2,
+    pub task: bpf_iter_link_info__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_iter_link_info__bindgen_ty_1 {
     pub map_fd: __u32,
 }
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_2 {
+    pub order: bpf_cgroup_iter_order::Type,
+    pub cgroup_fd: __u32,
+    pub cgroup_id: __u64,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_3 {
+    pub tid: __u32,
+    pub pid: __u32,
+    pub pid_fd: __u32,
+}
 pub mod bpf_cmd {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_MAP_CREATE: Type = 0;
@@ -424,6 +448,7 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_CPUMAP: Type = 16;
     pub const BPF_MAP_TYPE_XSKMAP: Type = 17;
     pub const BPF_MAP_TYPE_SOCKHASH: Type = 18;
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: Type = 19;
     pub const BPF_MAP_TYPE_CGROUP_STORAGE: Type = 19;
     pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: Type = 20;
     pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: Type = 21;
@@ -436,6 +461,8 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_INODE_STORAGE: Type = 28;
     pub const BPF_MAP_TYPE_TASK_STORAGE: Type = 29;
     pub const BPF_MAP_TYPE_BLOOM_FILTER: Type = 30;
+    pub const BPF_MAP_TYPE_USER_RINGBUF: Type = 31;
+    pub const BPF_MAP_TYPE_CGRP_STORAGE: Type = 32;
 }
 pub mod bpf_prog_type {
     pub type Type = ::aya_bpf_cty::c_uint;
@@ -1067,7 +1094,10 @@ pub mod bpf_func_id {
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: Type = 206;
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: Type = 207;
     pub const BPF_FUNC_ktime_get_tai_ns: Type = 208;
-    pub const __BPF_FUNC_MAX_ID: Type = 209;
+    pub const BPF_FUNC_user_ringbuf_drain: Type = 209;
+    pub const BPF_FUNC_cgrp_storage_get: Type = 210;
+    pub const BPF_FUNC_cgrp_storage_delete: Type = 211;
+    pub const __BPF_FUNC_MAX_ID: Type = 212;
 }
 pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_4 = 1;
 pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_4 = 2;
@@ -1091,51 +1121,54 @@ pub type _bindgen_ty_9 = ::aya_bpf_cty::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::aya_bpf_cty::c_ulonglong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::aya_bpf_cty::c_int;
-pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_13 = 0;
-pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_13 = 1;
-pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_13 = 2;
-pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_13 = 3;
-pub type _bindgen_ty_13 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::aya_bpf_cty::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::aya_bpf_cty::c_ulonglong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::aya_bpf_cty::c_int;
+pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_14 = 0;
+pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_14 = 1;
+pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_14 = 2;
+pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_14 = 3;
 pub type _bindgen_ty_14 = ::aya_bpf_cty::c_uint;
-pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_15 = 255;
-pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_15 = 56;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
 pub type _bindgen_ty_15 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
+pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_16 = 255;
+pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_16 = 56;
 pub type _bindgen_ty_16 = ::aya_bpf_cty::c_uint;
-pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
-pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
 pub type _bindgen_ty_17 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
+pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
+pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
 pub type _bindgen_ty_18 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_NO_WAKEUP: _bindgen_ty_19 = 1;
-pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_19 = 2;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
 pub type _bindgen_ty_19 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_AVAIL_DATA: _bindgen_ty_20 = 0;
-pub const BPF_RB_RING_SIZE: _bindgen_ty_20 = 1;
-pub const BPF_RB_CONS_POS: _bindgen_ty_20 = 2;
-pub const BPF_RB_PROD_POS: _bindgen_ty_20 = 3;
+pub const BPF_RB_NO_WAKEUP: _bindgen_ty_20 = 1;
+pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_20 = 2;
 pub type _bindgen_ty_20 = ::aya_bpf_cty::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
+pub const BPF_RB_AVAIL_DATA: _bindgen_ty_21 = 0;
+pub const BPF_RB_RING_SIZE: _bindgen_ty_21 = 1;
+pub const BPF_RB_CONS_POS: _bindgen_ty_21 = 2;
+pub const BPF_RB_PROD_POS: _bindgen_ty_21 = 3;
 pub type _bindgen_ty_21 = ::aya_bpf_cty::c_uint;
-pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_22 = 1;
-pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_22 = 2;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
 pub type _bindgen_ty_22 = ::aya_bpf_cty::c_uint;
+pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_23 = 1;
+pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_23 = 2;
+pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
 pub mod bpf_adj_room_mode {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_ADJ_ROOM_NET: Type = 0;
@@ -1152,12 +1185,12 @@ pub mod bpf_lwt_encap_mode {
     pub const BPF_LWT_ENCAP_SEG6_INLINE: Type = 1;
     pub const BPF_LWT_ENCAP_IP: Type = 2;
 }
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_25 {
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_26 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_SKB_TSTAMP_UNSPEC: Type = 0;
     pub const BPF_SKB_TSTAMP_DELIVERY_MONO: Type = 1;
@@ -1246,9 +1279,9 @@ pub struct bpf_tunnel_key {
     pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
     pub tunnel_tos: __u8,
     pub tunnel_ttl: __u8,
-    pub tunnel_ext: __u16,
-    pub tunnel_label: __u32,
     pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
+    pub tunnel_label: __u32,
+    pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1259,6 +1292,12 @@ pub union bpf_tunnel_key__bindgen_ty_1 {
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_tunnel_key__bindgen_ty_2 {
+    pub tunnel_ext: __u16,
+    pub tunnel_flags: __be16,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_tunnel_key__bindgen_ty_3 {
     pub local_ipv4: __u32,
     pub local_ipv6: [__u32; 4usize],
 }
@@ -1283,6 +1322,7 @@ pub mod bpf_ret_code {
     pub const BPF_DROP: Type = 2;
     pub const BPF_REDIRECT: Type = 7;
     pub const BPF_LWT_REROUTE: Type = 128;
+    pub const BPF_FLOW_DISSECTOR_CONTINUE: Type = 129;
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1699,6 +1739,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1712,6 +1753,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
     pub attach_type: __u32,
@@ -1793,6 +1852,7 @@ pub struct bpf_sock_ops {
     pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
     pub skb_len: __u32,
     pub skb_tcp_flags: __u32,
+    pub skb_hwtstamp: __u64,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1846,51 +1906,51 @@ impl bpf_sock_ops__bindgen_ty_4 {
         __bindgen_bitfield_unit
     }
 }
-pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_26 = 1;
-pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_26 = 2;
-pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_26 = 4;
-pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_26 = 8;
-pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 16;
-pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 32;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 64;
-pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_26 = 127;
-pub type _bindgen_ty_26 = ::aya_bpf_cty::c_uint;
-pub const BPF_SOCK_OPS_VOID: _bindgen_ty_27 = 0;
-pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_27 = 1;
-pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_27 = 2;
-pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_27 = 3;
-pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_27 = 4;
-pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_27 = 5;
-pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_27 = 6;
-pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_27 = 7;
-pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_27 = 8;
-pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_27 = 9;
-pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_27 = 10;
-pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_27 = 11;
-pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_27 = 12;
-pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_27 = 13;
-pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_27 = 14;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_27 = 15;
+pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_27 = 1;
+pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_27 = 2;
+pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_27 = 4;
+pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_27 = 8;
+pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 16;
+pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 32;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 64;
+pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_27 = 127;
 pub type _bindgen_ty_27 = ::aya_bpf_cty::c_uint;
-pub const BPF_TCP_ESTABLISHED: _bindgen_ty_28 = 1;
-pub const BPF_TCP_SYN_SENT: _bindgen_ty_28 = 2;
-pub const BPF_TCP_SYN_RECV: _bindgen_ty_28 = 3;
-pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_28 = 4;
-pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_28 = 5;
-pub const BPF_TCP_TIME_WAIT: _bindgen_ty_28 = 6;
-pub const BPF_TCP_CLOSE: _bindgen_ty_28 = 7;
-pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_28 = 8;
-pub const BPF_TCP_LAST_ACK: _bindgen_ty_28 = 9;
-pub const BPF_TCP_LISTEN: _bindgen_ty_28 = 10;
-pub const BPF_TCP_CLOSING: _bindgen_ty_28 = 11;
-pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_28 = 12;
-pub const BPF_TCP_MAX_STATES: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_VOID: _bindgen_ty_28 = 0;
+pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_28 = 1;
+pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_28 = 2;
+pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_28 = 3;
+pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_28 = 4;
+pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_28 = 5;
+pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_28 = 6;
+pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_28 = 7;
+pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_28 = 8;
+pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_28 = 9;
+pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_28 = 10;
+pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_28 = 11;
+pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_28 = 12;
+pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_28 = 14;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_28 = 15;
 pub type _bindgen_ty_28 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_30 {
+pub const BPF_TCP_ESTABLISHED: _bindgen_ty_29 = 1;
+pub const BPF_TCP_SYN_SENT: _bindgen_ty_29 = 2;
+pub const BPF_TCP_SYN_RECV: _bindgen_ty_29 = 3;
+pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_29 = 4;
+pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_29 = 5;
+pub const BPF_TCP_TIME_WAIT: _bindgen_ty_29 = 6;
+pub const BPF_TCP_CLOSE: _bindgen_ty_29 = 7;
+pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_29 = 8;
+pub const BPF_TCP_LAST_ACK: _bindgen_ty_29 = 9;
+pub const BPF_TCP_LISTEN: _bindgen_ty_29 = 10;
+pub const BPF_TCP_CLOSING: _bindgen_ty_29 = 11;
+pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_29 = 12;
+pub const BPF_TCP_MAX_STATES: _bindgen_ty_29 = 13;
+pub type _bindgen_ty_29 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_31 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_LOAD_HDR_OPT_TCP_SYN: Type = 1;
 }
-pub mod _bindgen_ty_31 {
+pub mod _bindgen_ty_32 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: Type = 1;
     pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: Type = 2;
@@ -1902,13 +1962,13 @@ pub struct bpf_perf_event_value {
     pub enabled: __u64,
     pub running: __u64,
 }
-pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_32 = 1;
-pub const BPF_DEVCG_ACC_READ: _bindgen_ty_32 = 2;
-pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_32 = 4;
-pub type _bindgen_ty_32 = ::aya_bpf_cty::c_uint;
-pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_33 = 1;
-pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_33 = 1;
+pub const BPF_DEVCG_ACC_READ: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_33 = 4;
 pub type _bindgen_ty_33 = ::aya_bpf_cty::c_uint;
+pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_34 = 1;
+pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_34 = 2;
+pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_cgroup_dev_ctx {
@@ -1920,19 +1980,19 @@ pub struct bpf_cgroup_dev_ctx {
 pub struct bpf_raw_tracepoint_args {
     pub args: __IncompleteArrayField<__u64>,
 }
-pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_34 = 1;
-pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_34 = 2;
-pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
-pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_35 = 0;
-pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_35 = 1;
-pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_35 = 2;
-pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_35 = 3;
-pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_35 = 4;
-pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_35 = 5;
-pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_35 = 6;
-pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_35 = 7;
-pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_35 = 8;
+pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_35 = 1;
+pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_35 = 2;
 pub type _bindgen_ty_35 = ::aya_bpf_cty::c_uint;
+pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_36 = 0;
+pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_36 = 1;
+pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_36 = 2;
+pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_36 = 3;
+pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_36 = 4;
+pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_36 = 5;
+pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_36 = 6;
+pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_36 = 7;
+pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_36 = 8;
+pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_fib_lookup {
@@ -2006,10 +2066,10 @@ pub mod bpf_task_fd_type {
     pub const BPF_FD_TYPE_UPROBE: Type = 4;
     pub const BPF_FD_TYPE_URETPROBE: Type = 5;
 }
-pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_36 = 1;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_36 = 2;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_36 = 4;
-pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
+pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_37 = 1;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_37 = 2;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_37 = 4;
+pub type _bindgen_ty_37 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_flow_keys {
@@ -2093,6 +2153,34 @@ impl bpf_dynptr {
     }
 }
 #[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_head {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_head {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_node {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_node {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_sysctl {
     pub write: __u32,
@@ -2304,6 +2392,11 @@ pub struct task_struct {
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub struct cgroup {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct path {
     _unused: [u8; 0],
 }

+ 46 - 8
bpf/aya-bpf-bindings/src/armv7/helpers.rs

@@ -461,12 +461,12 @@ pub unsafe fn bpf_skb_adjust_room(
 }
 pub unsafe fn bpf_redirect_map(
     map: *mut ::aya_bpf_cty::c_void,
-    key: __u32,
+    key: __u64,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         map: *mut ::aya_bpf_cty::c_void,
-        key: __u32,
+        key: __u64,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(51usize);
     fun(map, key, flags)
@@ -2027,28 +2027,28 @@ pub unsafe fn bpf_ringbuf_discard_dynptr(ptr: *mut bpf_dynptr, flags: __u64) {
 pub unsafe fn bpf_dynptr_read(
     dst: *mut ::aya_bpf_cty::c_void,
     len: __u32,
-    src: *mut bpf_dynptr,
+    src: *const bpf_dynptr,
     offset: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         dst: *mut ::aya_bpf_cty::c_void,
         len: __u32,
-        src: *mut bpf_dynptr,
+        src: *const bpf_dynptr,
         offset: __u32,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(201usize);
     fun(dst, len, src, offset, flags)
 }
 pub unsafe fn bpf_dynptr_write(
-    dst: *mut bpf_dynptr,
+    dst: *const bpf_dynptr,
     offset: __u32,
     src: *mut ::aya_bpf_cty::c_void,
     len: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
-        dst: *mut bpf_dynptr,
+        dst: *const bpf_dynptr,
         offset: __u32,
         src: *mut ::aya_bpf_cty::c_void,
         len: __u32,
@@ -2057,12 +2057,12 @@ pub unsafe fn bpf_dynptr_write(
     fun(dst, offset, src, len, flags)
 }
 pub unsafe fn bpf_dynptr_data(
-    ptr: *mut bpf_dynptr,
+    ptr: *const bpf_dynptr,
     offset: __u32,
     len: __u32,
 ) -> *mut ::aya_bpf_cty::c_void {
     let fun: unsafe extern "C" fn(
-        ptr: *mut bpf_dynptr,
+        ptr: *const bpf_dynptr,
         offset: __u32,
         len: __u32,
     ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(203usize);
@@ -2106,3 +2106,41 @@ pub unsafe fn bpf_ktime_get_tai_ns() -> __u64 {
     let fun: unsafe extern "C" fn() -> __u64 = ::core::mem::transmute(208usize);
     fun()
 }
+pub unsafe fn bpf_user_ringbuf_drain(
+    map: *mut ::aya_bpf_cty::c_void,
+    callback_fn: *mut ::aya_bpf_cty::c_void,
+    ctx: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        callback_fn: *mut ::aya_bpf_cty::c_void,
+        ctx: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(209usize);
+    fun(map, callback_fn, ctx, flags)
+}
+pub unsafe fn bpf_cgrp_storage_get(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+    value: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> *mut ::aya_bpf_cty::c_void {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+        value: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(210usize);
+    fun(map, cgroup, value, flags)
+}
+pub unsafe fn bpf_cgrp_storage_delete(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(211usize);
+    fun(map, cgroup)
+}

+ 198 - 105
bpf/aya-bpf-bindings/src/riscv64/bindings.rs

@@ -358,16 +358,40 @@ pub struct bpf_cgroup_storage_key {
     pub cgroup_inode_id: __u64,
     pub attach_type: __u32,
 }
+pub mod bpf_cgroup_iter_order {
+    pub type Type = ::aya_bpf_cty::c_uint;
+    pub const BPF_CGROUP_ITER_ORDER_UNSPEC: Type = 0;
+    pub const BPF_CGROUP_ITER_SELF_ONLY: Type = 1;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: Type = 2;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_POST: Type = 3;
+    pub const BPF_CGROUP_ITER_ANCESTORS_UP: Type = 4;
+}
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_iter_link_info {
     pub map: bpf_iter_link_info__bindgen_ty_1,
+    pub cgroup: bpf_iter_link_info__bindgen_ty_2,
+    pub task: bpf_iter_link_info__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_iter_link_info__bindgen_ty_1 {
     pub map_fd: __u32,
 }
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_2 {
+    pub order: bpf_cgroup_iter_order::Type,
+    pub cgroup_fd: __u32,
+    pub cgroup_id: __u64,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_3 {
+    pub tid: __u32,
+    pub pid: __u32,
+    pub pid_fd: __u32,
+}
 pub mod bpf_cmd {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_MAP_CREATE: Type = 0;
@@ -429,6 +453,7 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_CPUMAP: Type = 16;
     pub const BPF_MAP_TYPE_XSKMAP: Type = 17;
     pub const BPF_MAP_TYPE_SOCKHASH: Type = 18;
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: Type = 19;
     pub const BPF_MAP_TYPE_CGROUP_STORAGE: Type = 19;
     pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: Type = 20;
     pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: Type = 21;
@@ -441,6 +466,8 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_INODE_STORAGE: Type = 28;
     pub const BPF_MAP_TYPE_TASK_STORAGE: Type = 29;
     pub const BPF_MAP_TYPE_BLOOM_FILTER: Type = 30;
+    pub const BPF_MAP_TYPE_USER_RINGBUF: Type = 31;
+    pub const BPF_MAP_TYPE_CGRP_STORAGE: Type = 32;
 }
 pub mod bpf_prog_type {
     pub type Type = ::aya_bpf_cty::c_uint;
@@ -1072,7 +1099,10 @@ pub mod bpf_func_id {
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: Type = 206;
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: Type = 207;
     pub const BPF_FUNC_ktime_get_tai_ns: Type = 208;
-    pub const __BPF_FUNC_MAX_ID: Type = 209;
+    pub const BPF_FUNC_user_ringbuf_drain: Type = 209;
+    pub const BPF_FUNC_cgrp_storage_get: Type = 210;
+    pub const BPF_FUNC_cgrp_storage_delete: Type = 211;
+    pub const __BPF_FUNC_MAX_ID: Type = 212;
 }
 pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_4 = 1;
 pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_4 = 2;
@@ -1096,51 +1126,54 @@ pub type _bindgen_ty_9 = ::aya_bpf_cty::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::aya_bpf_cty::c_ulong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::aya_bpf_cty::c_int;
-pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_13 = 0;
-pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_13 = 1;
-pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_13 = 2;
-pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_13 = 3;
-pub type _bindgen_ty_13 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::aya_bpf_cty::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::aya_bpf_cty::c_ulong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::aya_bpf_cty::c_int;
+pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_14 = 0;
+pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_14 = 1;
+pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_14 = 2;
+pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_14 = 3;
 pub type _bindgen_ty_14 = ::aya_bpf_cty::c_uint;
-pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_15 = 255;
-pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_15 = 56;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
 pub type _bindgen_ty_15 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
+pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_16 = 255;
+pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_16 = 56;
 pub type _bindgen_ty_16 = ::aya_bpf_cty::c_uint;
-pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
-pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
 pub type _bindgen_ty_17 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
+pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
+pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
 pub type _bindgen_ty_18 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_NO_WAKEUP: _bindgen_ty_19 = 1;
-pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_19 = 2;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
 pub type _bindgen_ty_19 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_AVAIL_DATA: _bindgen_ty_20 = 0;
-pub const BPF_RB_RING_SIZE: _bindgen_ty_20 = 1;
-pub const BPF_RB_CONS_POS: _bindgen_ty_20 = 2;
-pub const BPF_RB_PROD_POS: _bindgen_ty_20 = 3;
+pub const BPF_RB_NO_WAKEUP: _bindgen_ty_20 = 1;
+pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_20 = 2;
 pub type _bindgen_ty_20 = ::aya_bpf_cty::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
+pub const BPF_RB_AVAIL_DATA: _bindgen_ty_21 = 0;
+pub const BPF_RB_RING_SIZE: _bindgen_ty_21 = 1;
+pub const BPF_RB_CONS_POS: _bindgen_ty_21 = 2;
+pub const BPF_RB_PROD_POS: _bindgen_ty_21 = 3;
 pub type _bindgen_ty_21 = ::aya_bpf_cty::c_uint;
-pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_22 = 1;
-pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_22 = 2;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
 pub type _bindgen_ty_22 = ::aya_bpf_cty::c_uint;
+pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_23 = 1;
+pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_23 = 2;
+pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
 pub mod bpf_adj_room_mode {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_ADJ_ROOM_NET: Type = 0;
@@ -1157,12 +1190,12 @@ pub mod bpf_lwt_encap_mode {
     pub const BPF_LWT_ENCAP_SEG6_INLINE: Type = 1;
     pub const BPF_LWT_ENCAP_IP: Type = 2;
 }
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_25 {
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_26 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_SKB_TSTAMP_UNSPEC: Type = 0;
     pub const BPF_SKB_TSTAMP_DELIVERY_MONO: Type = 1;
@@ -1249,9 +1282,9 @@ pub struct bpf_tunnel_key {
     pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
     pub tunnel_tos: __u8,
     pub tunnel_ttl: __u8,
-    pub tunnel_ext: __u16,
-    pub tunnel_label: __u32,
     pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
+    pub tunnel_label: __u32,
+    pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1262,6 +1295,12 @@ pub union bpf_tunnel_key__bindgen_ty_1 {
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_tunnel_key__bindgen_ty_2 {
+    pub tunnel_ext: __u16,
+    pub tunnel_flags: __be16,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_tunnel_key__bindgen_ty_3 {
     pub local_ipv4: __u32,
     pub local_ipv6: [__u32; 4usize],
 }
@@ -1286,6 +1325,7 @@ pub mod bpf_ret_code {
     pub const BPF_DROP: Type = 2;
     pub const BPF_REDIRECT: Type = 7;
     pub const BPF_LWT_REROUTE: Type = 128;
+    pub const BPF_FLOW_DISSECTOR_CONTINUE: Type = 129;
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1695,6 +1735,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1708,6 +1749,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
     pub attach_type: __u32,
@@ -1788,6 +1847,7 @@ pub struct bpf_sock_ops {
     pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
     pub skb_len: __u32,
     pub skb_tcp_flags: __u32,
+    pub skb_hwtstamp: __u64,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1838,51 +1898,51 @@ impl bpf_sock_ops__bindgen_ty_4 {
         __bindgen_bitfield_unit
     }
 }
-pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_26 = 1;
-pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_26 = 2;
-pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_26 = 4;
-pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_26 = 8;
-pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 16;
-pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 32;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 64;
-pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_26 = 127;
-pub type _bindgen_ty_26 = ::aya_bpf_cty::c_uint;
-pub const BPF_SOCK_OPS_VOID: _bindgen_ty_27 = 0;
-pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_27 = 1;
-pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_27 = 2;
-pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_27 = 3;
-pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_27 = 4;
-pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_27 = 5;
-pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_27 = 6;
-pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_27 = 7;
-pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_27 = 8;
-pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_27 = 9;
-pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_27 = 10;
-pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_27 = 11;
-pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_27 = 12;
-pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_27 = 13;
-pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_27 = 14;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_27 = 15;
+pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_27 = 1;
+pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_27 = 2;
+pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_27 = 4;
+pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_27 = 8;
+pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 16;
+pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 32;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 64;
+pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_27 = 127;
 pub type _bindgen_ty_27 = ::aya_bpf_cty::c_uint;
-pub const BPF_TCP_ESTABLISHED: _bindgen_ty_28 = 1;
-pub const BPF_TCP_SYN_SENT: _bindgen_ty_28 = 2;
-pub const BPF_TCP_SYN_RECV: _bindgen_ty_28 = 3;
-pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_28 = 4;
-pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_28 = 5;
-pub const BPF_TCP_TIME_WAIT: _bindgen_ty_28 = 6;
-pub const BPF_TCP_CLOSE: _bindgen_ty_28 = 7;
-pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_28 = 8;
-pub const BPF_TCP_LAST_ACK: _bindgen_ty_28 = 9;
-pub const BPF_TCP_LISTEN: _bindgen_ty_28 = 10;
-pub const BPF_TCP_CLOSING: _bindgen_ty_28 = 11;
-pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_28 = 12;
-pub const BPF_TCP_MAX_STATES: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_VOID: _bindgen_ty_28 = 0;
+pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_28 = 1;
+pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_28 = 2;
+pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_28 = 3;
+pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_28 = 4;
+pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_28 = 5;
+pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_28 = 6;
+pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_28 = 7;
+pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_28 = 8;
+pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_28 = 9;
+pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_28 = 10;
+pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_28 = 11;
+pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_28 = 12;
+pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_28 = 14;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_28 = 15;
 pub type _bindgen_ty_28 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_30 {
+pub const BPF_TCP_ESTABLISHED: _bindgen_ty_29 = 1;
+pub const BPF_TCP_SYN_SENT: _bindgen_ty_29 = 2;
+pub const BPF_TCP_SYN_RECV: _bindgen_ty_29 = 3;
+pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_29 = 4;
+pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_29 = 5;
+pub const BPF_TCP_TIME_WAIT: _bindgen_ty_29 = 6;
+pub const BPF_TCP_CLOSE: _bindgen_ty_29 = 7;
+pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_29 = 8;
+pub const BPF_TCP_LAST_ACK: _bindgen_ty_29 = 9;
+pub const BPF_TCP_LISTEN: _bindgen_ty_29 = 10;
+pub const BPF_TCP_CLOSING: _bindgen_ty_29 = 11;
+pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_29 = 12;
+pub const BPF_TCP_MAX_STATES: _bindgen_ty_29 = 13;
+pub type _bindgen_ty_29 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_31 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_LOAD_HDR_OPT_TCP_SYN: Type = 1;
 }
-pub mod _bindgen_ty_31 {
+pub mod _bindgen_ty_32 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: Type = 1;
     pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: Type = 2;
@@ -1894,13 +1954,13 @@ pub struct bpf_perf_event_value {
     pub enabled: __u64,
     pub running: __u64,
 }
-pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_32 = 1;
-pub const BPF_DEVCG_ACC_READ: _bindgen_ty_32 = 2;
-pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_32 = 4;
-pub type _bindgen_ty_32 = ::aya_bpf_cty::c_uint;
-pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_33 = 1;
-pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_33 = 1;
+pub const BPF_DEVCG_ACC_READ: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_33 = 4;
 pub type _bindgen_ty_33 = ::aya_bpf_cty::c_uint;
+pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_34 = 1;
+pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_34 = 2;
+pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_cgroup_dev_ctx {
@@ -1912,19 +1972,19 @@ pub struct bpf_cgroup_dev_ctx {
 pub struct bpf_raw_tracepoint_args {
     pub args: __IncompleteArrayField<__u64>,
 }
-pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_34 = 1;
-pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_34 = 2;
-pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
-pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_35 = 0;
-pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_35 = 1;
-pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_35 = 2;
-pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_35 = 3;
-pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_35 = 4;
-pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_35 = 5;
-pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_35 = 6;
-pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_35 = 7;
-pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_35 = 8;
+pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_35 = 1;
+pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_35 = 2;
 pub type _bindgen_ty_35 = ::aya_bpf_cty::c_uint;
+pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_36 = 0;
+pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_36 = 1;
+pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_36 = 2;
+pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_36 = 3;
+pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_36 = 4;
+pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_36 = 5;
+pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_36 = 6;
+pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_36 = 7;
+pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_36 = 8;
+pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_fib_lookup {
@@ -1998,10 +2058,10 @@ pub mod bpf_task_fd_type {
     pub const BPF_FD_TYPE_UPROBE: Type = 4;
     pub const BPF_FD_TYPE_URETPROBE: Type = 5;
 }
-pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_36 = 1;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_36 = 2;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_36 = 4;
-pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
+pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_37 = 1;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_37 = 2;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_37 = 4;
+pub type _bindgen_ty_37 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_flow_keys {
@@ -2085,6 +2145,34 @@ impl bpf_dynptr {
     }
 }
 #[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_head {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_head {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_node {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_node {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_sysctl {
     pub write: __u32,
@@ -2292,6 +2380,11 @@ pub struct task_struct {
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub struct cgroup {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct path {
     _unused: [u8; 0],
 }

+ 46 - 8
bpf/aya-bpf-bindings/src/riscv64/helpers.rs

@@ -461,12 +461,12 @@ pub unsafe fn bpf_skb_adjust_room(
 }
 pub unsafe fn bpf_redirect_map(
     map: *mut ::aya_bpf_cty::c_void,
-    key: __u32,
+    key: __u64,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         map: *mut ::aya_bpf_cty::c_void,
-        key: __u32,
+        key: __u64,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(51usize);
     fun(map, key, flags)
@@ -2027,28 +2027,28 @@ pub unsafe fn bpf_ringbuf_discard_dynptr(ptr: *mut bpf_dynptr, flags: __u64) {
 pub unsafe fn bpf_dynptr_read(
     dst: *mut ::aya_bpf_cty::c_void,
     len: __u32,
-    src: *mut bpf_dynptr,
+    src: *const bpf_dynptr,
     offset: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         dst: *mut ::aya_bpf_cty::c_void,
         len: __u32,
-        src: *mut bpf_dynptr,
+        src: *const bpf_dynptr,
         offset: __u32,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(201usize);
     fun(dst, len, src, offset, flags)
 }
 pub unsafe fn bpf_dynptr_write(
-    dst: *mut bpf_dynptr,
+    dst: *const bpf_dynptr,
     offset: __u32,
     src: *mut ::aya_bpf_cty::c_void,
     len: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
-        dst: *mut bpf_dynptr,
+        dst: *const bpf_dynptr,
         offset: __u32,
         src: *mut ::aya_bpf_cty::c_void,
         len: __u32,
@@ -2057,12 +2057,12 @@ pub unsafe fn bpf_dynptr_write(
     fun(dst, offset, src, len, flags)
 }
 pub unsafe fn bpf_dynptr_data(
-    ptr: *mut bpf_dynptr,
+    ptr: *const bpf_dynptr,
     offset: __u32,
     len: __u32,
 ) -> *mut ::aya_bpf_cty::c_void {
     let fun: unsafe extern "C" fn(
-        ptr: *mut bpf_dynptr,
+        ptr: *const bpf_dynptr,
         offset: __u32,
         len: __u32,
     ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(203usize);
@@ -2106,3 +2106,41 @@ pub unsafe fn bpf_ktime_get_tai_ns() -> __u64 {
     let fun: unsafe extern "C" fn() -> __u64 = ::core::mem::transmute(208usize);
     fun()
 }
+pub unsafe fn bpf_user_ringbuf_drain(
+    map: *mut ::aya_bpf_cty::c_void,
+    callback_fn: *mut ::aya_bpf_cty::c_void,
+    ctx: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        callback_fn: *mut ::aya_bpf_cty::c_void,
+        ctx: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(209usize);
+    fun(map, callback_fn, ctx, flags)
+}
+pub unsafe fn bpf_cgrp_storage_get(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+    value: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> *mut ::aya_bpf_cty::c_void {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+        value: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(210usize);
+    fun(map, cgroup, value, flags)
+}
+pub unsafe fn bpf_cgrp_storage_delete(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(211usize);
+    fun(map, cgroup)
+}

+ 198 - 105
bpf/aya-bpf-bindings/src/x86_64/bindings.rs

@@ -358,16 +358,40 @@ pub struct bpf_cgroup_storage_key {
     pub cgroup_inode_id: __u64,
     pub attach_type: __u32,
 }
+pub mod bpf_cgroup_iter_order {
+    pub type Type = ::aya_bpf_cty::c_uint;
+    pub const BPF_CGROUP_ITER_ORDER_UNSPEC: Type = 0;
+    pub const BPF_CGROUP_ITER_SELF_ONLY: Type = 1;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_PRE: Type = 2;
+    pub const BPF_CGROUP_ITER_DESCENDANTS_POST: Type = 3;
+    pub const BPF_CGROUP_ITER_ANCESTORS_UP: Type = 4;
+}
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_iter_link_info {
     pub map: bpf_iter_link_info__bindgen_ty_1,
+    pub cgroup: bpf_iter_link_info__bindgen_ty_2,
+    pub task: bpf_iter_link_info__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_iter_link_info__bindgen_ty_1 {
     pub map_fd: __u32,
 }
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_2 {
+    pub order: bpf_cgroup_iter_order::Type,
+    pub cgroup_fd: __u32,
+    pub cgroup_id: __u64,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_iter_link_info__bindgen_ty_3 {
+    pub tid: __u32,
+    pub pid: __u32,
+    pub pid_fd: __u32,
+}
 pub mod bpf_cmd {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_MAP_CREATE: Type = 0;
@@ -429,6 +453,7 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_CPUMAP: Type = 16;
     pub const BPF_MAP_TYPE_XSKMAP: Type = 17;
     pub const BPF_MAP_TYPE_SOCKHASH: Type = 18;
+    pub const BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED: Type = 19;
     pub const BPF_MAP_TYPE_CGROUP_STORAGE: Type = 19;
     pub const BPF_MAP_TYPE_REUSEPORT_SOCKARRAY: Type = 20;
     pub const BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE: Type = 21;
@@ -441,6 +466,8 @@ pub mod bpf_map_type {
     pub const BPF_MAP_TYPE_INODE_STORAGE: Type = 28;
     pub const BPF_MAP_TYPE_TASK_STORAGE: Type = 29;
     pub const BPF_MAP_TYPE_BLOOM_FILTER: Type = 30;
+    pub const BPF_MAP_TYPE_USER_RINGBUF: Type = 31;
+    pub const BPF_MAP_TYPE_CGRP_STORAGE: Type = 32;
 }
 pub mod bpf_prog_type {
     pub type Type = ::aya_bpf_cty::c_uint;
@@ -1072,7 +1099,10 @@ pub mod bpf_func_id {
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv4: Type = 206;
     pub const BPF_FUNC_tcp_raw_check_syncookie_ipv6: Type = 207;
     pub const BPF_FUNC_ktime_get_tai_ns: Type = 208;
-    pub const __BPF_FUNC_MAX_ID: Type = 209;
+    pub const BPF_FUNC_user_ringbuf_drain: Type = 209;
+    pub const BPF_FUNC_cgrp_storage_get: Type = 210;
+    pub const BPF_FUNC_cgrp_storage_delete: Type = 211;
+    pub const __BPF_FUNC_MAX_ID: Type = 212;
 }
 pub const BPF_F_RECOMPUTE_CSUM: _bindgen_ty_4 = 1;
 pub const BPF_F_INVALIDATE_HASH: _bindgen_ty_4 = 2;
@@ -1096,51 +1126,54 @@ pub type _bindgen_ty_9 = ::aya_bpf_cty::c_uint;
 pub const BPF_F_ZERO_CSUM_TX: _bindgen_ty_10 = 2;
 pub const BPF_F_DONT_FRAGMENT: _bindgen_ty_10 = 4;
 pub const BPF_F_SEQ_NUMBER: _bindgen_ty_10 = 8;
+pub const BPF_F_NO_TUNNEL_KEY: _bindgen_ty_10 = 16;
 pub type _bindgen_ty_10 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_INDEX_MASK: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CURRENT_CPU: _bindgen_ty_11 = 4294967295;
-pub const BPF_F_CTXLEN_MASK: _bindgen_ty_11 = 4503595332403200;
-pub type _bindgen_ty_11 = ::aya_bpf_cty::c_ulong;
-pub const BPF_F_CURRENT_NETNS: _bindgen_ty_12 = -1;
-pub type _bindgen_ty_12 = ::aya_bpf_cty::c_int;
-pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_13 = 0;
-pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_13 = 1;
-pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_13 = 2;
-pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_13 = 3;
-pub type _bindgen_ty_13 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_14 = 1;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_14 = 2;
-pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_14 = 4;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_14 = 8;
-pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_14 = 16;
-pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_14 = 32;
-pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_14 = 64;
+pub const BPF_F_TUNINFO_FLAGS: _bindgen_ty_11 = 16;
+pub type _bindgen_ty_11 = ::aya_bpf_cty::c_uint;
+pub const BPF_F_INDEX_MASK: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CURRENT_CPU: _bindgen_ty_12 = 4294967295;
+pub const BPF_F_CTXLEN_MASK: _bindgen_ty_12 = 4503595332403200;
+pub type _bindgen_ty_12 = ::aya_bpf_cty::c_ulong;
+pub const BPF_F_CURRENT_NETNS: _bindgen_ty_13 = -1;
+pub type _bindgen_ty_13 = ::aya_bpf_cty::c_int;
+pub const BPF_CSUM_LEVEL_QUERY: _bindgen_ty_14 = 0;
+pub const BPF_CSUM_LEVEL_INC: _bindgen_ty_14 = 1;
+pub const BPF_CSUM_LEVEL_DEC: _bindgen_ty_14 = 2;
+pub const BPF_CSUM_LEVEL_RESET: _bindgen_ty_14 = 3;
 pub type _bindgen_ty_14 = ::aya_bpf_cty::c_uint;
-pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_15 = 255;
-pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_15 = 56;
+pub const BPF_F_ADJ_ROOM_FIXED_GSO: _bindgen_ty_15 = 1;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV4: _bindgen_ty_15 = 2;
+pub const BPF_F_ADJ_ROOM_ENCAP_L3_IPV6: _bindgen_ty_15 = 4;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_GRE: _bindgen_ty_15 = 8;
+pub const BPF_F_ADJ_ROOM_ENCAP_L4_UDP: _bindgen_ty_15 = 16;
+pub const BPF_F_ADJ_ROOM_NO_CSUM_RESET: _bindgen_ty_15 = 32;
+pub const BPF_F_ADJ_ROOM_ENCAP_L2_ETH: _bindgen_ty_15 = 64;
 pub type _bindgen_ty_15 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_16 = 1;
+pub const BPF_ADJ_ROOM_ENCAP_L2_MASK: _bindgen_ty_16 = 255;
+pub const BPF_ADJ_ROOM_ENCAP_L2_SHIFT: _bindgen_ty_16 = 56;
 pub type _bindgen_ty_16 = ::aya_bpf_cty::c_uint;
-pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
-pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_17 = 1;
+pub const BPF_F_SYSCTL_BASE_NAME: _bindgen_ty_17 = 1;
 pub type _bindgen_ty_17 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_18 = 1;
+pub const BPF_LOCAL_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
+pub const BPF_SK_STORAGE_GET_F_CREATE: _bindgen_ty_18 = 1;
 pub type _bindgen_ty_18 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_NO_WAKEUP: _bindgen_ty_19 = 1;
-pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_19 = 2;
+pub const BPF_F_GET_BRANCH_RECORDS_SIZE: _bindgen_ty_19 = 1;
 pub type _bindgen_ty_19 = ::aya_bpf_cty::c_uint;
-pub const BPF_RB_AVAIL_DATA: _bindgen_ty_20 = 0;
-pub const BPF_RB_RING_SIZE: _bindgen_ty_20 = 1;
-pub const BPF_RB_CONS_POS: _bindgen_ty_20 = 2;
-pub const BPF_RB_PROD_POS: _bindgen_ty_20 = 3;
+pub const BPF_RB_NO_WAKEUP: _bindgen_ty_20 = 1;
+pub const BPF_RB_FORCE_WAKEUP: _bindgen_ty_20 = 2;
 pub type _bindgen_ty_20 = ::aya_bpf_cty::c_uint;
-pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_21 = 2147483648;
-pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_21 = 1073741824;
-pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_21 = 8;
+pub const BPF_RB_AVAIL_DATA: _bindgen_ty_21 = 0;
+pub const BPF_RB_RING_SIZE: _bindgen_ty_21 = 1;
+pub const BPF_RB_CONS_POS: _bindgen_ty_21 = 2;
+pub const BPF_RB_PROD_POS: _bindgen_ty_21 = 3;
 pub type _bindgen_ty_21 = ::aya_bpf_cty::c_uint;
-pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_22 = 1;
-pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_22 = 2;
+pub const BPF_RINGBUF_BUSY_BIT: _bindgen_ty_22 = 2147483648;
+pub const BPF_RINGBUF_DISCARD_BIT: _bindgen_ty_22 = 1073741824;
+pub const BPF_RINGBUF_HDR_SZ: _bindgen_ty_22 = 8;
 pub type _bindgen_ty_22 = ::aya_bpf_cty::c_uint;
+pub const BPF_SK_LOOKUP_F_REPLACE: _bindgen_ty_23 = 1;
+pub const BPF_SK_LOOKUP_F_NO_REUSEPORT: _bindgen_ty_23 = 2;
+pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
 pub mod bpf_adj_room_mode {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_ADJ_ROOM_NET: Type = 0;
@@ -1157,12 +1190,12 @@ pub mod bpf_lwt_encap_mode {
     pub const BPF_LWT_ENCAP_SEG6_INLINE: Type = 1;
     pub const BPF_LWT_ENCAP_IP: Type = 2;
 }
-pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_23 = 1;
-pub type _bindgen_ty_23 = ::aya_bpf_cty::c_uint;
-pub const BPF_F_BROADCAST: _bindgen_ty_24 = 8;
-pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_24 = 16;
+pub const BPF_F_BPRM_SECUREEXEC: _bindgen_ty_24 = 1;
 pub type _bindgen_ty_24 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_25 {
+pub const BPF_F_BROADCAST: _bindgen_ty_25 = 8;
+pub const BPF_F_EXCLUDE_INGRESS: _bindgen_ty_25 = 16;
+pub type _bindgen_ty_25 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_26 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_SKB_TSTAMP_UNSPEC: Type = 0;
     pub const BPF_SKB_TSTAMP_DELIVERY_MONO: Type = 1;
@@ -1249,9 +1282,9 @@ pub struct bpf_tunnel_key {
     pub __bindgen_anon_1: bpf_tunnel_key__bindgen_ty_1,
     pub tunnel_tos: __u8,
     pub tunnel_ttl: __u8,
-    pub tunnel_ext: __u16,
-    pub tunnel_label: __u32,
     pub __bindgen_anon_2: bpf_tunnel_key__bindgen_ty_2,
+    pub tunnel_label: __u32,
+    pub __bindgen_anon_3: bpf_tunnel_key__bindgen_ty_3,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1262,6 +1295,12 @@ pub union bpf_tunnel_key__bindgen_ty_1 {
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub union bpf_tunnel_key__bindgen_ty_2 {
+    pub tunnel_ext: __u16,
+    pub tunnel_flags: __be16,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union bpf_tunnel_key__bindgen_ty_3 {
     pub local_ipv4: __u32,
     pub local_ipv6: [__u32; 4usize],
 }
@@ -1286,6 +1325,7 @@ pub mod bpf_ret_code {
     pub const BPF_DROP: Type = 2;
     pub const BPF_REDIRECT: Type = 7;
     pub const BPF_LWT_REROUTE: Type = 128;
+    pub const BPF_FLOW_DISSECTOR_CONTINUE: Type = 129;
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1695,6 +1735,7 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4 {
     pub target_name: __u64,
     pub target_name_len: __u32,
     pub __bindgen_anon_1: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1,
+    pub __bindgen_anon_2: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1708,6 +1749,24 @@ pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub union bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2 {
+    pub cgroup: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1,
+    pub task: bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_1 {
+    pub cgroup_id: __u64,
+    pub order: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_4__bindgen_ty_2__bindgen_ty_2 {
+    pub tid: __u32,
+    pub pid: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct bpf_link_info__bindgen_ty_1__bindgen_ty_5 {
     pub netns_ino: __u32,
     pub attach_type: __u32,
@@ -1788,6 +1847,7 @@ pub struct bpf_sock_ops {
     pub __bindgen_anon_4: bpf_sock_ops__bindgen_ty_4,
     pub skb_len: __u32,
     pub skb_tcp_flags: __u32,
+    pub skb_hwtstamp: __u64,
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
@@ -1838,51 +1898,51 @@ impl bpf_sock_ops__bindgen_ty_4 {
         __bindgen_bitfield_unit
     }
 }
-pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_26 = 1;
-pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_26 = 2;
-pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_26 = 4;
-pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_26 = 8;
-pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 16;
-pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 32;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_26 = 64;
-pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_26 = 127;
-pub type _bindgen_ty_26 = ::aya_bpf_cty::c_uint;
-pub const BPF_SOCK_OPS_VOID: _bindgen_ty_27 = 0;
-pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_27 = 1;
-pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_27 = 2;
-pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_27 = 3;
-pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_27 = 4;
-pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_27 = 5;
-pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_27 = 6;
-pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_27 = 7;
-pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_27 = 8;
-pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_27 = 9;
-pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_27 = 10;
-pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_27 = 11;
-pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_27 = 12;
-pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_27 = 13;
-pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_27 = 14;
-pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_27 = 15;
+pub const BPF_SOCK_OPS_RTO_CB_FLAG: _bindgen_ty_27 = 1;
+pub const BPF_SOCK_OPS_RETRANS_CB_FLAG: _bindgen_ty_27 = 2;
+pub const BPF_SOCK_OPS_STATE_CB_FLAG: _bindgen_ty_27 = 4;
+pub const BPF_SOCK_OPS_RTT_CB_FLAG: _bindgen_ty_27 = 8;
+pub const BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 16;
+pub const BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 32;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG: _bindgen_ty_27 = 64;
+pub const BPF_SOCK_OPS_ALL_CB_FLAGS: _bindgen_ty_27 = 127;
 pub type _bindgen_ty_27 = ::aya_bpf_cty::c_uint;
-pub const BPF_TCP_ESTABLISHED: _bindgen_ty_28 = 1;
-pub const BPF_TCP_SYN_SENT: _bindgen_ty_28 = 2;
-pub const BPF_TCP_SYN_RECV: _bindgen_ty_28 = 3;
-pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_28 = 4;
-pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_28 = 5;
-pub const BPF_TCP_TIME_WAIT: _bindgen_ty_28 = 6;
-pub const BPF_TCP_CLOSE: _bindgen_ty_28 = 7;
-pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_28 = 8;
-pub const BPF_TCP_LAST_ACK: _bindgen_ty_28 = 9;
-pub const BPF_TCP_LISTEN: _bindgen_ty_28 = 10;
-pub const BPF_TCP_CLOSING: _bindgen_ty_28 = 11;
-pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_28 = 12;
-pub const BPF_TCP_MAX_STATES: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_VOID: _bindgen_ty_28 = 0;
+pub const BPF_SOCK_OPS_TIMEOUT_INIT: _bindgen_ty_28 = 1;
+pub const BPF_SOCK_OPS_RWND_INIT: _bindgen_ty_28 = 2;
+pub const BPF_SOCK_OPS_TCP_CONNECT_CB: _bindgen_ty_28 = 3;
+pub const BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: _bindgen_ty_28 = 4;
+pub const BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB: _bindgen_ty_28 = 5;
+pub const BPF_SOCK_OPS_NEEDS_ECN: _bindgen_ty_28 = 6;
+pub const BPF_SOCK_OPS_BASE_RTT: _bindgen_ty_28 = 7;
+pub const BPF_SOCK_OPS_RTO_CB: _bindgen_ty_28 = 8;
+pub const BPF_SOCK_OPS_RETRANS_CB: _bindgen_ty_28 = 9;
+pub const BPF_SOCK_OPS_STATE_CB: _bindgen_ty_28 = 10;
+pub const BPF_SOCK_OPS_TCP_LISTEN_CB: _bindgen_ty_28 = 11;
+pub const BPF_SOCK_OPS_RTT_CB: _bindgen_ty_28 = 12;
+pub const BPF_SOCK_OPS_PARSE_HDR_OPT_CB: _bindgen_ty_28 = 13;
+pub const BPF_SOCK_OPS_HDR_OPT_LEN_CB: _bindgen_ty_28 = 14;
+pub const BPF_SOCK_OPS_WRITE_HDR_OPT_CB: _bindgen_ty_28 = 15;
 pub type _bindgen_ty_28 = ::aya_bpf_cty::c_uint;
-pub mod _bindgen_ty_30 {
+pub const BPF_TCP_ESTABLISHED: _bindgen_ty_29 = 1;
+pub const BPF_TCP_SYN_SENT: _bindgen_ty_29 = 2;
+pub const BPF_TCP_SYN_RECV: _bindgen_ty_29 = 3;
+pub const BPF_TCP_FIN_WAIT1: _bindgen_ty_29 = 4;
+pub const BPF_TCP_FIN_WAIT2: _bindgen_ty_29 = 5;
+pub const BPF_TCP_TIME_WAIT: _bindgen_ty_29 = 6;
+pub const BPF_TCP_CLOSE: _bindgen_ty_29 = 7;
+pub const BPF_TCP_CLOSE_WAIT: _bindgen_ty_29 = 8;
+pub const BPF_TCP_LAST_ACK: _bindgen_ty_29 = 9;
+pub const BPF_TCP_LISTEN: _bindgen_ty_29 = 10;
+pub const BPF_TCP_CLOSING: _bindgen_ty_29 = 11;
+pub const BPF_TCP_NEW_SYN_RECV: _bindgen_ty_29 = 12;
+pub const BPF_TCP_MAX_STATES: _bindgen_ty_29 = 13;
+pub type _bindgen_ty_29 = ::aya_bpf_cty::c_uint;
+pub mod _bindgen_ty_31 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_LOAD_HDR_OPT_TCP_SYN: Type = 1;
 }
-pub mod _bindgen_ty_31 {
+pub mod _bindgen_ty_32 {
     pub type Type = ::aya_bpf_cty::c_uint;
     pub const BPF_WRITE_HDR_TCP_CURRENT_MSS: Type = 1;
     pub const BPF_WRITE_HDR_TCP_SYNACK_COOKIE: Type = 2;
@@ -1894,13 +1954,13 @@ pub struct bpf_perf_event_value {
     pub enabled: __u64,
     pub running: __u64,
 }
-pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_32 = 1;
-pub const BPF_DEVCG_ACC_READ: _bindgen_ty_32 = 2;
-pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_32 = 4;
-pub type _bindgen_ty_32 = ::aya_bpf_cty::c_uint;
-pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_33 = 1;
-pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_MKNOD: _bindgen_ty_33 = 1;
+pub const BPF_DEVCG_ACC_READ: _bindgen_ty_33 = 2;
+pub const BPF_DEVCG_ACC_WRITE: _bindgen_ty_33 = 4;
 pub type _bindgen_ty_33 = ::aya_bpf_cty::c_uint;
+pub const BPF_DEVCG_DEV_BLOCK: _bindgen_ty_34 = 1;
+pub const BPF_DEVCG_DEV_CHAR: _bindgen_ty_34 = 2;
+pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_cgroup_dev_ctx {
@@ -1912,19 +1972,19 @@ pub struct bpf_cgroup_dev_ctx {
 pub struct bpf_raw_tracepoint_args {
     pub args: __IncompleteArrayField<__u64>,
 }
-pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_34 = 1;
-pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_34 = 2;
-pub type _bindgen_ty_34 = ::aya_bpf_cty::c_uint;
-pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_35 = 0;
-pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_35 = 1;
-pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_35 = 2;
-pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_35 = 3;
-pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_35 = 4;
-pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_35 = 5;
-pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_35 = 6;
-pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_35 = 7;
-pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_35 = 8;
+pub const BPF_FIB_LOOKUP_DIRECT: _bindgen_ty_35 = 1;
+pub const BPF_FIB_LOOKUP_OUTPUT: _bindgen_ty_35 = 2;
 pub type _bindgen_ty_35 = ::aya_bpf_cty::c_uint;
+pub const BPF_FIB_LKUP_RET_SUCCESS: _bindgen_ty_36 = 0;
+pub const BPF_FIB_LKUP_RET_BLACKHOLE: _bindgen_ty_36 = 1;
+pub const BPF_FIB_LKUP_RET_UNREACHABLE: _bindgen_ty_36 = 2;
+pub const BPF_FIB_LKUP_RET_PROHIBIT: _bindgen_ty_36 = 3;
+pub const BPF_FIB_LKUP_RET_NOT_FWDED: _bindgen_ty_36 = 4;
+pub const BPF_FIB_LKUP_RET_FWD_DISABLED: _bindgen_ty_36 = 5;
+pub const BPF_FIB_LKUP_RET_UNSUPP_LWT: _bindgen_ty_36 = 6;
+pub const BPF_FIB_LKUP_RET_NO_NEIGH: _bindgen_ty_36 = 7;
+pub const BPF_FIB_LKUP_RET_FRAG_NEEDED: _bindgen_ty_36 = 8;
+pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_fib_lookup {
@@ -1998,10 +2058,10 @@ pub mod bpf_task_fd_type {
     pub const BPF_FD_TYPE_UPROBE: Type = 4;
     pub const BPF_FD_TYPE_URETPROBE: Type = 5;
 }
-pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_36 = 1;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_36 = 2;
-pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_36 = 4;
-pub type _bindgen_ty_36 = ::aya_bpf_cty::c_uint;
+pub const BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG: _bindgen_ty_37 = 1;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL: _bindgen_ty_37 = 2;
+pub const BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP: _bindgen_ty_37 = 4;
+pub type _bindgen_ty_37 = ::aya_bpf_cty::c_uint;
 #[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_flow_keys {
@@ -2085,6 +2145,34 @@ impl bpf_dynptr {
     }
 }
 #[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_head {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_head {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
+#[repr(align(8))]
+#[derive(Copy, Clone)]
+pub struct bpf_list_node {
+    pub _bitfield_align_1: [u8; 0],
+    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
+}
+impl bpf_list_node {
+    #[inline]
+    pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
+        __bindgen_bitfield_unit
+    }
+}
+#[repr(C)]
 #[derive(Copy, Clone)]
 pub struct bpf_sysctl {
     pub write: __u32,
@@ -2312,6 +2400,11 @@ pub struct task_struct {
 }
 #[repr(C)]
 #[derive(Copy, Clone)]
+pub struct cgroup {
+    _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
 pub struct path {
     _unused: [u8; 0],
 }

+ 46 - 8
bpf/aya-bpf-bindings/src/x86_64/helpers.rs

@@ -461,12 +461,12 @@ pub unsafe fn bpf_skb_adjust_room(
 }
 pub unsafe fn bpf_redirect_map(
     map: *mut ::aya_bpf_cty::c_void,
-    key: __u32,
+    key: __u64,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         map: *mut ::aya_bpf_cty::c_void,
-        key: __u32,
+        key: __u64,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(51usize);
     fun(map, key, flags)
@@ -2027,28 +2027,28 @@ pub unsafe fn bpf_ringbuf_discard_dynptr(ptr: *mut bpf_dynptr, flags: __u64) {
 pub unsafe fn bpf_dynptr_read(
     dst: *mut ::aya_bpf_cty::c_void,
     len: __u32,
-    src: *mut bpf_dynptr,
+    src: *const bpf_dynptr,
     offset: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
         dst: *mut ::aya_bpf_cty::c_void,
         len: __u32,
-        src: *mut bpf_dynptr,
+        src: *const bpf_dynptr,
         offset: __u32,
         flags: __u64,
     ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(201usize);
     fun(dst, len, src, offset, flags)
 }
 pub unsafe fn bpf_dynptr_write(
-    dst: *mut bpf_dynptr,
+    dst: *const bpf_dynptr,
     offset: __u32,
     src: *mut ::aya_bpf_cty::c_void,
     len: __u32,
     flags: __u64,
 ) -> ::aya_bpf_cty::c_long {
     let fun: unsafe extern "C" fn(
-        dst: *mut bpf_dynptr,
+        dst: *const bpf_dynptr,
         offset: __u32,
         src: *mut ::aya_bpf_cty::c_void,
         len: __u32,
@@ -2057,12 +2057,12 @@ pub unsafe fn bpf_dynptr_write(
     fun(dst, offset, src, len, flags)
 }
 pub unsafe fn bpf_dynptr_data(
-    ptr: *mut bpf_dynptr,
+    ptr: *const bpf_dynptr,
     offset: __u32,
     len: __u32,
 ) -> *mut ::aya_bpf_cty::c_void {
     let fun: unsafe extern "C" fn(
-        ptr: *mut bpf_dynptr,
+        ptr: *const bpf_dynptr,
         offset: __u32,
         len: __u32,
     ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(203usize);
@@ -2106,3 +2106,41 @@ pub unsafe fn bpf_ktime_get_tai_ns() -> __u64 {
     let fun: unsafe extern "C" fn() -> __u64 = ::core::mem::transmute(208usize);
     fun()
 }
+pub unsafe fn bpf_user_ringbuf_drain(
+    map: *mut ::aya_bpf_cty::c_void,
+    callback_fn: *mut ::aya_bpf_cty::c_void,
+    ctx: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        callback_fn: *mut ::aya_bpf_cty::c_void,
+        ctx: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(209usize);
+    fun(map, callback_fn, ctx, flags)
+}
+pub unsafe fn bpf_cgrp_storage_get(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+    value: *mut ::aya_bpf_cty::c_void,
+    flags: __u64,
+) -> *mut ::aya_bpf_cty::c_void {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+        value: *mut ::aya_bpf_cty::c_void,
+        flags: __u64,
+    ) -> *mut ::aya_bpf_cty::c_void = ::core::mem::transmute(210usize);
+    fun(map, cgroup, value, flags)
+}
+pub unsafe fn bpf_cgrp_storage_delete(
+    map: *mut ::aya_bpf_cty::c_void,
+    cgroup: *mut cgroup,
+) -> ::aya_bpf_cty::c_long {
+    let fun: unsafe extern "C" fn(
+        map: *mut ::aya_bpf_cty::c_void,
+        cgroup: *mut cgroup,
+    ) -> ::aya_bpf_cty::c_long = ::core::mem::transmute(211usize);
+    fun(map, cgroup)
+}