enum MapType [src]

Fields

unspec
hash
array
prog_array
perf_event_array
percpu_hash
percpu_array
stack_trace
cgroup_array
lru_hash
lru_percpu_hash
lpm_trie
array_of_maps
hash_of_maps
devmap
sockmap
cpumap
xskmap
sockhash
cgroup_storage_deprecated
reuseport_sockarray
percpu_cgroup_storage
queue
stack
sk_storage
devmap_hash
struct_ops
ringbufAn ordered and shared CPU version of perf_event_array. They have similar semantics: variable length records no blocking: when full, reservation fails memory mappable for ease and speed epoll notifications for new data, but can busy poll Ringbufs give BPF programs two sets of APIs: ringbuf_output() allows copy data from one place to a ring buffer, similar to bpf_perf_event_output() ringbuf_reserve()/ringbuf_commit()/ringbuf_discard() split the process into two steps. First a fixed amount of space is reserved, if that is successful then the program gets a pointer to a chunk of memory and can be submitted with commit() or discarded with discard() ringbuf_output() will incur an extra memory copy, but allows to submit records of the length that's not known beforehand, and is an easy replacement for perf_event_output(). ringbuf_reserve() avoids the extra memory copy but requires a known size of memory beforehand. ringbuf_query() allows to query properties of the map, 4 are currently supported: BPF_RB_AVAIL_DATA: amount of unconsumed data in ringbuf BPF_RB_RING_SIZE: returns size of ringbuf BPF_RB_CONS_POS/BPF_RB_PROD_POS returns current logical position of consumer and producer respectively key size: 0 value size: 0 max entries: size of ringbuf, must be power of 2
inode_storage
task_storage
bloom_filter
user_ringbuf
cgroup_storage
arena
_

Source

pub const MapType = enum(u32) { unspec, hash, array, prog_array, perf_event_array, percpu_hash, percpu_array, stack_trace, cgroup_array, lru_hash, lru_percpu_hash, lpm_trie, array_of_maps, hash_of_maps, devmap, sockmap, cpumap, xskmap, sockhash, cgroup_storage_deprecated, reuseport_sockarray, percpu_cgroup_storage, queue, stack, sk_storage, devmap_hash, struct_ops, /// An ordered and shared CPU version of perf_event_array. They have /// similar semantics: /// - variable length records /// - no blocking: when full, reservation fails /// - memory mappable for ease and speed /// - epoll notifications for new data, but can busy poll /// /// Ringbufs give BPF programs two sets of APIs: /// - ringbuf_output() allows copy data from one place to a ring /// buffer, similar to bpf_perf_event_output() /// - ringbuf_reserve()/ringbuf_commit()/ringbuf_discard() split the /// process into two steps. First a fixed amount of space is reserved, /// if that is successful then the program gets a pointer to a chunk of /// memory and can be submitted with commit() or discarded with /// discard() /// /// ringbuf_output() will incur an extra memory copy, but allows to submit /// records of the length that's not known beforehand, and is an easy /// replacement for perf_event_output(). /// /// ringbuf_reserve() avoids the extra memory copy but requires a known size /// of memory beforehand. /// /// ringbuf_query() allows to query properties of the map, 4 are currently /// supported: /// - BPF_RB_AVAIL_DATA: amount of unconsumed data in ringbuf /// - BPF_RB_RING_SIZE: returns size of ringbuf /// - BPF_RB_CONS_POS/BPF_RB_PROD_POS returns current logical position /// of consumer and producer respectively /// /// key size: 0 /// value size: 0 /// max entries: size of ringbuf, must be power of 2 ringbuf, inode_storage, task_storage, bloom_filter, user_ringbuf, cgroup_storage, arena, _, }