Skip to main content

MapType

Enum MapType 

Source
#[non_exhaustive]
pub enum MapType {
Show 34 variants Unspecified = 0, Hash = 1, Array = 2, ProgramArray = 3, PerfEventArray = 4, PerCpuHash = 5, PerCpuArray = 6, StackTrace = 7, CgroupArray = 8, LruHash = 9, LruPerCpuHash = 10, LpmTrie = 11, ArrayOfMaps = 12, HashOfMaps = 13, DevMap = 14, SockMap = 15, CpuMap = 16, XskMap = 17, SockHash = 18, CgroupStorage = 19, ReuseportSockArray = 20, PerCpuCgroupStorage = 21, Queue = 22, Stack = 23, SkStorage = 24, DevMapHash = 25, StructOps = 26, RingBuf = 27, InodeStorage = 28, TaskStorage = 29, BloomFilter = 30, UserRingBuf = 31, CgrpStorage = 32, Arena = 33,
}
Expand description

The type of eBPF map.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Unspecified = 0

An unspecified program type.

§

Hash = 1

A Hash map type. See HashMap for the map implementation.

Introduced in kernel v3.19.

§

Array = 2

An Array map type. See Array for the map implementation.

Introduced in kernel v3.19.

§

ProgramArray = 3

A Program Array map type. See ProgramArray for the map implementation.

Introduced in kernel v4.2.

§

PerfEventArray = 4

A Perf Event Array map type. See PerfEventArray for the map implementation.

Introduced in kernel v4.3.

§

PerCpuHash = 5

A per-CPU Hash map type. See PerCpuHashMap for the map implementation.

Introduced in kernel v4.6.

§

PerCpuArray = 6

A per-CPU Array map type. See PerCpuArray for the map implementation.

Introduced in kernel v4.6.

§

StackTrace = 7

A Stack Trace map type. See StackTraceMap for the map implementation.

Introduced in kernel v4.6.

§

CgroupArray = 8

A cGroup Array map type.

Introduced in kernel v4.8.

§

LruHash = 9

A Least Recently Used (LRU) Hash map type. See HashMap for the map implementation.

Introduced in kernel v4.10.

§

LruPerCpuHash = 10

A Least Recently Used (LRU) per-CPU Hash map type. See PerCpuHashMap for the map implementation.

Introduced in kernel v4.10.

§

LpmTrie = 11

A Longest Prefix Match (LPM) Trie map type. See LpmTrie for the map implementation.

Introduced in kernel v4.11.

§

ArrayOfMaps = 12

An Array of Maps map type.

Introduced in kernel v4.12.

§

HashOfMaps = 13

A Hash of Maps map type.

Introduced in kernel v4.12.

§

DevMap = 14

A Device Map type. See DevMap for the map implementation.

Introduced in kernel v4.14.

§

SockMap = 15

A Socket Map type. See SockMap for the map implementation.

Introduced in kernel v4.14.

§

CpuMap = 16

A CPU Map type. See CpuMap for the map implementation.

Introduced in kernel v4.15.

§

XskMap = 17

An XDP Socket Map type. See XskMap for the map implementation.

Introduced in kernel v4.18.

§

SockHash = 18

A Socket Hash map type. See SockHash for the map implementation.

Introduced in kernel v4.18.

§

CgroupStorage = 19

A cGroup Storage map type.

Introduced in kernel v4.19.

§

ReuseportSockArray = 20

A Reuseport Socket Array map type.

Introduced in kernel v4.19.

§

PerCpuCgroupStorage = 21

A per-CPU cGroup Storage map type.

Introduced in kernel v4.20.

§

Queue = 22

A Queue map type. See Queue for the map implementation.

Introduced in kernel v4.20.

§

Stack = 23

A Stack map type. See Stack for the map implementation.

Introduced in kernel v4.20.

§

SkStorage = 24

A Socket-local Storage map type.

Introduced in kernel v5.2.

§

DevMapHash = 25

A Device Hash Map type. See DevMapHash for the map implementation.

Introduced in kernel v5.4.

§

StructOps = 26

A Struct Ops map type.

Introduced in kernel v5.6.

§

RingBuf = 27

A Ring Buffer map type. See RingBuf for the map implementation.

Introduced in kernel v5.8.

§

InodeStorage = 28

An Inode Storage map type.

Introduced in kernel v5.10.

§

TaskStorage = 29

A Task Storage map type.

Introduced in kernel v5.11.

§

BloomFilter = 30

A Bloom Filter map type. See BloomFilter for the map implementation.

Introduced in kernel v5.16.

§

UserRingBuf = 31

A User Ring Buffer map type.

Introduced in kernel v6.1.

§

CgrpStorage = 32

A cGroup Storage map type.

Introduced in kernel v6.2.

§

Arena = 33

An Arena map type.

Introduced in kernel v6.9.

Trait Implementations§

Source§

impl Clone for MapType

Source§

fn clone(&self) -> MapType

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MapType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for MapType

Source§

fn eq(&self, other: &MapType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<bpf_map_type> for MapType

Source§

type Error = MapError

The type returned in the event of a conversion error.
Source§

fn try_from(map_type: bpf_map_type) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl Copy for MapType

Source§

impl StructuralPartialEq for MapType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.