diff --git a/annotated.html b/annotated.html index 5308da0115..1961b4d751 100644 --- a/annotated.html +++ b/annotated.html @@ -74,43 +74,44 @@  C_ebpf_execution_context_state  C_ebpf_extension_data  C_ebpf_extension_dispatch_table - C_ebpf_extension_program_dispatch_table - C_ebpf_helper_function_addresses - C_ebpf_helper_function_prototype - C_ebpf_map_definition_in_fileEBPF Map Definition as it appears in the maps section of an ELF file - C_ebpf_map_definition_in_memoryEBPF Map Definition as it is stored in memory - C_ebpf_map_infoEBPF Map Information - C_ebpf_program_data - C_ebpf_program_info - C_ebpf_program_section_info - C_ebpf_program_type_descriptor - C_ebpf_ring_buffer_map_async_query_result - C_ebpf_section_info - C_ebpf_stat - C_ebpf_test_run_options - C_ETHERNET_HEADER - C_helper_function_entryHelper function entry. This structure defines a helper function entry in the metadata table. The address of the helper function is written into the entry during load time. The helper_id and name are used to identify the helper function to bind to when the program is loaded - C_IPV4_HEADER - C_IPV6_HEADER - C_map_entryMap entry. This structure contains the address of the map and the map definition. The address is written into the entry during load time. The map definition is used to initialize the map when the program is loaded - C_map_initial_valuesMap initial values. This structure contains the initial values for a map. The values are used to initialize the map when the program is loaded. Values are specified as strings and are converted to the appropriate type based on the map definition. Only BPF_MAP_TYPE_ARRAY_OF_MAPS and BPF_MAP_TYPE_PROG_ARRAY map types are supported - C_metadata_tableMetadata table for a module. This structure is returned by the module's metadata function, get_metadata_table and contains information about the module including the list of programs and maps - C_program_entryProgram entry. This structure contains the address of the program and additional information about the program - Cbpf_attrParameters used by the bpf() API - Cbpf_create_map_attr - Cbpf_link_detach_attr_tAttributes used by BPF_LINK_DETACH - Cbpf_link_infoEBPF link information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a link fd - Cbpf_load_program_attr - Cbpf_map_infoEBPF map information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a map fd - Cbpf_obj_info_attr_tAttributes used by BPF_OBJ_GET_INFO_BY_FD - Cbpf_object_load_attr - Cbpf_prog_bind_map_attr_tAttributes used by BPF_PROG_BIND_MAP - Cbpf_prog_infoEBPF program information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a program fd - Cbpf_sock_addrData structure used as context for BPF_PROG_TYPE_CGROUP_SOCK_ADDR program type - Cebpf_api_verifier_stats_t - Ctcphdr - CUDP_HEADER_ - Cxdp_md_ + C_ebpf_extension_headerHeader of an eBPF extension data structure. Every eBPF extension data structure must start with this header. New fields can be added to the end of an eBPF extension data structure without breaking backward compatibility. The version field must be updated only if the new data structure is not backward compatible + C_ebpf_extension_program_dispatch_table + C_ebpf_helper_function_addresses + C_ebpf_helper_function_prototype + C_ebpf_map_definition_in_fileEBPF Map Definition as it appears in the maps section of an ELF file + C_ebpf_map_definition_in_memoryEBPF Map Definition as it is stored in memory + C_ebpf_map_infoEBPF Map Information + C_ebpf_program_data + C_ebpf_program_info + C_ebpf_program_section_info + C_ebpf_program_type_descriptor + C_ebpf_ring_buffer_map_async_query_result + C_ebpf_section_info + C_ebpf_stat + C_ebpf_test_run_options + C_ETHERNET_HEADER + C_helper_function_entryHelper function entry. This structure defines a helper function entry in the metadata table. The address of the helper function is written into the entry during load time. The helper_id and name are used to identify the helper function to bind to when the program is loaded + C_IPV4_HEADER + C_IPV6_HEADER + C_map_entryMap entry. This structure contains the address of the map and the map definition. The address is written into the entry during load time. The map definition is used to initialize the map when the program is loaded + C_map_initial_valuesMap initial values. This structure contains the initial values for a map. The values are used to initialize the map when the program is loaded. Values are specified as strings and are converted to the appropriate type based on the map definition. Only BPF_MAP_TYPE_ARRAY_OF_MAPS and BPF_MAP_TYPE_PROG_ARRAY map types are supported + C_metadata_tableMetadata table for a module. This structure is returned by the module's metadata function, get_metadata_table and contains information about the module including the list of programs and maps + C_program_entryProgram entry. This structure contains the address of the program and additional information about the program + Cbpf_attrParameters used by the bpf() API + Cbpf_create_map_attr + Cbpf_link_detach_attr_tAttributes used by BPF_LINK_DETACH + Cbpf_link_infoEBPF link information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a link fd + Cbpf_load_program_attr + Cbpf_map_infoEBPF map information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a map fd + Cbpf_obj_info_attr_tAttributes used by BPF_OBJ_GET_INFO_BY_FD + Cbpf_object_load_attr + Cbpf_prog_bind_map_attr_tAttributes used by BPF_PROG_BIND_MAP + Cbpf_prog_infoEBPF program information. This structure can be retrieved by calling bpf_obj_get_info_by_fd on a program fd + Cbpf_sock_addrData structure used as context for BPF_PROG_TYPE_CGROUP_SOCK_ADDR program type + Cebpf_api_verifier_stats_t + Ctcphdr + CUDP_HEADER_ + Cxdp_md_ diff --git a/bpf2c_8h_source.html b/bpf2c_8h_source.html index 04039cc921..0734224d0a 100644 --- a/bpf2c_8h_source.html +++ b/bpf2c_8h_source.html @@ -217,14 +217,14 @@
bpf2c_version_t
struct _bpf2c_version bpf2c_version_t
Version information for the bpf2c compiler. This structure contains the version information for the b...
metadata_table_t
struct _metadata_table metadata_table_t
Metadata table for a module. This structure is returned by the module's metadata function,...
ebpf_structs.h
This file contains eBPF definitions common to eBPF programs, core execution engine as well as eBPF AP...
-
ebpf_attach_type_t
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:44
-
ebpf_program_type_t
GUID ebpf_program_type_t
Definition: ebpf_windows.h:43
+
ebpf_attach_type_t
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:56
+
ebpf_program_type_t
GUID ebpf_program_type_t
Definition: ebpf_windows.h:55
stddef.h
_bpf2c_version
Version information for the bpf2c compiler. This structure contains the version information for the b...
Definition: bpf2c.h:120
_bpf2c_version::major
uint32_t major
Definition: bpf2c.h:121
_bpf2c_version::revision
uint32_t revision
Definition: bpf2c.h:123
_bpf2c_version::minor
uint32_t minor
Definition: bpf2c.h:122
-
_ebpf_map_definition_in_file
eBPF Map Definition as it appears in the maps section of an ELF file.
Definition: ebpf_structs.h:125
+
_ebpf_map_definition_in_file
eBPF Map Definition as it appears in the maps section of an ELF file.
Definition: ebpf_structs.h:115
_helper_function_entry
Helper function entry. This structure defines a helper function entry in the metadata table....
Definition: bpf2c.h:55
_helper_function_entry::tail_call
bool tail_call
Definition: bpf2c.h:59
_helper_function_entry::name
const char * name
Definition: bpf2c.h:58
diff --git a/bpf_2bpf_8h_source.html b/bpf_2bpf_8h_source.html index 84db73dc63..c6f6d50022 100644 --- a/bpf_2bpf_8h_source.html +++ b/bpf_2bpf_8h_source.html @@ -161,8 +161,8 @@
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:177
-
bpf_map_type
bpf_map_type
Definition: ebpf_structs.h:28
+
bpf_prog_type
bpf_prog_type
Definition: ebpf_structs.h:167
+
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__legacy_8h_source.html b/bpf__legacy_8h_source.html index 2309c13365..786bb7dc9f 100644 --- a/bpf__legacy_8h_source.html +++ b/bpf__legacy_8h_source.html @@ -156,9 +156,9 @@
bpf_create_map_in_map
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.
bpf_load_program
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.
bpf_load_program_xattr
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
bpf_prog_type
Definition: ebpf_structs.h:177
-
bpf_attach_type
bpf_attach_type
Definition: ebpf_structs.h:266
-
bpf_map_type
bpf_map_type
Definition: ebpf_structs.h:28
+
bpf_prog_type
bpf_prog_type
Definition: ebpf_structs.h:167
+
bpf_attach_type
bpf_attach_type
Definition: ebpf_structs.h:256
+
bpf_map_type
bpf_map_type
Definition: ebpf_structs.h:18
libbpf.h
bpf_create_map_attr
Definition: bpf_legacy.h:16
bpf_create_map_attr::inner_map_fd
__u32 inner_map_fd
Definition: bpf_legacy.h:30
diff --git a/classes.html b/classes.html index ff737e2b68..660ed28270 100644 --- a/classes.html +++ b/classes.html @@ -84,7 +84,7 @@
xdp_md_
_
-
_bind_md
_bpf2c_version
_bpf_sock_ops
_ebpf_attach_provider_data
_ebpf_execution_context_state
_ebpf_extension_data
_ebpf_extension_dispatch_table
_ebpf_extension_program_dispatch_table
_ebpf_helper_function_addresses
_ebpf_helper_function_prototype
_ebpf_map_definition_in_file
_ebpf_map_definition_in_memory
_ebpf_map_info
_ebpf_program_data
_ebpf_program_info
_ebpf_program_section_info
_ebpf_program_type_descriptor
_ebpf_ring_buffer_map_async_query_result
_ebpf_section_info
_ebpf_stat
_ebpf_test_run_options
_ETHERNET_HEADER
_helper_function_entry
_IPV4_HEADER
_IPV6_HEADER
_map_entry
_map_initial_values
_metadata_table
_program_entry
+
_bind_md
_bpf2c_version
_bpf_sock_ops
_ebpf_attach_provider_data
_ebpf_execution_context_state
_ebpf_extension_data
_ebpf_extension_dispatch_table
_ebpf_extension_header
_ebpf_extension_program_dispatch_table
_ebpf_helper_function_addresses
_ebpf_helper_function_prototype
_ebpf_map_definition_in_file
_ebpf_map_definition_in_memory
_ebpf_map_info
_ebpf_program_data
_ebpf_program_info
_ebpf_program_section_info
_ebpf_program_type_descriptor
_ebpf_ring_buffer_map_async_query_result
_ebpf_section_info
_ebpf_stat
_ebpf_test_run_options
_ETHERNET_HEADER
_helper_function_entry
_IPV4_HEADER
_IPV6_HEADER
_map_entry
_map_initial_values
_metadata_table
_program_entry
diff --git a/ebpf__api_8h_source.html b/ebpf__api_8h_source.html index edaf3d6873..e5c53511dd 100644 --- a/ebpf__api_8h_source.html +++ b/ebpf__api_8h_source.html @@ -321,10 +321,10 @@
ebpf_program_attach_type_guids.h
ebpf_result.h
ebpf_result_t
enum ebpf_result ebpf_result_t
-
ebpf_attach_type_t
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:44
-
ebpf_program_type_t
GUID ebpf_program_type_t
Definition: ebpf_windows.h:43
+
ebpf_attach_type_t
GUID ebpf_attach_type_t
Definition: ebpf_windows.h:56
+
ebpf_program_type_t
GUID ebpf_program_type_t
Definition: ebpf_windows.h:55
_ebpf_map_info
eBPF Map Information
Definition: ebpf_core_structs.h:21
-
_ebpf_program_info
Definition: ebpf_program_types.h:39
+
_ebpf_program_info
Definition: ebpf_program_types.h:38
_ebpf_section_info
Definition: ebpf_api.h:56
_ebpf_section_info::next
struct _ebpf_section_info * next
Definition: ebpf_api.h:57
_ebpf_section_info::section_name
_Field_z_ const char * section_name
Definition: ebpf_api.h:58
diff --git a/ebpf__core__structs_8h_source.html b/ebpf__core__structs_8h_source.html index 31c195f083..a6fa0b8d16 100644 --- a/ebpf__core__structs_8h_source.html +++ b/ebpf__core__structs_8h_source.html @@ -99,7 +99,7 @@
ebpf_handle_t
intptr_t ebpf_handle_t
Definition: ebpf_core_structs.h:26
ebpf_map_info_t
struct _ebpf_map_info ebpf_map_info_t
eBPF Map Information
ebpf_structs.h
This file contains eBPF definitions common to eBPF programs, core execution engine as well as eBPF AP...
-
_ebpf_map_definition_in_memory
eBPF Map Definition as it is stored in memory.
Definition: ebpf_structs.h:112
+
_ebpf_map_definition_in_memory
eBPF Map Definition as it is stored in memory.
Definition: ebpf_structs.h:102
_ebpf_map_info
eBPF Map Information
Definition: ebpf_core_structs.h:21
_ebpf_map_info::definition
ebpf_map_definition_in_memory_t definition
Definition: ebpf_core_structs.h:22
_ebpf_map_info::pin_path
_Field_z_ char * pin_path
Definition: ebpf_core_structs.h:23
diff --git a/ebpf__extension_8h.html b/ebpf__extension_8h.html index 5dae8be35e..c3e989ad1e 100644 --- a/ebpf__extension_8h.html +++ b/ebpf__extension_8h.html @@ -67,7 +67,6 @@
Data Structures | -Macros | Typedefs
ebpf_extension.h File Reference
@@ -92,17 +91,6 @@ struct  _ebpf_execution_context_state   - - - - - - - - - -

-Macros

#define EBPF_ATTACH_CLIENT_DATA_VERSION   0
 
#define EBPF_ATTACH_PROVIDER_DATA_VERSION   1
 
#define EBPF_PROGRAM_INFORMATION_PROVIDER_DATA_VERSION   0
 
#define EBPF_MAX_GENERAL_HELPER_FUNCTION   0xFFFF
 
@@ -130,63 +118,6 @@

Typedefs

typedef ebpf_result_t(* _ebpf_extension_dispatch_function) ()
typedef struct _ebpf_execution_context_state ebpf_execution_context_state_t
 
-

Macro Definition Documentation

- -

◆ EBPF_ATTACH_CLIENT_DATA_VERSION

- -
-
- - - - -
#define EBPF_ATTACH_CLIENT_DATA_VERSION   0
-
- -
-
- -

◆ EBPF_ATTACH_PROVIDER_DATA_VERSION

- -
-
- - - - -
#define EBPF_ATTACH_PROVIDER_DATA_VERSION   1
-
- -
-
- -

◆ EBPF_MAX_GENERAL_HELPER_FUNCTION

- -
-
- - - - -
#define EBPF_MAX_GENERAL_HELPER_FUNCTION   0xFFFF
-
- -
-
- -

◆ EBPF_PROGRAM_INFORMATION_PROVIDER_DATA_VERSION

- -
-
- - - - -
#define EBPF_PROGRAM_INFORMATION_PROVIDER_DATA_VERSION   0
-
- -
-

Typedef Documentation

◆ _ebpf_extension_dispatch_function

diff --git a/ebpf__extension_8h_source.html b/ebpf__extension_8h_source.html index 0d56bada9e..e75c34359f 100644 --- a/ebpf__extension_8h_source.html +++ b/ebpf__extension_8h_source.html @@ -113,13 +113,13 @@
87 
88 typedef struct _ebpf_extension_data
89 {
-
90  uint16_t version;
-
91  size_t size;
-
92  const void* data;
-
93 } ebpf_extension_data_t;
-
94 
-
95 typedef struct _ebpf_attach_provider_data
-
96 {
+
90  ebpf_extension_header_t header;
+
91  const void* data;
+
92 } ebpf_extension_data_t;
+
93 
+
94 typedef struct _ebpf_attach_provider_data
+
95 {
+
96  ebpf_extension_header_t header;
97  ebpf_program_type_t supported_program_type;
98  bpf_attach_type_t bpf_attach_type;
99  enum bpf_link_type link_type;
@@ -145,11 +145,6 @@
119  uint32_t count;
120  } tail_call_state;
121 } ebpf_execution_context_state_t;
-
122 
-
123 #define EBPF_ATTACH_CLIENT_DATA_VERSION 0
-
124 #define EBPF_ATTACH_PROVIDER_DATA_VERSION 1
-
125 #define EBPF_PROGRAM_INFORMATION_PROVIDER_DATA_VERSION 0
-
126 #define EBPF_MAX_GENERAL_HELPER_FUNCTION 0xFFFF
struct _ebpf_attach_provider_data ebpf_attach_provider_data_t
struct _ebpf_extension_dispatch_table ebpf_extension_dispatch_table_t
struct _ebpf_extension_data ebpf_extension_data_t
@@ -163,11 +158,12 @@
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:253
-
enum bpf_attach_type bpf_attach_type_t
Definition: ebpf_structs.h:330
+
bpf_link_type
Definition: ebpf_structs.h:243
+
enum bpf_attach_type bpf_attach_type_t
Definition: ebpf_structs.h:320
-
GUID ebpf_program_type_t
Definition: ebpf_windows.h:43
-
Definition: ebpf_extension.h:96
+
GUID ebpf_program_type_t
Definition: ebpf_windows.h:55
+
Definition: ebpf_extension.h:95
+
ebpf_extension_header_t header
Definition: ebpf_extension.h:96
ebpf_program_type_t supported_program_type
Definition: ebpf_extension.h:97
bpf_attach_type_t bpf_attach_type
Definition: ebpf_extension.h:98
enum bpf_link_type link_type
Definition: ebpf_extension.h:99
@@ -181,13 +177,13 @@
const void * next_program
Definition: ebpf_extension.h:118
uint32_t cpu
Definition: ebpf_extension.h:113
Definition: ebpf_extension.h:89
-
uint16_t version
Definition: ebpf_extension.h:90
-
size_t size
Definition: ebpf_extension.h:91
-
const void * data
Definition: ebpf_extension.h:92
+
ebpf_extension_header_t header
Definition: ebpf_extension.h:90
+
const void * data
Definition: ebpf_extension.h:91
Definition: ebpf_extension.h:12
uint16_t version
Version of the dispatch table.
Definition: ebpf_extension.h:13
uint16_t count
Number of entries in the dispatch table.
Definition: ebpf_extension.h:14
_Field_size_(count) _ebpf_extension_dispatch_function function[1]
+
Header of an eBPF extension data structure. Every eBPF extension data structure must start with this ...
Definition: ebpf_windows.h:101
Definition: ebpf_extension.h:79
ebpf_program_invoke_function_t ebpf_program_invoke_function
Definition: ebpf_extension.h:82
ebpf_program_batch_begin_invoke_function_t ebpf_program_batch_begin_invoke_function
Definition: ebpf_extension.h:83
diff --git a/ebpf__extension__uuids_8h_source.html b/ebpf__extension__uuids_8h_source.html index 7c2e5d4a7f..7fd000c9cf 100644 --- a/ebpf__extension__uuids_8h_source.html +++ b/ebpf__extension__uuids_8h_source.html @@ -93,7 +93,7 @@
GUID EBPF_HOOK_EXTENSION_IID
NPI ID for eBPF hook extension.
Definition: ebpf_extension_uuids.h:20
GUID EBPF_PROGRAM_INFO_EXTENSION_IID
NPI ID for eBPF program information extension.
Definition: ebpf_extension_uuids.h:14
-
uint8_t GUID[16]
Definition: ebpf_windows.h:13
+
uint8_t GUID[16]
Definition: ebpf_windows.h:8