bpftool: Add link dump support for BPF_LINK_TYPE_SOCKMAP
authorYonghong Song <yonghong.song@linux.dev>
Wed, 10 Apr 2024 04:35:37 +0000 (21:35 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 11 Apr 2024 02:52:25 +0000 (19:52 -0700)
An example output looks like:
  $ bpftool link
    1776: sk_skb  prog 49730
            map_id 0  attach_type sk_skb_verdict
            pids test_progs(8424)
    1777: sk_skb  prog 49755
            map_id 0  attach_type sk_skb_stream_verdict
            pids test_progs(8424)
    1778: sk_msg  prog 49770
            map_id 8208  attach_type sk_msg_verdict
            pids test_progs(8424)

Reviewed-by: John Fastabend <john.fastabend@gmail.com>
Reviewed-by: Quentin Monnet <qmo@kernel.org>
Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20240410043537.3737928-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/bpf/bpftool/link.c

index afde9d0c2ea1912f65ceea07ee92dbaef587e38a..5cd503b763d721933a4776227eb68540db8dd181 100644 (file)
@@ -526,6 +526,10 @@ static int show_link_close_json(int fd, struct bpf_link_info *info)
                show_link_ifindex_json(info->netkit.ifindex, json_wtr);
                show_link_attach_type_json(info->netkit.attach_type, json_wtr);
                break;
+       case BPF_LINK_TYPE_SOCKMAP:
+               jsonw_uint_field(json_wtr, "map_id", info->sockmap.map_id);
+               show_link_attach_type_json(info->sockmap.attach_type, json_wtr);
+               break;
        case BPF_LINK_TYPE_XDP:
                show_link_ifindex_json(info->xdp.ifindex, json_wtr);
                break;
@@ -915,6 +919,11 @@ static int show_link_close_plain(int fd, struct bpf_link_info *info)
                show_link_ifindex_plain(info->netkit.ifindex);
                show_link_attach_type_plain(info->netkit.attach_type);
                break;
+       case BPF_LINK_TYPE_SOCKMAP:
+               printf("\n\t");
+               printf("map_id %u  ", info->sockmap.map_id);
+               show_link_attach_type_plain(info->sockmap.attach_type);
+               break;
        case BPF_LINK_TYPE_XDP:
                printf("\n\t");
                show_link_ifindex_plain(info->xdp.ifindex);