diff --git a/bpf_2bpf_8h_source.html b/bpf_2bpf_8h_source.html index c6f6d50022..875db9c23e 100644 --- a/bpf_2bpf_8h_source.html +++ b/bpf_2bpf_8h_source.html @@ -161,7 +161,7 @@
bpf_map_delete_elem
int bpf_map_delete_elem(int fd, const void *key)
Look up and delete an element by key in a specified map.
bpf_prog_get_fd_by_id
int bpf_prog_get_fd_by_id(__u32 id)
Get a file descriptor referring to a program with a given ID.
bpf_legacy.h
-
bpf_prog_type
bpf_prog_type
Definition: ebpf_structs.h:167
+
bpf_prog_type
bpf_prog_type
Definition: ebpf_structs.h:168
bpf_map_type
bpf_map_type
Definition: ebpf_structs.h:18
__u32
uint32_t __u32
Definition: types.h:6
__u64
uint64_t __u64
Definition: types.h:7
diff --git a/bpf__helper__defs_8h.html b/bpf__helper__defs_8h.html index b41ee58ccc..5c09f7ac61 100644 --- a/bpf__helper__defs_8h.html +++ b/bpf__helper__defs_8h.html @@ -157,6 +157,9 @@ long bpf_memmove (void *destination, uint32_t destination_size, const void *source, uint32_t source_size)  Copy memory from one location to another, handling overlapping regions. More...
  +int64_t bpf_get_socket_cookie (const void *ctx) + Get the socket cookie associated with the socket context. The context can be bpf_sock_addr struct, bpf_sock_ops struct, or bpf_sock struct. More...

Function Documentation

@@ -303,6 +306,33 @@

Returns
SMP id of the processor running the program.
+ + +
+

◆ bpf_get_socket_cookie()

+ +
+
+ + + + + + + + +
int64_t bpf_get_socket_cookie (const void * ctx)
+
+ +

Get the socket cookie associated with the socket context. The context can be bpf_sock_addr struct, bpf_sock_ops struct, or bpf_sock struct.

+
Parameters
+ + +
[in]ctxContext passed to the eBPF program.
+
+
+
Returns
The socket cookie.
+
diff --git a/bpf__helper__defs_8h_source.html b/bpf__helper__defs_8h_source.html index 38b699914a..c5883802c7 100644 --- a/bpf__helper__defs_8h_source.html +++ b/bpf__helper__defs_8h_source.html @@ -233,14 +233,19 @@
406 #define bpf_memmove ((bpf_memmove_t)BPF_FUNC_memmove)
407 #endif
408 
-
409 #if __clang__
-
410 #define memcpy(dest, src, dest_size) bpf_memcpy(dest, dest_size, src, dest_size)
-
411 #define memcmp(mem1, mem2, mem1_size) bpf_memcmp(mem1, mem1_size, mem2, mem1_size)
-
412 #define memset(mem, value, mem_size) bpf_memset(mem, mem_size, value)
-
413 #define memmove(dest, src, dest_size) bpf_memmove(dest, dest_size, src, dest_size)
-
414 #define memcpy_s bpf_memcpy
-
415 #define memmove_s bpf_memmove
-
416 #endif
+
417 EBPF_HELPER(int64_t, bpf_get_socket_cookie, (const void* ctx));
+
418 #ifndef __doxygen
+
419 #define bpf_get_socket_cookie ((bpf_get_socket_cookie_t)BPF_FUNC_get_socket_cookie)
+
420 #endif
+
421 
+
422 #if __clang__
+
423 #define memcpy(dest, src, dest_size) bpf_memcpy(dest, dest_size, src, dest_size)
+
424 #define memcmp(mem1, mem2, mem1_size) bpf_memcmp(mem1, mem1_size, mem2, mem1_size)
+
425 #define memset(mem, value, mem_size) bpf_memset(mem, mem_size, value)
+
426 #define memmove(dest, src, dest_size) bpf_memmove(dest, dest_size, src, dest_size)
+
427 #define memcpy_s bpf_memcpy
+
428 #define memmove_s bpf_memmove
+
429 #endif
int bpf_ringbuf_output(void *ring_buffer, void *data, uint64_t size, uint64_t flags)
Copy data into the ring buffer map.
int64_t bpf_map_delete_elem(void *map, void *key)
Remove an entry from the map.
int64_t bpf_map_push_elem(void *map, void *value, uint64_t flags)
Insert an element at the end of the map (only valid for stack and queue).
@@ -258,6 +263,7 @@
int64_t bpf_map_pop_elem(void *map, void *value)
Copy an entry from the map and remove it from the map (only valid for stack and queue)....
long bpf_trace_printk3(const char *fmt, uint32_t fmt_size, uint64_t arg3)
Print debug output.
int bpf_csum_diff(void *from, int from_size, void *to, int to_size, int seed)
Computes difference of checksum values for two input raw buffers using 1's complement arithmetic.
+
int64_t bpf_get_socket_cookie(const void *ctx)
Get the socket cookie associated with the socket context. The context can be bpf_sock_addr struct,...
long bpf_trace_printk(const char *fmt, uint32_t size,...)
Print debug output. For instructions on viewing the output, see the Using tracing section of the Gett...
int bpf_memcmp(const void *memory1, uint32_t memory1_size, const void *memory2, uint32_t memory2_size)
Compare two memory regions.
long bpf_printk(const char *fmt,...)
Print debug output. For instructions on viewing the output, see the Using tracing section of the Gett...
diff --git a/bpf__legacy_8h_source.html b/bpf__legacy_8h_source.html index 19c4be5489..5f3fb45b86 100644 --- a/bpf__legacy_8h_source.html +++ b/bpf__legacy_8h_source.html @@ -156,8 +156,8 @@
int bpf_create_map_in_map(enum bpf_map_type map_type, const char *name, int key_size, int inner_map_fd, int max_entries, __u32 map_flags)
Create a new map-in-map.
int bpf_load_program(enum bpf_prog_type type, const struct bpf_insn *insns, size_t insns_cnt, const char *license, __u32 kern_version, char *log_buf, size_t log_buf_sz)
Load (but do not attach) an eBPF program from eBPF instructions supplied by the caller.
int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr, char *log_buf, size_t log_buf_sz)
Load (but do not attach) an eBPF program from eBPF instructions supplied by the caller.
-
bpf_prog_type
Definition: ebpf_structs.h:167
-
bpf_attach_type
Definition: ebpf_structs.h:257
+
bpf_prog_type
Definition: ebpf_structs.h:168
+
bpf_attach_type
Definition: ebpf_structs.h:258
bpf_map_type
Definition: ebpf_structs.h:18
Definition: bpf_legacy.h:16
diff --git a/ebpf__extension_8h_source.html b/ebpf__extension_8h_source.html index 095ef43767..1a30b4263e 100644 --- a/ebpf__extension_8h_source.html +++ b/ebpf__extension_8h_source.html @@ -158,8 +158,8 @@
enum ebpf_result ebpf_result_t
This file contains eBPF definitions common to eBPF programs, core execution engine as well as eBPF AP...
-
bpf_link_type
Definition: ebpf_structs.h:243
-
enum bpf_attach_type bpf_attach_type_t
Definition: ebpf_structs.h:321
+
bpf_link_type
Definition: ebpf_structs.h:244
+
enum bpf_attach_type bpf_attach_type_t
Definition: ebpf_structs.h:322
GUID ebpf_program_type_t
Definition: ebpf_windows.h:61
Definition: ebpf_extension.h:95
diff --git a/ebpf__structs_8h.html b/ebpf__structs_8h.html index 14157efe63..ca78ae3104 100644 --- a/ebpf__structs_8h.html +++ b/ebpf__structs_8h.html @@ -207,6 +207,7 @@ , BPF_FUNC_memset = 24 ,
  BPF_FUNC_memmove = 25 +, BPF_FUNC_get_socket_cookie = 26
}   @@ -731,6 +732,8 @@

BPF_FUNC_memmove 

bpf_memmove

+BPF_FUNC_get_socket_cookie 

bpf_get_socket_cookie

+ diff --git a/ebpf__structs_8h_source.html b/ebpf__structs_8h_source.html index 6d9e15cdab..6a112e0994 100644 --- a/ebpf__structs_8h_source.html +++ b/ebpf__structs_8h_source.html @@ -207,160 +207,161 @@ - -
164 
-
165 // Cross-platform BPF program types.
- -
167 {
- -
169 
- -
179 
-
188  BPF_PROG_TYPE_BIND, // TODO(#333): replace with cross-platform program type
-
189 
- -
203 
- -
214 
- -
224 
- -
233 };
-
234 
-
235 typedef enum bpf_prog_type bpf_prog_type_t;
-
236 
-
237 #define XDP_FLAGS_REPLACE 0x01
-
238 
-
239 // The link type is used to tell which union member is present
-
240 // in the bpf_link_info struct. There is exactly one non-zero value
-
241 // per union member.
- -
243 {
- - - - - -
249 };
-
250 
-
251 static const char* const _ebpf_link_display_names[] = {
-
252  "unspec",
-
253  "plain",
-
254 };
-
255 
- -
257 {
- -
259 
- -
265 
- -
271 
- -
278 
- -
285 
- -
292 
- -
299 
- -
305 
- -
311 
- -
317 
- -
319 };
-
320 
- -
322 
-
323 // Libbpf itself requires the following structs to be defined, but doesn't
-
324 // care what fields they have. Applications such as bpftool on the other
-
325 // hand depend on fields of specific names and types.
-
326 
-
327 #ifdef _MSC_VER
-
328 #pragma warning(push)
-
329 #pragma warning(disable : 4201) /* nameless struct/union */
-
330 #endif
- -
336 {
- - -
339  enum bpf_link_type type;
- - - -
343  union
-
344  {
-
345  struct
-
346  {
-
347  uint32_t ifindex;
-
348  } xdp;
-
349  struct
-
350  {
-
351  uint64_t cgroup_id;
- -
353  uint8_t attach_data;
-
354  };
-
355 };
-
356 #ifdef _MSC_VER
-
357 #pragma warning(pop)
-
358 #endif
-
359 
-
360 #define BPF_OBJ_NAME_LEN 64
-
361 
- -
367 {
-
368  // Cross-platform fields.
- - -
371  uint32_t key_size;
-
372  uint32_t value_size;
-
373  uint32_t max_entries;
- -
375  uint32_t map_flags;
-
376 
-
377  // Windows-specific fields.
- -
379  uint32_t pinned_path_count;
-
380 };
-
381 
-
382 #define BPF_ANY 0x0
-
383 #define BPF_NOEXIST 0x1
-
384 #define BPF_EXIST 0x2
-
385 
- -
391 {
-
392  // Cross-platform fields.
- -
394  enum bpf_prog_type type;
-
395  uint32_t nr_map_ids;
-
396  uintptr_t map_ids;
- -
398 
-
399  // Windows-specific fields.
- - -
402  uint32_t pinned_path_count;
-
403  uint32_t link_count;
-
404 };
-
bpf_prog_type
Definition: ebpf_structs.h:167
-
@ BPF_PROG_TYPE_XDP
Program type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:178
-
@ BPF_PROG_TYPE_BIND
Program type for handling socket bind() requests.
Definition: ebpf_structs.h:188
-
@ BPF_PROG_TYPE_CGROUP_SOCK_ADDR
Program type for handling various socket operations such as connect(), accept() etc.
Definition: ebpf_structs.h:202
-
@ BPF_PROG_TYPE_UNSPEC
Unspecified program type.
Definition: ebpf_structs.h:168
-
@ BPF_PROG_TYPE_XDP_TEST
Program type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:223
-
@ BPF_PROG_TYPE_SOCK_OPS
Program type for handling various socket event notifications such as connection established etc.
Definition: ebpf_structs.h:213
-
@ BPF_PROG_TYPE_SAMPLE
Program type for handling calls from the eBPF sample extension. Used for testing.
Definition: ebpf_structs.h:232
+ + +
165 
+
166 // Cross-platform BPF program types.
+ +
168 {
+ +
170 
+ +
180 
+
189  BPF_PROG_TYPE_BIND, // TODO(#333): replace with cross-platform program type
+
190 
+ +
204 
+ +
215 
+ +
225 
+ +
234 };
+
235 
+
236 typedef enum bpf_prog_type bpf_prog_type_t;
+
237 
+
238 #define XDP_FLAGS_REPLACE 0x01
+
239 
+
240 // The link type is used to tell which union member is present
+
241 // in the bpf_link_info struct. There is exactly one non-zero value
+
242 // per union member.
+ +
244 {
+ + + + + +
250 };
+
251 
+
252 static const char* const _ebpf_link_display_names[] = {
+
253  "unspec",
+
254  "plain",
+
255 };
+
256 
+ +
258 {
+ +
260 
+ +
266 
+ +
272 
+ +
279 
+ +
286 
+ +
293 
+ +
300 
+ +
306 
+ +
312 
+ +
318 
+ +
320 };
+
321 
+ +
323 
+
324 // Libbpf itself requires the following structs to be defined, but doesn't
+
325 // care what fields they have. Applications such as bpftool on the other
+
326 // hand depend on fields of specific names and types.
+
327 
+
328 #ifdef _MSC_VER
+
329 #pragma warning(push)
+
330 #pragma warning(disable : 4201) /* nameless struct/union */
+
331 #endif
+ +
337 {
+ + +
340  enum bpf_link_type type;
+ + + +
344  union
+
345  {
+
346  struct
+
347  {
+
348  uint32_t ifindex;
+
349  } xdp;
+
350  struct
+
351  {
+
352  uint64_t cgroup_id;
+ +
354  uint8_t attach_data;
+
355  };
+
356 };
+
357 #ifdef _MSC_VER
+
358 #pragma warning(pop)
+
359 #endif
+
360 
+
361 #define BPF_OBJ_NAME_LEN 64
+
362 
+ +
368 {
+
369  // Cross-platform fields.
+ + +
372  uint32_t key_size;
+
373  uint32_t value_size;
+
374  uint32_t max_entries;
+ +
376  uint32_t map_flags;
+
377 
+
378  // Windows-specific fields.
+ +
380  uint32_t pinned_path_count;
+
381 };
+
382 
+
383 #define BPF_ANY 0x0
+
384 #define BPF_NOEXIST 0x1
+
385 #define BPF_EXIST 0x2
+
386 
+ +
392 {
+
393  // Cross-platform fields.
+ +
395  enum bpf_prog_type type;
+
396  uint32_t nr_map_ids;
+
397  uintptr_t map_ids;
+ +
399 
+
400  // Windows-specific fields.
+ + +
403  uint32_t pinned_path_count;
+
404  uint32_t link_count;
+
405 };
+
bpf_prog_type
Definition: ebpf_structs.h:168
+
@ BPF_PROG_TYPE_XDP
Program type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:179
+
@ BPF_PROG_TYPE_BIND
Program type for handling socket bind() requests.
Definition: ebpf_structs.h:189
+
@ BPF_PROG_TYPE_CGROUP_SOCK_ADDR
Program type for handling various socket operations such as connect(), accept() etc.
Definition: ebpf_structs.h:203
+
@ BPF_PROG_TYPE_UNSPEC
Unspecified program type.
Definition: ebpf_structs.h:169
+
@ BPF_PROG_TYPE_XDP_TEST
Program type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:224
+
@ BPF_PROG_TYPE_SOCK_OPS
Program type for handling various socket event notifications such as connection established etc.
Definition: ebpf_structs.h:214
+
@ BPF_PROG_TYPE_SAMPLE
Program type for handling calls from the eBPF sample extension. Used for testing.
Definition: ebpf_structs.h:233
enum ebpf_map_option ebpf_map_option_t
-
bpf_link_type
Definition: ebpf_structs.h:243
-
@ BPF_LINK_TYPE_UNSPEC
Unspecified link type.
Definition: ebpf_structs.h:244
-
@ BPF_LINK_TYPE_PLAIN
No union members are used in bpf_link_info.
Definition: ebpf_structs.h:245
-
@ BPF_LINK_TYPE_CGROUP
cgroup struct is present in bpf_link_info.
Definition: ebpf_structs.h:246
-
@ BPF_LINK_TYPE_XDP
xdp struct is present in bpf_link_info.
Definition: ebpf_structs.h:247
-
@ BPF_LINK_TYPE_MAX
Definition: ebpf_structs.h:248
-
enum bpf_prog_type bpf_prog_type_t
Definition: ebpf_structs.h:235
+
bpf_link_type
Definition: ebpf_structs.h:244
+
@ BPF_LINK_TYPE_UNSPEC
Unspecified link type.
Definition: ebpf_structs.h:245
+
@ BPF_LINK_TYPE_PLAIN
No union members are used in bpf_link_info.
Definition: ebpf_structs.h:246
+
@ BPF_LINK_TYPE_CGROUP
cgroup struct is present in bpf_link_info.
Definition: ebpf_structs.h:247
+
@ BPF_LINK_TYPE_XDP
xdp struct is present in bpf_link_info.
Definition: ebpf_structs.h:248
+
@ BPF_LINK_TYPE_MAX
Definition: ebpf_structs.h:249
+
enum bpf_prog_type bpf_prog_type_t
Definition: ebpf_structs.h:236
enum bpf_map_type ebpf_map_type_t
#define BPF_ENUM_TO_STRING(X)
Definition: ebpf_structs.h:15
struct _ebpf_map_definition_in_memory ebpf_map_definition_in_memory_t
eBPF Map Definition as it is stored in memory.
@@ -376,6 +377,7 @@
@ BPF_FUNC_memset
bpf_memset
Definition: ebpf_structs.h:161
@ BPF_FUNC_get_smp_processor_id
bpf_get_smp_processor_id
Definition: ebpf_structs.h:145
@ BPF_FUNC_get_prandom_u32
bpf_get_prandom_u32
Definition: ebpf_structs.h:143
+
@ BPF_FUNC_get_socket_cookie
bpf_get_socket_cookie
Definition: ebpf_structs.h:163
@ BPF_FUNC_trace_printk3
bpf_trace_printk3 (but use bpf_printk instead)
Definition: ebpf_structs.h:150
@ BPF_FUNC_map_lookup_and_delete_elem
bpf_map_lookup_and_delete_elem
Definition: ebpf_structs.h:141
@ BPF_FUNC_ringbuf_output
bpf_ringbuf_output
Definition: ebpf_structs.h:148
@@ -395,21 +397,21 @@
@ BPF_FUNC_memcpy
bpf_memcpy
Definition: ebpf_structs.h:159
@ BPF_FUNC_map_push_elem
bpf_map_push_elem
Definition: ebpf_structs.h:153
@ BPF_FUNC_get_current_pid_tgid
bpf_get_current_pid_tgid
Definition: ebpf_structs.h:156
-
bpf_attach_type
Definition: ebpf_structs.h:257
-
@ BPF_XDP
Attach type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:264
-
@ BPF_CGROUP_INET6_CONNECT
Attach type for handling IPv6 TCP connect() or UDP send to a unique remote address/port tuple.
Definition: ebpf_structs.h:284
-
@ BPF_ATTACH_TYPE_UNSPEC
Unspecified attach type.
Definition: ebpf_structs.h:258
-
@ __MAX_BPF_ATTACH_TYPE
Definition: ebpf_structs.h:318
-
@ BPF_ATTACH_TYPE_BIND
Attach type for handling socket bind() requests.
Definition: ebpf_structs.h:270
-
@ BPF_XDP_TEST
Attach type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:316
-
@ BPF_CGROUP_INET6_RECV_ACCEPT
Attach type for handling IPv6 TCP accept() or on receiving the first unicast UDP packet from a unique...
Definition: ebpf_structs.h:298
-
@ BPF_ATTACH_TYPE_SAMPLE
Attach type implemented by eBPF Sample Extension driver, used for testing.
Definition: ebpf_structs.h:310
-
@ BPF_CGROUP_SOCK_OPS
Attach type for handling various socket event notifications.
Definition: ebpf_structs.h:304
-
@ BPF_CGROUP_INET4_RECV_ACCEPT
Attach type for handling IPv4 TCP accept() or on receiving the first unicast UDP packet from a unique...
Definition: ebpf_structs.h:291
-
@ BPF_CGROUP_INET4_CONNECT
Attach type for handling IPv4 TCP connect() or UDP send to a unique remote address/port tuple.
Definition: ebpf_structs.h:277
+
bpf_attach_type
Definition: ebpf_structs.h:258
+
@ BPF_XDP
Attach type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:265
+
@ BPF_CGROUP_INET6_CONNECT
Attach type for handling IPv6 TCP connect() or UDP send to a unique remote address/port tuple.
Definition: ebpf_structs.h:285
+
@ BPF_ATTACH_TYPE_UNSPEC
Unspecified attach type.
Definition: ebpf_structs.h:259
+
@ __MAX_BPF_ATTACH_TYPE
Definition: ebpf_structs.h:319
+
@ BPF_ATTACH_TYPE_BIND
Attach type for handling socket bind() requests.
Definition: ebpf_structs.h:271
+
@ BPF_XDP_TEST
Attach type for handling incoming packets as early as possible.
Definition: ebpf_structs.h:317
+
@ BPF_CGROUP_INET6_RECV_ACCEPT
Attach type for handling IPv6 TCP accept() or on receiving the first unicast UDP packet from a unique...
Definition: ebpf_structs.h:299
+
@ BPF_ATTACH_TYPE_SAMPLE
Attach type implemented by eBPF Sample Extension driver, used for testing.
Definition: ebpf_structs.h:311
+
@ BPF_CGROUP_SOCK_OPS
Attach type for handling various socket event notifications.
Definition: ebpf_structs.h:305
+
@ BPF_CGROUP_INET4_RECV_ACCEPT
Attach type for handling IPv4 TCP accept() or on receiving the first unicast UDP packet from a unique...
Definition: ebpf_structs.h:292
+
@ BPF_CGROUP_INET4_CONNECT
Attach type for handling IPv4 TCP connect() or UDP send to a unique remote address/port tuple.
Definition: ebpf_structs.h:278
struct _ebpf_map_definition_in_file ebpf_map_definition_in_file_t
eBPF Map Definition as it appears in the maps section of an ELF file.
-
#define BPF_OBJ_NAME_LEN
Definition: ebpf_structs.h:360
-
enum bpf_attach_type bpf_attach_type_t
Definition: ebpf_structs.h:321
+
#define BPF_OBJ_NAME_LEN
Definition: ebpf_structs.h:361
+
enum bpf_attach_type bpf_attach_type_t
Definition: ebpf_structs.h:322
ebpf_map_option
Definition: ebpf_structs.h:74
@ EBPF_ANY
Create a new element or update an existing element.
Definition: ebpf_structs.h:75
@ EBPF_EXIST
Update an existing element.
Definition: ebpf_structs.h:77
@@ -448,38 +450,38 @@
uint32_t max_entries
Maximum number of entries allowed in the map.
Definition: ebpf_structs.h:106
ebpf_pin_type_t pinning
Definition: ebpf_structs.h:108
uint32_t value_size
Size in bytes of a map value.
Definition: ebpf_structs.h:105
- + - - - - - - - - - + + + + + + + + + -
eBPF map information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a map fd.
Definition: ebpf_structs.h:367
-
uint32_t max_entries
Maximum number of entries allowed in the map.
Definition: ebpf_structs.h:373
-
char name[BPF_OBJ_NAME_LEN]
Null-terminated map name.
Definition: ebpf_structs.h:374
-
ebpf_map_type_t type
Type of map.
Definition: ebpf_structs.h:370
-
uint32_t key_size
Size in bytes of a map key.
Definition: ebpf_structs.h:371
-
ebpf_id_t id
Map ID.
Definition: ebpf_structs.h:369
-
uint32_t map_flags
Map flags.
Definition: ebpf_structs.h:375
-
uint32_t pinned_path_count
Number of pinned paths.
Definition: ebpf_structs.h:379
-
uint32_t value_size
Size in bytes of a map value.
Definition: ebpf_structs.h:372
-
ebpf_id_t inner_map_id
ID of inner map template.
Definition: ebpf_structs.h:378
-
eBPF program information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a prog...
Definition: ebpf_structs.h:391
-
ebpf_attach_type_t attach_type_uuid
Attach type UUID.
Definition: ebpf_structs.h:401
-
uint32_t pinned_path_count
Number of pinned paths.
Definition: ebpf_structs.h:402
-
uint32_t link_count
Number of attached links.
Definition: ebpf_structs.h:403
-
enum bpf_prog_type type
Program type, if a cross-platform type.
Definition: ebpf_structs.h:394
-
char name[BPF_OBJ_NAME_LEN]
Null-terminated program name.
Definition: ebpf_structs.h:397
-
uintptr_t map_ids
Pointer to caller-allocated array to fill map IDs into.
Definition: ebpf_structs.h:396
-
uint32_t nr_map_ids
Number of maps associated with this program.
Definition: ebpf_structs.h:395
-
ebpf_id_t id
Program ID.
Definition: ebpf_structs.h:393
-
ebpf_program_type_t type_uuid
Program type UUID.
Definition: ebpf_structs.h:400
+
eBPF map information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a map fd.
Definition: ebpf_structs.h:368
+
uint32_t max_entries
Maximum number of entries allowed in the map.
Definition: ebpf_structs.h:374
+
char name[BPF_OBJ_NAME_LEN]
Null-terminated map name.
Definition: ebpf_structs.h:375
+
ebpf_map_type_t type
Type of map.
Definition: ebpf_structs.h:371
+
uint32_t key_size
Size in bytes of a map key.
Definition: ebpf_structs.h:372
+
ebpf_id_t id
Map ID.
Definition: ebpf_structs.h:370
+
uint32_t map_flags
Map flags.
Definition: ebpf_structs.h:376
+
uint32_t pinned_path_count
Number of pinned paths.
Definition: ebpf_structs.h:380
+
uint32_t value_size
Size in bytes of a map value.
Definition: ebpf_structs.h:373
+
ebpf_id_t inner_map_id
ID of inner map template.
Definition: ebpf_structs.h:379
+
eBPF program information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a prog...
Definition: ebpf_structs.h:392
+
ebpf_attach_type_t attach_type_uuid
Attach type UUID.
Definition: ebpf_structs.h:402
+
uint32_t pinned_path_count
Number of pinned paths.
Definition: ebpf_structs.h:403
+
uint32_t link_count
Number of attached links.
Definition: ebpf_structs.h:404
+
enum bpf_prog_type type
Program type, if a cross-platform type.
Definition: ebpf_structs.h:395
+
char name[BPF_OBJ_NAME_LEN]
Null-terminated program name.
Definition: ebpf_structs.h:398
+
uintptr_t map_ids
Pointer to caller-allocated array to fill map IDs into.
Definition: ebpf_structs.h:397
+
uint32_t nr_map_ids
Number of maps associated with this program.
Definition: ebpf_structs.h:396
+
ebpf_id_t id
Program ID.
Definition: ebpf_structs.h:394
+
ebpf_program_type_t type_uuid
Program type UUID.
Definition: ebpf_structs.h:401