aya: allow specifying a pin path for a named map

This commit extends the EbpfLoader with set_map_pin_path that allows the
caller to associate a named map with a pin path.

One note is that this path is an absolute path, not relative to
`map_pin_path`, and it forces the map to be loaded from that path.
reviewable/pr1318/r15
Ershaad Basheer 3 months ago committed by Andrew Werner
parent 30182463bd
commit 092622e872

@ -119,7 +119,13 @@ pub struct EbpfLoader<'a> {
btf: Option<Cow<'a, Btf>>,
map_pin_path: Option<PathBuf>,
globals: HashMap<&'a str, (&'a [u8], bool)>,
// Max entries overrides the max_entries field of the map that matches the provided name
// before the map is created.
max_entries: HashMap<&'a str, u32>,
// Map pin path overrides the pin path of the map that matches the provided name before
// it is created.
map_pin_path_by_name: HashMap<&'a str, std::borrow::Cow<'a, Path>>,
extensions: HashSet<&'a str>,
verifier_log_level: VerifierLogLevel,
allow_unsupported_maps: bool,
@ -158,6 +164,7 @@ impl<'a> EbpfLoader<'a> {
map_pin_path: None,
globals: HashMap::new(),
max_entries: HashMap::new(),
map_pin_path_by_name: HashMap::new(),
extensions: HashSet::new(),
verifier_log_level: VerifierLogLevel::default(),
allow_unsupported_maps: false,
@ -301,6 +308,32 @@ impl<'a> EbpfLoader<'a> {
self
}
/// Set the pin path for the map that matches the provided name.
///
/// Note that this is an absolute path to the pinned map; it is not a prefix
/// to be combined with the map name, and it is not relative to the
/// configured base directory for pinned maps.
///
/// # Example
///
/// ```no_run
/// use aya::EbpfLoader;
///
/// let bpf = EbpfLoader::new()
/// .set_map_pin_path("map", "/sys/fs/bpf/my-pinned-map")
/// .load_file("file.o")?;
/// # Ok::<(), aya::EbpfError>(())
/// ```
///
pub fn set_map_pin_path<P: Into<Cow<'a, Path>>>(
&mut self,
name: &'a str,
path: P,
) -> &mut Self {
self.map_pin_path_by_name.insert(name, path.into());
self
}
/// Treat the provided program as an [`Extension`]
///
/// When attempting to load the program with the provided `name`
@ -384,6 +417,7 @@ impl<'a> EbpfLoader<'a> {
extensions,
verifier_log_level,
allow_unsupported_maps,
map_pin_path_by_name,
} = self;
let mut obj = Object::parse(data)?;
obj.patch_map_data(globals.clone())?;
@ -483,7 +517,10 @@ impl<'a> EbpfLoader<'a> {
_ => (),
}
let btf_fd = btf_fd.as_deref().map(|fd| fd.as_fd());
let mut map = match obj.pinning() {
let mut map = if let Some(pin_path) = map_pin_path_by_name.get(name.as_str()) {
MapData::create_pinned_by_name(pin_path, obj, &name, btf_fd)?
} else {
match obj.pinning() {
PinningType::None => MapData::create(obj, &name, btf_fd)?,
PinningType::ByName => {
// pin maps in /sys/fs/bpf by default to align with libbpf
@ -491,9 +528,11 @@ impl<'a> EbpfLoader<'a> {
let path = map_pin_path
.as_deref()
.unwrap_or_else(|| Path::new("/sys/fs/bpf"));
let path = path.join(&name);
MapData::create_pinned_by_name(path, obj, &name, btf_fd)?
}
}
};
map.finalize()?;
maps.insert(name, map);

@ -649,13 +649,16 @@ impl MapData {
use std::os::unix::ffi::OsStrExt as _;
// try to open map in case it's already pinned
let path = path.as_ref().join(name);
let path = path.as_ref();
let path_string = match CString::new(path.as_os_str().as_bytes()) {
Ok(path) => path,
Err(error) => {
return Err(MapError::PinError {
name: Some(name.into()),
error: PinError::InvalidPinPath { path, error },
error: PinError::InvalidPinPath {
path: path.to_path_buf(),
error,
},
});
}
};

@ -6173,27 +6173,6 @@ pub unsafe fn aya_ebpf_bindings::bindings::path::clone_to_uninit(&self, dest: *m
impl<T> core::convert::From<T> for aya_ebpf_bindings::bindings::path
pub fn aya_ebpf_bindings::bindings::path::from(t: T) -> T
#[repr(C)] pub struct aya_ebpf_bindings::bindings::pt_regs
pub aya_ebpf_bindings::bindings::pt_regs::cs: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::eflags: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::orig_rax: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r10: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r11: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r12: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r13: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r14: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r15: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r8: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::r9: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rax: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rbp: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rbx: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rcx: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rdi: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rdx: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rip: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rsi: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::rsp: aya_ebpf_cty::od::c_ulong
pub aya_ebpf_bindings::bindings::pt_regs::ss: aya_ebpf_cty::od::c_ulong
impl core::clone::Clone for aya_ebpf_bindings::bindings::pt_regs
pub fn aya_ebpf_bindings::bindings::pt_regs::clone(&self) -> aya_ebpf_bindings::bindings::pt_regs
impl core::fmt::Debug for aya_ebpf_bindings::bindings::pt_regs
@ -6631,6 +6610,40 @@ impl<T> core::clone::CloneToUninit for aya_ebpf_bindings::bindings::unix_sock wh
pub unsafe fn aya_ebpf_bindings::bindings::unix_sock::clone_to_uninit(&self, dest: *mut u8)
impl<T> core::convert::From<T> for aya_ebpf_bindings::bindings::unix_sock
pub fn aya_ebpf_bindings::bindings::unix_sock::from(t: T) -> T
#[repr(C)] pub struct aya_ebpf_bindings::bindings::user_pt_regs
pub aya_ebpf_bindings::bindings::user_pt_regs::pc: aya_ebpf_bindings::bindings::__u64
pub aya_ebpf_bindings::bindings::user_pt_regs::pstate: aya_ebpf_bindings::bindings::__u64
pub aya_ebpf_bindings::bindings::user_pt_regs::regs: [aya_ebpf_bindings::bindings::__u64; 31]
pub aya_ebpf_bindings::bindings::user_pt_regs::sp: aya_ebpf_bindings::bindings::__u64
impl core::clone::Clone for aya_ebpf_bindings::bindings::user_pt_regs
pub fn aya_ebpf_bindings::bindings::user_pt_regs::clone(&self) -> aya_ebpf_bindings::bindings::user_pt_regs
impl core::fmt::Debug for aya_ebpf_bindings::bindings::user_pt_regs
pub fn aya_ebpf_bindings::bindings::user_pt_regs::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
impl core::marker::Copy for aya_ebpf_bindings::bindings::user_pt_regs
impl core::marker::Freeze for aya_ebpf_bindings::bindings::user_pt_regs
impl core::marker::Send for aya_ebpf_bindings::bindings::user_pt_regs
impl core::marker::Sync for aya_ebpf_bindings::bindings::user_pt_regs
impl core::marker::Unpin for aya_ebpf_bindings::bindings::user_pt_regs
impl core::panic::unwind_safe::RefUnwindSafe for aya_ebpf_bindings::bindings::user_pt_regs
impl core::panic::unwind_safe::UnwindSafe for aya_ebpf_bindings::bindings::user_pt_regs
impl<T, U> core::convert::Into<U> for aya_ebpf_bindings::bindings::user_pt_regs where U: core::convert::From<T>
pub fn aya_ebpf_bindings::bindings::user_pt_regs::into(self) -> U
impl<T, U> core::convert::TryFrom<U> for aya_ebpf_bindings::bindings::user_pt_regs where U: core::convert::Into<T>
pub type aya_ebpf_bindings::bindings::user_pt_regs::Error = core::convert::Infallible
pub fn aya_ebpf_bindings::bindings::user_pt_regs::try_from(value: U) -> core::result::Result<T, <T as core::convert::TryFrom<U>>::Error>
impl<T, U> core::convert::TryInto<U> for aya_ebpf_bindings::bindings::user_pt_regs where U: core::convert::TryFrom<T>
pub type aya_ebpf_bindings::bindings::user_pt_regs::Error = <U as core::convert::TryFrom<T>>::Error
pub fn aya_ebpf_bindings::bindings::user_pt_regs::try_into(self) -> core::result::Result<U, <U as core::convert::TryFrom<T>>::Error>
impl<T> core::any::Any for aya_ebpf_bindings::bindings::user_pt_regs where T: 'static + ?core::marker::Sized
pub fn aya_ebpf_bindings::bindings::user_pt_regs::type_id(&self) -> core::any::TypeId
impl<T> core::borrow::Borrow<T> for aya_ebpf_bindings::bindings::user_pt_regs where T: ?core::marker::Sized
pub fn aya_ebpf_bindings::bindings::user_pt_regs::borrow(&self) -> &T
impl<T> core::borrow::BorrowMut<T> for aya_ebpf_bindings::bindings::user_pt_regs where T: ?core::marker::Sized
pub fn aya_ebpf_bindings::bindings::user_pt_regs::borrow_mut(&mut self) -> &mut T
impl<T> core::clone::CloneToUninit for aya_ebpf_bindings::bindings::user_pt_regs where T: core::clone::Clone
pub unsafe fn aya_ebpf_bindings::bindings::user_pt_regs::clone_to_uninit(&self, dest: *mut u8)
impl<T> core::convert::From<T> for aya_ebpf_bindings::bindings::user_pt_regs
pub fn aya_ebpf_bindings::bindings::user_pt_regs::from(t: T) -> T
#[repr(C)] pub struct aya_ebpf_bindings::bindings::xdp_md
pub aya_ebpf_bindings::bindings::xdp_md::data: aya_ebpf_bindings::bindings::__u32
pub aya_ebpf_bindings::bindings::xdp_md::data_end: aya_ebpf_bindings::bindings::__u32

@ -1,5 +1,5 @@
pub mod aya_ebpf_cty
pub type aya_ebpf_cty::c_char = aya_ebpf_cty::c_schar
pub type aya_ebpf_cty::c_char = aya_ebpf_cty::c_uchar
pub type aya_ebpf_cty::c_double = f64
pub type aya_ebpf_cty::c_float = f32
pub type aya_ebpf_cty::c_int = i32

@ -654,7 +654,7 @@ pub const fn aya_ebpf::maps::sock_hash::SockHash<K>::pinned(max_entries: u32, fl
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::redirect_msg(&self, ctx: &aya_ebpf::programs::sk_msg::SkMsgContext, key: &mut K, flags: u64) -> i64
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::redirect_sk_lookup(&mut self, ctx: &aya_ebpf::programs::sk_lookup::SkLookupContext, key: impl core::borrow::Borrow<K>, flags: u64) -> core::result::Result<(), u32>
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::redirect_skb(&self, ctx: &aya_ebpf::programs::sk_buff::SkBuffContext, key: &mut K, flags: u64) -> i64
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::update(&self, key: &mut K, sk_ops: &mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::update(&self, key: &mut K, sk_ops: &mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub const fn aya_ebpf::maps::sock_hash::SockHash<K>::with_max_entries(max_entries: u32, flags: u32) -> aya_ebpf::maps::sock_hash::SockHash<K>
impl<K: core::marker::Sync> core::marker::Sync for aya_ebpf::maps::sock_hash::SockHash<K>
impl<K> !core::marker::Freeze for aya_ebpf::maps::sock_hash::SockHash<K>
@ -685,7 +685,7 @@ pub const fn aya_ebpf::maps::sock_map::SockMap::pinned(max_entries: u32, flags:
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::redirect_msg(&self, ctx: &aya_ebpf::programs::sk_msg::SkMsgContext, index: u32, flags: u64) -> i64
pub fn aya_ebpf::maps::sock_map::SockMap::redirect_sk_lookup(&mut self, ctx: &aya_ebpf::programs::sk_lookup::SkLookupContext, index: u32, flags: u64) -> core::result::Result<(), u32>
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::redirect_skb(&self, ctx: &aya_ebpf::programs::sk_buff::SkBuffContext, index: u32, flags: u64) -> i64
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::update(&self, index: u32, sk_ops: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::update(&self, index: u32, sk_ops: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub const fn aya_ebpf::maps::sock_map::SockMap::with_max_entries(max_entries: u32, flags: u32) -> aya_ebpf::maps::sock_map::SockMap
impl core::marker::Sync for aya_ebpf::maps::sock_map::SockMap
impl !core::marker::Freeze for aya_ebpf::maps::sock_map::SockMap
@ -1350,7 +1350,7 @@ pub const fn aya_ebpf::maps::sock_hash::SockHash<K>::pinned(max_entries: u32, fl
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::redirect_msg(&self, ctx: &aya_ebpf::programs::sk_msg::SkMsgContext, key: &mut K, flags: u64) -> i64
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::redirect_sk_lookup(&mut self, ctx: &aya_ebpf::programs::sk_lookup::SkLookupContext, key: impl core::borrow::Borrow<K>, flags: u64) -> core::result::Result<(), u32>
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::redirect_skb(&self, ctx: &aya_ebpf::programs::sk_buff::SkBuffContext, key: &mut K, flags: u64) -> i64
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::update(&self, key: &mut K, sk_ops: &mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub fn aya_ebpf::maps::sock_hash::SockHash<K>::update(&self, key: &mut K, sk_ops: &mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub const fn aya_ebpf::maps::sock_hash::SockHash<K>::with_max_entries(max_entries: u32, flags: u32) -> aya_ebpf::maps::sock_hash::SockHash<K>
impl<K: core::marker::Sync> core::marker::Sync for aya_ebpf::maps::sock_hash::SockHash<K>
impl<K> !core::marker::Freeze for aya_ebpf::maps::sock_hash::SockHash<K>
@ -1380,7 +1380,7 @@ pub const fn aya_ebpf::maps::sock_map::SockMap::pinned(max_entries: u32, flags:
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::redirect_msg(&self, ctx: &aya_ebpf::programs::sk_msg::SkMsgContext, index: u32, flags: u64) -> i64
pub fn aya_ebpf::maps::sock_map::SockMap::redirect_sk_lookup(&mut self, ctx: &aya_ebpf::programs::sk_lookup::SkLookupContext, index: u32, flags: u64) -> core::result::Result<(), u32>
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::redirect_skb(&self, ctx: &aya_ebpf::programs::sk_buff::SkBuffContext, index: u32, flags: u64) -> i64
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::update(&self, index: u32, sk_ops: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub unsafe fn aya_ebpf::maps::sock_map::SockMap::update(&self, index: u32, sk_ops: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops, flags: u64) -> core::result::Result<(), i64>
pub const fn aya_ebpf::maps::sock_map::SockMap::with_max_entries(max_entries: u32, flags: u32) -> aya_ebpf::maps::sock_map::SockMap
impl core::marker::Sync for aya_ebpf::maps::sock_map::SockMap
impl !core::marker::Freeze for aya_ebpf::maps::sock_map::SockMap
@ -1491,9 +1491,9 @@ pub fn aya_ebpf::maps::XskMap::from(t: T) -> T
pub mod aya_ebpf::programs
pub mod aya_ebpf::programs::device
pub struct aya_ebpf::programs::device::DeviceContext
pub aya_ebpf::programs::device::DeviceContext::device: *mut aya_ebpf_bindings::x86_64::bindings::bpf_cgroup_dev_ctx
pub aya_ebpf::programs::device::DeviceContext::device: *mut aya_ebpf_bindings::aarch64::bindings::bpf_cgroup_dev_ctx
impl aya_ebpf::programs::device::DeviceContext
pub fn aya_ebpf::programs::device::DeviceContext::new(device: *mut aya_ebpf_bindings::x86_64::bindings::bpf_cgroup_dev_ctx) -> aya_ebpf::programs::device::DeviceContext
pub fn aya_ebpf::programs::device::DeviceContext::new(device: *mut aya_ebpf_bindings::aarch64::bindings::bpf_cgroup_dev_ctx) -> aya_ebpf::programs::device::DeviceContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::device::DeviceContext
pub fn aya_ebpf::programs::device::DeviceContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::device::DeviceContext
@ -1581,9 +1581,9 @@ pub struct aya_ebpf::programs::flow_dissector::FlowDissectorContext
impl aya_ebpf::programs::flow_dissector::FlowDissectorContext
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::data(&self) -> usize
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::data_end(&self) -> usize
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::flow_keys(&mut self) -> &mut aya_ebpf_bindings::x86_64::bindings::bpf_flow_keys
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::flow_keys(&mut self) -> &mut aya_ebpf_bindings::aarch64::bindings::bpf_flow_keys
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::load_bytes(&self, offset: usize, dst: &mut [u8]) -> core::result::Result<usize, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::flow_dissector::FlowDissectorContext
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::flow_dissector::FlowDissectorContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::flow_dissector::FlowDissectorContext
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::as_ptr(&self) -> *mut aya_ebpf_cty::c_void
impl core::marker::Freeze for aya_ebpf::programs::flow_dissector::FlowDissectorContext
@ -1667,7 +1667,7 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::perf_event::PerfEventCont
pub fn aya_ebpf::programs::perf_event::PerfEventContext::from(t: T) -> T
pub mod aya_ebpf::programs::probe
pub struct aya_ebpf::programs::probe::ProbeContext
pub aya_ebpf::programs::probe::ProbeContext::regs: *mut aya_ebpf_bindings::x86_64::bindings::pt_regs
pub aya_ebpf::programs::probe::ProbeContext::regs: *mut aya_ebpf_bindings::aarch64::bindings::user_pt_regs
impl aya_ebpf::programs::probe::ProbeContext
pub fn aya_ebpf::programs::probe::ProbeContext::arg<T: aya_ebpf::args::FromPtRegs>(&self, n: usize) -> core::option::Option<T>
pub fn aya_ebpf::programs::probe::ProbeContext::new(ctx: *mut core::ffi::c_void) -> aya_ebpf::programs::probe::ProbeContext
@ -1726,7 +1726,7 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::raw_tracepoint::RawTraceP
pub fn aya_ebpf::programs::raw_tracepoint::RawTracePointContext::from(t: T) -> T
pub mod aya_ebpf::programs::retprobe
pub struct aya_ebpf::programs::retprobe::RetProbeContext
pub aya_ebpf::programs::retprobe::RetProbeContext::regs: *mut aya_ebpf_bindings::x86_64::bindings::pt_regs
pub aya_ebpf::programs::retprobe::RetProbeContext::regs: *mut aya_ebpf_bindings::aarch64::bindings::user_pt_regs
impl aya_ebpf::programs::retprobe::RetProbeContext
pub fn aya_ebpf::programs::retprobe::RetProbeContext::new(ctx: *mut core::ffi::c_void) -> aya_ebpf::programs::retprobe::RetProbeContext
pub fn aya_ebpf::programs::retprobe::RetProbeContext::ret<T: aya_ebpf::args::FromPtRegs>(&self) -> core::option::Option<T>
@ -1756,7 +1756,7 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::retprobe::RetProbeContext
pub fn aya_ebpf::programs::retprobe::RetProbeContext::from(t: T) -> T
pub mod aya_ebpf::programs::sk_buff
pub struct aya_ebpf::programs::sk_buff::SkBuff
pub aya_ebpf::programs::sk_buff::SkBuff::skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff
pub aya_ebpf::programs::sk_buff::SkBuff::skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff
impl aya_ebpf::programs::sk_buff::SkBuff
pub fn aya_ebpf::programs::sk_buff::SkBuff::adjust_room(&self, len_diff: i32, mode: u32, flags: u64) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuff::cb(&self) -> &[u32]
@ -1774,7 +1774,7 @@ pub fn aya_ebpf::programs::sk_buff::SkBuff::load_bytes(&self, offset: usize, dst
pub fn aya_ebpf::programs::sk_buff::SkBuff::local_ipv4(&self) -> u32
pub fn aya_ebpf::programs::sk_buff::SkBuff::local_ipv6(&self) -> &[u32; 4]
pub fn aya_ebpf::programs::sk_buff::SkBuff::local_port(&self) -> u32
pub fn aya_ebpf::programs::sk_buff::SkBuff::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::sk_buff::SkBuff
pub fn aya_ebpf::programs::sk_buff::SkBuff::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::sk_buff::SkBuff
pub fn aya_ebpf::programs::sk_buff::SkBuff::protocol(&self) -> u32
pub fn aya_ebpf::programs::sk_buff::SkBuff::pull_data(&self, len: u32) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuff::remote_ipv4(&self) -> u32
@ -1818,7 +1818,7 @@ pub fn aya_ebpf::programs::sk_buff::SkBuffContext::l4_csum_replace(&self, offset
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::len(&self) -> u32
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::load<T>(&self, offset: usize) -> core::result::Result<T, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::load_bytes(&self, offset: usize, dst: &mut [u8]) -> core::result::Result<usize, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::sk_buff::SkBuffContext
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::sk_buff::SkBuffContext
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::pull_data(&self, len: u32) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::set_mark(&mut self, mark: u32)
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::store<T>(&mut self, offset: usize, v: &T, flags: u64) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
@ -1848,9 +1848,9 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sk_buff::SkBuffContext
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::from(t: T) -> T
pub mod aya_ebpf::programs::sk_lookup
pub struct aya_ebpf::programs::sk_lookup::SkLookupContext
pub aya_ebpf::programs::sk_lookup::SkLookupContext::lookup: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sk_lookup
pub aya_ebpf::programs::sk_lookup::SkLookupContext::lookup: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sk_lookup
impl aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::new(lookup: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sk_lookup) -> aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::new(lookup: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sk_lookup) -> aya_ebpf::programs::sk_lookup::SkLookupContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sk_lookup::SkLookupContext
@ -1877,11 +1877,11 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sk_lookup::SkLookupContex
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::from(t: T) -> T
pub mod aya_ebpf::programs::sk_msg
pub struct aya_ebpf::programs::sk_msg::SkMsgContext
pub aya_ebpf::programs::sk_msg::SkMsgContext::msg: *mut aya_ebpf_bindings::x86_64::bindings::sk_msg_md
pub aya_ebpf::programs::sk_msg::SkMsgContext::msg: *mut aya_ebpf_bindings::aarch64::bindings::sk_msg_md
impl aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::data(&self) -> usize
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::data_end(&self) -> usize
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::new(msg: *mut aya_ebpf_bindings::x86_64::bindings::sk_msg_md) -> aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::new(msg: *mut aya_ebpf_bindings::aarch64::bindings::sk_msg_md) -> aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::pop_data(&self, start: u32, len: u32, flags: u64) -> core::result::Result<(), i64>
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::push_data(&self, start: u32, len: u32, flags: u64) -> core::result::Result<(), i64>
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::size(&self) -> u32
@ -1911,9 +1911,9 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::from(t: T) -> T
pub mod aya_ebpf::programs::sock
pub struct aya_ebpf::programs::sock::SockContext
pub aya_ebpf::programs::sock::SockContext::sock: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock
pub aya_ebpf::programs::sock::SockContext::sock: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock
impl aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::new(sock: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock) -> aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::new(sock: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock) -> aya_ebpf::programs::sock::SockContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sock::SockContext
@ -1940,9 +1940,9 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::from(t: T) -> T
pub mod aya_ebpf::programs::sock_addr
pub struct aya_ebpf::programs::sock_addr::SockAddrContext
pub aya_ebpf::programs::sock_addr::SockAddrContext::sock_addr: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_addr
pub aya_ebpf::programs::sock_addr::SockAddrContext::sock_addr: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_addr
impl aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::new(sock_addr: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_addr) -> aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::new(sock_addr: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_addr) -> aya_ebpf::programs::sock_addr::SockAddrContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sock_addr::SockAddrContext
@ -1969,7 +1969,7 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sock_addr::SockAddrContex
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::from(t: T) -> T
pub mod aya_ebpf::programs::sock_ops
pub struct aya_ebpf::programs::sock_ops::SockOpsContext
pub aya_ebpf::programs::sock_ops::SockOpsContext::ops: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops
pub aya_ebpf::programs::sock_ops::SockOpsContext::ops: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops
impl aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::arg(&self, n: usize) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::cb_flags(&self) -> u32
@ -1977,7 +1977,7 @@ pub fn aya_ebpf::programs::sock_ops::SockOpsContext::family(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::local_ip4(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::local_ip6(&self) -> [u32; 4]
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::local_port(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::new(ops: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops) -> aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::new(ops: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops) -> aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::op(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::remote_ip4(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::remote_ip6(&self) -> [u32; 4]
@ -2010,9 +2010,9 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::from(t: T) -> T
pub mod aya_ebpf::programs::sockopt
pub struct aya_ebpf::programs::sockopt::SockoptContext
pub aya_ebpf::programs::sockopt::SockoptContext::sockopt: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sockopt
pub aya_ebpf::programs::sockopt::SockoptContext::sockopt: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sockopt
impl aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::new(sockopt: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sockopt) -> aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::new(sockopt: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sockopt) -> aya_ebpf::programs::sockopt::SockoptContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sockopt::SockoptContext
@ -2039,9 +2039,9 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::from(t: T) -> T
pub mod aya_ebpf::programs::sysctl
pub struct aya_ebpf::programs::sysctl::SysctlContext
pub aya_ebpf::programs::sysctl::SysctlContext::sysctl: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sysctl
pub aya_ebpf::programs::sysctl::SysctlContext::sysctl: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sysctl
impl aya_ebpf::programs::sysctl::SysctlContext
pub fn aya_ebpf::programs::sysctl::SysctlContext::new(sysctl: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sysctl) -> aya_ebpf::programs::sysctl::SysctlContext
pub fn aya_ebpf::programs::sysctl::SysctlContext::new(sysctl: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sysctl) -> aya_ebpf::programs::sysctl::SysctlContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sysctl::SysctlContext
pub fn aya_ebpf::programs::sysctl::SysctlContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sysctl::SysctlContext
@ -2084,7 +2084,7 @@ pub fn aya_ebpf::programs::tc::TcContext::l4_csum_replace(&self, offset: usize,
pub fn aya_ebpf::programs::tc::TcContext::len(&self) -> u32
pub fn aya_ebpf::programs::tc::TcContext::load<T>(&self, offset: usize) -> core::result::Result<T, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::tc::TcContext::load_bytes(&self, offset: usize, dst: &mut [u8]) -> core::result::Result<usize, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::tc::TcContext::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::tc::TcContext
pub fn aya_ebpf::programs::tc::TcContext::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::tc::TcContext
pub fn aya_ebpf::programs::tc::TcContext::pull_data(&self, len: u32) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::tc::TcContext::set_mark(&mut self, mark: u32)
pub fn aya_ebpf::programs::tc::TcContext::store<T>(&mut self, offset: usize, v: &T, flags: u64) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
@ -2172,14 +2172,14 @@ impl<T> core::convert::From<T> for aya_ebpf::programs::tracepoint::TracePointCon
pub fn aya_ebpf::programs::tracepoint::TracePointContext::from(t: T) -> T
pub mod aya_ebpf::programs::xdp
pub struct aya_ebpf::programs::xdp::XdpContext
pub aya_ebpf::programs::xdp::XdpContext::ctx: *mut aya_ebpf_bindings::x86_64::bindings::xdp_md
pub aya_ebpf::programs::xdp::XdpContext::ctx: *mut aya_ebpf_bindings::aarch64::bindings::xdp_md
impl aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::data(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::data_end(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::ingress_ifindex(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::metadata(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::metadata_end(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::new(ctx: *mut aya_ebpf_bindings::x86_64::bindings::xdp_md) -> aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::new(ctx: *mut aya_ebpf_bindings::aarch64::bindings::xdp_md) -> aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::rx_queue_index(&self) -> u32
impl aya_ebpf::EbpfContext for aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::as_ptr(&self) -> *mut core::ffi::c_void
@ -2234,9 +2234,9 @@ pub fn aya_ebpf::programs::tp_btf::BtfTracePointContext::borrow_mut(&mut self) -
impl<T> core::convert::From<T> for aya_ebpf::programs::tp_btf::BtfTracePointContext
pub fn aya_ebpf::programs::tp_btf::BtfTracePointContext::from(t: T) -> T
pub struct aya_ebpf::programs::DeviceContext
pub aya_ebpf::programs::DeviceContext::device: *mut aya_ebpf_bindings::x86_64::bindings::bpf_cgroup_dev_ctx
pub aya_ebpf::programs::DeviceContext::device: *mut aya_ebpf_bindings::aarch64::bindings::bpf_cgroup_dev_ctx
impl aya_ebpf::programs::device::DeviceContext
pub fn aya_ebpf::programs::device::DeviceContext::new(device: *mut aya_ebpf_bindings::x86_64::bindings::bpf_cgroup_dev_ctx) -> aya_ebpf::programs::device::DeviceContext
pub fn aya_ebpf::programs::device::DeviceContext::new(device: *mut aya_ebpf_bindings::aarch64::bindings::bpf_cgroup_dev_ctx) -> aya_ebpf::programs::device::DeviceContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::device::DeviceContext
pub fn aya_ebpf::programs::device::DeviceContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::device::DeviceContext
@ -2321,9 +2321,9 @@ pub struct aya_ebpf::programs::FlowDissectorContext
impl aya_ebpf::programs::flow_dissector::FlowDissectorContext
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::data(&self) -> usize
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::data_end(&self) -> usize
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::flow_keys(&mut self) -> &mut aya_ebpf_bindings::x86_64::bindings::bpf_flow_keys
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::flow_keys(&mut self) -> &mut aya_ebpf_bindings::aarch64::bindings::bpf_flow_keys
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::load_bytes(&self, offset: usize, dst: &mut [u8]) -> core::result::Result<usize, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::flow_dissector::FlowDissectorContext
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::flow_dissector::FlowDissectorContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::flow_dissector::FlowDissectorContext
pub fn aya_ebpf::programs::flow_dissector::FlowDissectorContext::as_ptr(&self) -> *mut aya_ebpf_cty::c_void
impl core::marker::Freeze for aya_ebpf::programs::flow_dissector::FlowDissectorContext
@ -2404,7 +2404,7 @@ pub fn aya_ebpf::programs::perf_event::PerfEventContext::borrow_mut(&mut self) -
impl<T> core::convert::From<T> for aya_ebpf::programs::perf_event::PerfEventContext
pub fn aya_ebpf::programs::perf_event::PerfEventContext::from(t: T) -> T
pub struct aya_ebpf::programs::ProbeContext
pub aya_ebpf::programs::ProbeContext::regs: *mut aya_ebpf_bindings::x86_64::bindings::pt_regs
pub aya_ebpf::programs::ProbeContext::regs: *mut aya_ebpf_bindings::aarch64::bindings::user_pt_regs
impl aya_ebpf::programs::probe::ProbeContext
pub fn aya_ebpf::programs::probe::ProbeContext::arg<T: aya_ebpf::args::FromPtRegs>(&self, n: usize) -> core::option::Option<T>
pub fn aya_ebpf::programs::probe::ProbeContext::new(ctx: *mut core::ffi::c_void) -> aya_ebpf::programs::probe::ProbeContext
@ -2461,7 +2461,7 @@ pub fn aya_ebpf::programs::raw_tracepoint::RawTracePointContext::borrow_mut(&mut
impl<T> core::convert::From<T> for aya_ebpf::programs::raw_tracepoint::RawTracePointContext
pub fn aya_ebpf::programs::raw_tracepoint::RawTracePointContext::from(t: T) -> T
pub struct aya_ebpf::programs::RetProbeContext
pub aya_ebpf::programs::RetProbeContext::regs: *mut aya_ebpf_bindings::x86_64::bindings::pt_regs
pub aya_ebpf::programs::RetProbeContext::regs: *mut aya_ebpf_bindings::aarch64::bindings::user_pt_regs
impl aya_ebpf::programs::retprobe::RetProbeContext
pub fn aya_ebpf::programs::retprobe::RetProbeContext::new(ctx: *mut core::ffi::c_void) -> aya_ebpf::programs::retprobe::RetProbeContext
pub fn aya_ebpf::programs::retprobe::RetProbeContext::ret<T: aya_ebpf::args::FromPtRegs>(&self) -> core::option::Option<T>
@ -2503,7 +2503,7 @@ pub fn aya_ebpf::programs::sk_buff::SkBuffContext::l4_csum_replace(&self, offset
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::len(&self) -> u32
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::load<T>(&self, offset: usize) -> core::result::Result<T, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::load_bytes(&self, offset: usize, dst: &mut [u8]) -> core::result::Result<usize, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::sk_buff::SkBuffContext
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::sk_buff::SkBuffContext
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::pull_data(&self, len: u32) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::set_mark(&mut self, mark: u32)
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::store<T>(&mut self, offset: usize, v: &T, flags: u64) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
@ -2532,9 +2532,9 @@ pub fn aya_ebpf::programs::sk_buff::SkBuffContext::borrow_mut(&mut self) -> &mut
impl<T> core::convert::From<T> for aya_ebpf::programs::sk_buff::SkBuffContext
pub fn aya_ebpf::programs::sk_buff::SkBuffContext::from(t: T) -> T
pub struct aya_ebpf::programs::SkLookupContext
pub aya_ebpf::programs::SkLookupContext::lookup: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sk_lookup
pub aya_ebpf::programs::SkLookupContext::lookup: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sk_lookup
impl aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::new(lookup: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sk_lookup) -> aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::new(lookup: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sk_lookup) -> aya_ebpf::programs::sk_lookup::SkLookupContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sk_lookup::SkLookupContext
@ -2560,11 +2560,11 @@ pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::borrow_mut(&mut self) ->
impl<T> core::convert::From<T> for aya_ebpf::programs::sk_lookup::SkLookupContext
pub fn aya_ebpf::programs::sk_lookup::SkLookupContext::from(t: T) -> T
pub struct aya_ebpf::programs::SkMsgContext
pub aya_ebpf::programs::SkMsgContext::msg: *mut aya_ebpf_bindings::x86_64::bindings::sk_msg_md
pub aya_ebpf::programs::SkMsgContext::msg: *mut aya_ebpf_bindings::aarch64::bindings::sk_msg_md
impl aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::data(&self) -> usize
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::data_end(&self) -> usize
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::new(msg: *mut aya_ebpf_bindings::x86_64::bindings::sk_msg_md) -> aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::new(msg: *mut aya_ebpf_bindings::aarch64::bindings::sk_msg_md) -> aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::pop_data(&self, start: u32, len: u32, flags: u64) -> core::result::Result<(), i64>
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::push_data(&self, start: u32, len: u32, flags: u64) -> core::result::Result<(), i64>
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::size(&self) -> u32
@ -2593,9 +2593,9 @@ pub fn aya_ebpf::programs::sk_msg::SkMsgContext::borrow_mut(&mut self) -> &mut T
impl<T> core::convert::From<T> for aya_ebpf::programs::sk_msg::SkMsgContext
pub fn aya_ebpf::programs::sk_msg::SkMsgContext::from(t: T) -> T
pub struct aya_ebpf::programs::SockAddrContext
pub aya_ebpf::programs::SockAddrContext::sock_addr: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_addr
pub aya_ebpf::programs::SockAddrContext::sock_addr: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_addr
impl aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::new(sock_addr: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_addr) -> aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::new(sock_addr: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_addr) -> aya_ebpf::programs::sock_addr::SockAddrContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sock_addr::SockAddrContext
@ -2621,9 +2621,9 @@ pub fn aya_ebpf::programs::sock_addr::SockAddrContext::borrow_mut(&mut self) ->
impl<T> core::convert::From<T> for aya_ebpf::programs::sock_addr::SockAddrContext
pub fn aya_ebpf::programs::sock_addr::SockAddrContext::from(t: T) -> T
pub struct aya_ebpf::programs::SockContext
pub aya_ebpf::programs::SockContext::sock: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock
pub aya_ebpf::programs::SockContext::sock: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock
impl aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::new(sock: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock) -> aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::new(sock: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock) -> aya_ebpf::programs::sock::SockContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sock::SockContext
@ -2649,7 +2649,7 @@ pub fn aya_ebpf::programs::sock::SockContext::borrow_mut(&mut self) -> &mut T
impl<T> core::convert::From<T> for aya_ebpf::programs::sock::SockContext
pub fn aya_ebpf::programs::sock::SockContext::from(t: T) -> T
pub struct aya_ebpf::programs::SockOpsContext
pub aya_ebpf::programs::SockOpsContext::ops: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops
pub aya_ebpf::programs::SockOpsContext::ops: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops
impl aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::arg(&self, n: usize) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::cb_flags(&self) -> u32
@ -2657,7 +2657,7 @@ pub fn aya_ebpf::programs::sock_ops::SockOpsContext::family(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::local_ip4(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::local_ip6(&self) -> [u32; 4]
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::local_port(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::new(ops: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sock_ops) -> aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::new(ops: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sock_ops) -> aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::op(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::remote_ip4(&self) -> u32
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::remote_ip6(&self) -> [u32; 4]
@ -2689,9 +2689,9 @@ pub fn aya_ebpf::programs::sock_ops::SockOpsContext::borrow_mut(&mut self) -> &m
impl<T> core::convert::From<T> for aya_ebpf::programs::sock_ops::SockOpsContext
pub fn aya_ebpf::programs::sock_ops::SockOpsContext::from(t: T) -> T
pub struct aya_ebpf::programs::SockoptContext
pub aya_ebpf::programs::SockoptContext::sockopt: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sockopt
pub aya_ebpf::programs::SockoptContext::sockopt: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sockopt
impl aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::new(sockopt: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sockopt) -> aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::new(sockopt: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sockopt) -> aya_ebpf::programs::sockopt::SockoptContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sockopt::SockoptContext
@ -2717,9 +2717,9 @@ pub fn aya_ebpf::programs::sockopt::SockoptContext::borrow_mut(&mut self) -> &mu
impl<T> core::convert::From<T> for aya_ebpf::programs::sockopt::SockoptContext
pub fn aya_ebpf::programs::sockopt::SockoptContext::from(t: T) -> T
pub struct aya_ebpf::programs::SysctlContext
pub aya_ebpf::programs::SysctlContext::sysctl: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sysctl
pub aya_ebpf::programs::SysctlContext::sysctl: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sysctl
impl aya_ebpf::programs::sysctl::SysctlContext
pub fn aya_ebpf::programs::sysctl::SysctlContext::new(sysctl: *mut aya_ebpf_bindings::x86_64::bindings::bpf_sysctl) -> aya_ebpf::programs::sysctl::SysctlContext
pub fn aya_ebpf::programs::sysctl::SysctlContext::new(sysctl: *mut aya_ebpf_bindings::aarch64::bindings::bpf_sysctl) -> aya_ebpf::programs::sysctl::SysctlContext
impl aya_ebpf::EbpfContext for aya_ebpf::programs::sysctl::SysctlContext
pub fn aya_ebpf::programs::sysctl::SysctlContext::as_ptr(&self) -> *mut core::ffi::c_void
impl core::marker::Freeze for aya_ebpf::programs::sysctl::SysctlContext
@ -2761,7 +2761,7 @@ pub fn aya_ebpf::programs::tc::TcContext::l4_csum_replace(&self, offset: usize,
pub fn aya_ebpf::programs::tc::TcContext::len(&self) -> u32
pub fn aya_ebpf::programs::tc::TcContext::load<T>(&self, offset: usize) -> core::result::Result<T, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::tc::TcContext::load_bytes(&self, offset: usize, dst: &mut [u8]) -> core::result::Result<usize, aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::tc::TcContext::new(skb: *mut aya_ebpf_bindings::x86_64::bindings::__sk_buff) -> aya_ebpf::programs::tc::TcContext
pub fn aya_ebpf::programs::tc::TcContext::new(skb: *mut aya_ebpf_bindings::aarch64::bindings::__sk_buff) -> aya_ebpf::programs::tc::TcContext
pub fn aya_ebpf::programs::tc::TcContext::pull_data(&self, len: u32) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
pub fn aya_ebpf::programs::tc::TcContext::set_mark(&mut self, mark: u32)
pub fn aya_ebpf::programs::tc::TcContext::store<T>(&mut self, offset: usize, v: &T, flags: u64) -> core::result::Result<(), aya_ebpf_cty::od::c_long>
@ -2818,14 +2818,14 @@ pub fn aya_ebpf::programs::tracepoint::TracePointContext::borrow_mut(&mut self)
impl<T> core::convert::From<T> for aya_ebpf::programs::tracepoint::TracePointContext
pub fn aya_ebpf::programs::tracepoint::TracePointContext::from(t: T) -> T
pub struct aya_ebpf::programs::XdpContext
pub aya_ebpf::programs::XdpContext::ctx: *mut aya_ebpf_bindings::x86_64::bindings::xdp_md
pub aya_ebpf::programs::XdpContext::ctx: *mut aya_ebpf_bindings::aarch64::bindings::xdp_md
impl aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::data(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::data_end(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::ingress_ifindex(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::metadata(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::metadata_end(&self) -> usize
pub fn aya_ebpf::programs::xdp::XdpContext::new(ctx: *mut aya_ebpf_bindings::x86_64::bindings::xdp_md) -> aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::new(ctx: *mut aya_ebpf_bindings::aarch64::bindings::xdp_md) -> aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::rx_queue_index(&self) -> u32
impl aya_ebpf::EbpfContext for aya_ebpf::programs::xdp::XdpContext
pub fn aya_ebpf::programs::xdp::XdpContext::as_ptr(&self) -> *mut core::ffi::c_void
@ -2856,8 +2856,8 @@ pub macro aya_ebpf::btf_map_def!
pub struct aya_ebpf::PtRegs
impl aya_ebpf::PtRegs
pub fn aya_ebpf::PtRegs::arg<T: aya_ebpf::args::FromPtRegs>(&self, n: usize) -> core::option::Option<T>
pub fn aya_ebpf::PtRegs::as_ptr(&self) -> *mut aya_ebpf_bindings::x86_64::bindings::pt_regs
pub fn aya_ebpf::PtRegs::new(regs: *mut aya_ebpf_bindings::x86_64::bindings::pt_regs) -> Self
pub fn aya_ebpf::PtRegs::as_ptr(&self) -> *mut aya_ebpf_bindings::aarch64::bindings::user_pt_regs
pub fn aya_ebpf::PtRegs::new(regs: *mut aya_ebpf_bindings::aarch64::bindings::user_pt_regs) -> Self
pub fn aya_ebpf::PtRegs::ret<T: aya_ebpf::args::FromPtRegs>(&self) -> core::option::Option<T>
impl core::marker::Freeze for aya_ebpf::PtRegs
impl !core::marker::Send for aya_ebpf::PtRegs
@ -2884,7 +2884,7 @@ pub fn aya_ebpf::PtRegs::from(t: T) -> T
pub struct aya_ebpf::RawTracepointArgs
impl aya_ebpf::RawTracepointArgs
pub unsafe fn aya_ebpf::RawTracepointArgs::arg<T: aya_ebpf::args::FromRawTracepointArgs>(&self, n: usize) -> T
pub fn aya_ebpf::RawTracepointArgs::new(args: *mut aya_ebpf_bindings::x86_64::bindings::bpf_raw_tracepoint_args) -> Self
pub fn aya_ebpf::RawTracepointArgs::new(args: *mut aya_ebpf_bindings::aarch64::bindings::bpf_raw_tracepoint_args) -> Self
impl core::marker::Freeze for aya_ebpf::RawTracepointArgs
impl !core::marker::Send for aya_ebpf::RawTracepointArgs
impl !core::marker::Sync for aya_ebpf::RawTracepointArgs

Loading…
Cancel
Save