bpftool: Add support for task local storage
authorKP Singh <kpsingh@google.com>
Fri, 6 Nov 2020 10:37:42 +0000 (10:37 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 6 Nov 2020 16:08:37 +0000 (08:08 -0800)
Updates the binary to handle the BPF_MAP_TYPE_TASK_STORAGE as
"task_storage" for printing and parsing. Also updates the documentation
and bash completion

Signed-off-by: KP Singh <kpsingh@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20201106103747.2780972-5-kpsingh@chromium.org
tools/bpf/bpftool/Documentation/bpftool-map.rst
tools/bpf/bpftool/bash-completion/bpftool
tools/bpf/bpftool/map.c

index dade10cdf295b12b7ef98ddc3a19005b34a46411..3d52256ba75f6950665c590bf0fa75478efb972a 100644 (file)
@@ -50,7 +50,8 @@ MAP COMMANDS
 |              | **lru_percpu_hash** | **lpm_trie** | **array_of_maps** | **hash_of_maps**
 |              | **devmap** | **devmap_hash** | **sockmap** | **cpumap** | **xskmap** | **sockhash**
 |              | **cgroup_storage** | **reuseport_sockarray** | **percpu_cgroup_storage**
-|              | **queue** | **stack** | **sk_storage** | **struct_ops** | **ringbuf** | **inode_storage** }
+|              | **queue** | **stack** | **sk_storage** | **struct_ops** | **ringbuf** | **inode_storage**
+               | **task_storage** }
 
 DESCRIPTION
 ===========
index 3f1da30c4da6e7b5a39001044186581d4de54f37..fdffbc64c65c68fd13e1eb386ba536554bb277f3 100644 (file)
@@ -705,7 +705,7 @@ _bpftool()
                                 hash_of_maps devmap devmap_hash sockmap cpumap \
                                 xskmap sockhash cgroup_storage reuseport_sockarray \
                                 percpu_cgroup_storage queue stack sk_storage \
-                                struct_ops inode_storage' -- \
+                                struct_ops inode_storage task_storage' -- \
                                                    "$cur" ) )
                             return 0
                             ;;
index a7efbd84fbcc44310f25d2d2139a999fca7b3eea..b400364ee054e553efcb5af98b9a14a9f90d84c1 100644 (file)
@@ -51,6 +51,7 @@ const char * const map_type_name[] = {
        [BPF_MAP_TYPE_STRUCT_OPS]               = "struct_ops",
        [BPF_MAP_TYPE_RINGBUF]                  = "ringbuf",
        [BPF_MAP_TYPE_INODE_STORAGE]            = "inode_storage",
+       [BPF_MAP_TYPE_TASK_STORAGE]             = "task_storage",
 };
 
 const size_t map_type_name_size = ARRAY_SIZE(map_type_name);
@@ -1464,7 +1465,8 @@ static int do_help(int argc, char **argv)
                "                 lru_percpu_hash | lpm_trie | array_of_maps | hash_of_maps |\n"
                "                 devmap | devmap_hash | sockmap | cpumap | xskmap | sockhash |\n"
                "                 cgroup_storage | reuseport_sockarray | percpu_cgroup_storage |\n"
-               "                 queue | stack | sk_storage | struct_ops | ringbuf | inode_storage }\n"
+               "                 queue | stack | sk_storage | struct_ops | ringbuf | inode_storage |\n"
+               "                 task_storage }\n"
                "       " HELP_SPEC_OPTIONS "\n"
                "",
                bin_name, argv[-2]);