Cleanup ebpf_map_metadata_tables (#2565)

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
This commit is contained in:
Alan Jowett 2023-06-09 12:24:42 -07:00 коммит произвёл GitHub
Родитель 9edb6a3da8
Коммит f734b5e1d9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 99 добавлений и 195 удалений

Просмотреть файл

@ -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,
},
};