|
|
|
@ -3,7 +3,7 @@ use core::ffi::c_void;
|
|
|
|
|
use crate::{bindings::xdp_md, BpfContext};
|
|
|
|
|
|
|
|
|
|
pub struct XdpContext {
|
|
|
|
|
ctx: *mut xdp_md,
|
|
|
|
|
pub ctx: *mut xdp_md,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl XdpContext {
|
|
|
|
@ -18,6 +18,18 @@ impl XdpContext {
|
|
|
|
|
pub fn data_end(&self) -> usize {
|
|
|
|
|
unsafe { (*self.ctx).data_end as usize }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Return the raw address of the XdpContext metadata.
|
|
|
|
|
#[inline(always)]
|
|
|
|
|
pub fn metadata(&self) -> usize {
|
|
|
|
|
unsafe { (*self.ctx).data_meta as usize }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// Return the raw address immediately after the XdpContext's metadata.
|
|
|
|
|
#[inline(always)]
|
|
|
|
|
pub fn metadata_end(&self) -> usize {
|
|
|
|
|
self.data()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl BpfContext for XdpContext {
|
|
|
|
|