From 696ae6079c56910d370867e1ca822c931f06b2e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alessandro=C2=A0Decina?= Date: Mon, 17 May 2021 09:52:38 +0000 Subject: [PATCH] bpf: Add HashMap::pinned API --- bpf/aya-bpf/src/maps/hash_map.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bpf/aya-bpf/src/maps/hash_map.rs b/bpf/aya-bpf/src/maps/hash_map.rs index 861d4669..a1269d04 100644 --- a/bpf/aya-bpf/src/maps/hash_map.rs +++ b/bpf/aya-bpf/src/maps/hash_map.rs @@ -31,6 +31,22 @@ impl HashMap { } } + pub const fn pinned(max_entries: u32, flags: u32, pinning: u32) -> HashMap { + HashMap { + def: bpf_map_def { + type_: BPF_MAP_TYPE_HASH, + key_size: mem::size_of::() as u32, + value_size: mem::size_of::() as u32, + max_entries, + map_flags: flags, + id: 0, + pinning, + }, + _k: PhantomData, + _v: PhantomData, + } + } + pub unsafe fn get(&mut self, key: &K) -> Option<&V> { let value = bpf_map_lookup_elem( &mut self.def as *mut _ as *mut _,