From a05e37d47d55567d1504ca92b527527e32ae94bc Mon Sep 17 00:00:00 2001 From: Tim Upthegrove Date: Wed, 22 Jan 2025 08:32:53 +0900 Subject: [PATCH] aya-ebpf: add ifindex support to XdpContext This change exposes the ifindex field from the underlying xdp_md data structure to the XdpContext in Aya. The ifindex represents the unique OS-provided index for a network interface. Fixes #1140 --- ebpf/aya-ebpf/src/programs/xdp.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ebpf/aya-ebpf/src/programs/xdp.rs b/ebpf/aya-ebpf/src/programs/xdp.rs index 7513b46d..26c3369a 100644 --- a/ebpf/aya-ebpf/src/programs/xdp.rs +++ b/ebpf/aya-ebpf/src/programs/xdp.rs @@ -21,6 +21,12 @@ impl XdpContext { unsafe { (*self.ctx).data_end as usize } } + /// Return the interface of the index as determined by the OS. + #[inline] + pub fn ingress_ifindex(&self) -> usize { + unsafe { (*self.ctx).ingress_ifindex as usize } + } + /// Return the raw address of the XdpContext metadata. #[inline(always)] pub fn metadata(&self) -> usize {