Cleanup ebpf_map_metadata_tables (#2565)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
This commit is contained in:
Родитель
9edb6a3da8
Коммит
f734b5e1d9
|
@ -1425,7 +1425,7 @@ _update_hash_map_entry_with_handle(
|
|||
goto Done;
|
||||
}
|
||||
|
||||
//Store the content of old object ID.
|
||||
// Store the content of old object ID.
|
||||
ebpf_id_t old_id = (old_value) ? *(ebpf_id_t*)old_value : 0;
|
||||
// Store the new object ID as the value.
|
||||
result =
|
||||
|
@ -1991,226 +1991,130 @@ const ebpf_map_metadata_table_t ebpf_map_metadata_tables[] = {
|
|||
NULL,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_HASH,
|
||||
_create_hash_map,
|
||||
_delete_hash_map,
|
||||
NULL,
|
||||
_find_hash_map_entry,
|
||||
NULL,
|
||||
_update_hash_map_entry,
|
||||
NULL,
|
||||
NULL,
|
||||
_delete_hash_map_entry,
|
||||
_next_hash_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_HASH,
|
||||
.create_map = _create_hash_map,
|
||||
.delete_map = _delete_hash_map,
|
||||
.find_entry = _find_hash_map_entry,
|
||||
.update_entry = _update_hash_map_entry,
|
||||
.delete_entry = _delete_hash_map_entry,
|
||||
.next_key = _next_hash_map_key,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_ARRAY,
|
||||
_create_array_map,
|
||||
_delete_array_map,
|
||||
NULL,
|
||||
_find_array_map_entry,
|
||||
NULL,
|
||||
_update_array_map_entry,
|
||||
NULL,
|
||||
NULL,
|
||||
_delete_array_map_entry,
|
||||
_next_array_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_ARRAY,
|
||||
.create_map = _create_array_map,
|
||||
.delete_map = _delete_array_map,
|
||||
.find_entry = _find_array_map_entry,
|
||||
.update_entry = _update_array_map_entry,
|
||||
.delete_entry = _delete_array_map_entry,
|
||||
.next_key = _next_array_map_key,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_PROG_ARRAY,
|
||||
_create_object_array_map,
|
||||
_delete_program_array_map,
|
||||
_associate_program_with_prog_array_map,
|
||||
_find_array_map_entry,
|
||||
_get_object_from_array_map_entry,
|
||||
NULL,
|
||||
_update_prog_array_map_entry_with_handle,
|
||||
NULL,
|
||||
_delete_program_array_map_entry,
|
||||
_next_array_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_PROG_ARRAY,
|
||||
.create_map = _create_object_array_map,
|
||||
.delete_map = _delete_program_array_map,
|
||||
.associate_program = _associate_program_with_prog_array_map,
|
||||
.find_entry = _find_array_map_entry,
|
||||
.get_object_from_entry = _get_object_from_array_map_entry,
|
||||
.update_entry_with_handle = _update_prog_array_map_entry_with_handle,
|
||||
.delete_entry = _delete_program_array_map_entry,
|
||||
.next_key = _next_array_map_key,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_PERCPU_HASH,
|
||||
_create_hash_map,
|
||||
_delete_hash_map,
|
||||
NULL,
|
||||
_find_hash_map_entry,
|
||||
NULL,
|
||||
_update_hash_map_entry,
|
||||
NULL,
|
||||
_update_entry_per_cpu,
|
||||
_delete_hash_map_entry,
|
||||
_next_hash_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
true, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_PERCPU_HASH,
|
||||
.create_map = _create_hash_map,
|
||||
.delete_map = _delete_hash_map,
|
||||
.find_entry = _find_hash_map_entry,
|
||||
.update_entry = _update_hash_map_entry,
|
||||
.update_entry_per_cpu = _update_entry_per_cpu,
|
||||
.delete_entry = _delete_hash_map_entry,
|
||||
.next_key = _next_hash_map_key,
|
||||
.per_cpu = true,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_PERCPU_ARRAY,
|
||||
_create_array_map,
|
||||
_delete_array_map,
|
||||
NULL,
|
||||
_find_array_map_entry,
|
||||
NULL,
|
||||
_update_array_map_entry,
|
||||
NULL,
|
||||
_update_entry_per_cpu,
|
||||
_delete_array_map_entry,
|
||||
_next_array_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
true, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_PERCPU_ARRAY,
|
||||
.create_map = _create_array_map,
|
||||
.delete_map = _delete_array_map,
|
||||
.find_entry = _find_array_map_entry,
|
||||
.update_entry = _update_array_map_entry,
|
||||
.update_entry_per_cpu = _update_entry_per_cpu,
|
||||
.delete_entry = _delete_array_map_entry,
|
||||
.next_key = _next_array_map_key,
|
||||
.per_cpu = true,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_HASH_OF_MAPS,
|
||||
_create_object_hash_map,
|
||||
_delete_object_hash_map,
|
||||
NULL,
|
||||
_find_hash_map_entry,
|
||||
_get_object_from_hash_map_entry,
|
||||
NULL,
|
||||
_update_map_hash_map_entry_with_handle,
|
||||
NULL,
|
||||
_delete_map_hash_map_entry,
|
||||
_next_array_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_HASH_OF_MAPS,
|
||||
.create_map = _create_object_hash_map,
|
||||
.delete_map = _delete_object_hash_map,
|
||||
.find_entry = _find_hash_map_entry,
|
||||
.get_object_from_entry = _get_object_from_hash_map_entry,
|
||||
.update_entry_with_handle = _update_map_hash_map_entry_with_handle,
|
||||
.delete_entry = _delete_map_hash_map_entry,
|
||||
.next_key = _next_array_map_key,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_ARRAY_OF_MAPS,
|
||||
_create_object_array_map,
|
||||
_delete_map_array_map,
|
||||
NULL,
|
||||
_find_array_map_entry,
|
||||
_get_object_from_array_map_entry,
|
||||
NULL,
|
||||
_update_map_array_map_entry_with_handle,
|
||||
NULL,
|
||||
_delete_map_array_map_entry,
|
||||
_next_array_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_ARRAY_OF_MAPS,
|
||||
.create_map = _create_object_array_map,
|
||||
.delete_map = _delete_map_array_map,
|
||||
.find_entry = _find_array_map_entry,
|
||||
.get_object_from_entry = _get_object_from_array_map_entry,
|
||||
.update_entry_with_handle = _update_map_array_map_entry_with_handle,
|
||||
.delete_entry = _delete_map_array_map_entry,
|
||||
.next_key = _next_array_map_key,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_LRU_HASH,
|
||||
_create_lru_hash_map,
|
||||
_delete_hash_map,
|
||||
NULL,
|
||||
_find_hash_map_entry,
|
||||
NULL,
|
||||
_update_hash_map_entry,
|
||||
NULL,
|
||||
NULL,
|
||||
_delete_hash_map_entry,
|
||||
_next_hash_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
true, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_LRU_HASH,
|
||||
.create_map = _create_lru_hash_map,
|
||||
.delete_map = _delete_hash_map,
|
||||
.find_entry = _find_hash_map_entry,
|
||||
.update_entry = _update_hash_map_entry,
|
||||
.delete_entry = _delete_hash_map_entry,
|
||||
.next_key = _next_hash_map_key,
|
||||
.key_history = true,
|
||||
},
|
||||
// LPM_TRIE is currently a hash-map with special behavior for find.
|
||||
{
|
||||
BPF_MAP_TYPE_LPM_TRIE,
|
||||
_create_lpm_map,
|
||||
_delete_hash_map,
|
||||
NULL,
|
||||
_find_lpm_map_entry,
|
||||
NULL,
|
||||
_update_lpm_map_entry,
|
||||
NULL,
|
||||
NULL,
|
||||
_delete_lpm_map_entry,
|
||||
_next_hash_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_LPM_TRIE,
|
||||
.create_map = _create_lpm_map,
|
||||
.delete_map = _delete_hash_map,
|
||||
.find_entry = _find_lpm_map_entry,
|
||||
.update_entry = _update_lpm_map_entry,
|
||||
.delete_entry = _delete_lpm_map_entry,
|
||||
.next_key = _next_hash_map_key,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_QUEUE,
|
||||
_create_queue_map,
|
||||
_delete_circular_map,
|
||||
NULL,
|
||||
_find_circular_map_entry,
|
||||
NULL,
|
||||
_update_circular_map_entry,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
true, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_QUEUE,
|
||||
.create_map = _create_queue_map,
|
||||
.delete_map = _delete_circular_map,
|
||||
.find_entry = _find_circular_map_entry,
|
||||
.update_entry = _update_circular_map_entry,
|
||||
.zero_length_key = true,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_LRU_PERCPU_HASH,
|
||||
_create_lru_hash_map,
|
||||
_delete_hash_map,
|
||||
NULL,
|
||||
_find_hash_map_entry,
|
||||
NULL,
|
||||
_update_hash_map_entry,
|
||||
NULL,
|
||||
_update_entry_per_cpu,
|
||||
_delete_hash_map_entry,
|
||||
_next_hash_map_key,
|
||||
false, // Zero length key.
|
||||
false, // Zero length value.
|
||||
true, // Per-cpu.
|
||||
true, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_LRU_PERCPU_HASH,
|
||||
.create_map = _create_lru_hash_map,
|
||||
.delete_map = _delete_hash_map,
|
||||
.find_entry = _find_hash_map_entry,
|
||||
.update_entry = _update_hash_map_entry,
|
||||
.update_entry_per_cpu = _update_entry_per_cpu,
|
||||
.delete_entry = _delete_hash_map_entry,
|
||||
.next_key = _next_hash_map_key,
|
||||
.per_cpu = true,
|
||||
.key_history = true,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_STACK,
|
||||
_create_stack_map,
|
||||
_delete_circular_map,
|
||||
NULL,
|
||||
_find_circular_map_entry,
|
||||
NULL,
|
||||
_update_circular_map_entry,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
true, // Zero length key.
|
||||
false, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.map_type = BPF_MAP_TYPE_STACK,
|
||||
.create_map = _create_stack_map,
|
||||
.delete_map = _delete_circular_map,
|
||||
.find_entry = _find_circular_map_entry,
|
||||
.update_entry = _update_circular_map_entry,
|
||||
.zero_length_key = true,
|
||||
},
|
||||
{
|
||||
BPF_MAP_TYPE_RINGBUF,
|
||||
_create_ring_buffer_map,
|
||||
_delete_ring_buffer_map,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
true, // Zero length key.
|
||||
true, // Zero length value.
|
||||
false, // Per-cpu.
|
||||
false, // Key history,
|
||||
.create_map = _create_ring_buffer_map,
|
||||
.delete_map = _delete_ring_buffer_map,
|
||||
.zero_length_key = true,
|
||||
.zero_length_value = true,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче