Commit 1375dc4a authored by Toke Høiland-Jørgensen's avatar Toke Høiland-Jørgensen Committed by Alexei Starovoitov
Browse files

tools: Add definitions for devmap_hash map type



This adds selftest and bpftool updates for the devmap_hash map type.

Signed-off-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
Acked-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent e4234619
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ MAP COMMANDS
|	*TYPE* := { **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**
|		| **devmap** | **devmap_hash** | **sockmap** | **cpumap** | **xskmap** | **sockhash**
|		| **cgroup_storage** | **reuseport_sockarray** | **percpu_cgroup_storage**
|		| **queue** | **stack** }

+2 −2
Original line number Diff line number Diff line
@@ -489,8 +489,8 @@ _bpftool()
                                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 reuseport_sockarray \
                                hash_of_maps devmap devmap_hash sockmap cpumap \
                                xskmap sockhash cgroup_storage reuseport_sockarray \
                                percpu_cgroup_storage queue stack' -- \
                                                   "$cur" ) )
                            return 0
+2 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ const char * const map_type_name[] = {
	[BPF_MAP_TYPE_ARRAY_OF_MAPS]		= "array_of_maps",
	[BPF_MAP_TYPE_HASH_OF_MAPS]		= "hash_of_maps",
	[BPF_MAP_TYPE_DEVMAP]			= "devmap",
	[BPF_MAP_TYPE_DEVMAP_HASH]		= "devmap_hash",
	[BPF_MAP_TYPE_SOCKMAP]			= "sockmap",
	[BPF_MAP_TYPE_CPUMAP]			= "cpumap",
	[BPF_MAP_TYPE_XSKMAP]			= "xskmap",
@@ -1271,7 +1272,7 @@ static int do_help(int argc, char **argv)
		"       TYPE := { hash | array | prog_array | perf_event_array | percpu_hash |\n"
		"                 percpu_array | stack_trace | cgroup_array | lru_hash |\n"
		"                 lru_percpu_hash | lpm_trie | array_of_maps | hash_of_maps |\n"
		"                 devmap | sockmap | cpumap | xskmap | sockhash |\n"
		"                 devmap | devmap_hash | sockmap | cpumap | xskmap | sockhash |\n"
		"                 cgroup_storage | reuseport_sockarray | percpu_cgroup_storage }\n"
		"       " HELP_SPEC_OPTIONS "\n"
		"",
+16 −0
Original line number Diff line number Diff line
@@ -508,6 +508,21 @@ static void test_devmap(unsigned int task, void *data)
	close(fd);
}

static void test_devmap_hash(unsigned int task, void *data)
{
	int fd;
	__u32 key, value;

	fd = bpf_create_map(BPF_MAP_TYPE_DEVMAP_HASH, sizeof(key), sizeof(value),
			    2, 0);
	if (fd < 0) {
		printf("Failed to create devmap_hash '%s'!\n", strerror(errno));
		exit(1);
	}

	close(fd);
}

static void test_queuemap(unsigned int task, void *data)
{
	const int MAP_SIZE = 32;
@@ -1684,6 +1699,7 @@ static void run_all_tests(void)
	test_arraymap_percpu_many_keys();

	test_devmap(0, NULL);
	test_devmap_hash(0, NULL);
	test_sockmap(0, NULL);

	test_map_large();