bpftool: Extend net dump with netkit progs
authorDaniel Borkmann <daniel@iogearbox.net>
Tue, 24 Oct 2023 21:49:02 +0000 (23:49 +0200)
committerMartin KaFai Lau <martin.lau@kernel.org>
Tue, 24 Oct 2023 23:07:32 +0000 (16:07 -0700)
commitbec981a4add6dd6a63065e54e2b2e67c2af6c3fa
treeacd73a5086c3e112b9673d2ec175ee8a8441c6e5
parent92a85e18ad4705c66ace55a19f4f8301ef0eb59f
bpftool: Extend net dump with netkit progs

Add support to dump BPF programs on netkit via bpftool. This includes both
the BPF link and attach ops programs. Dumped information contain the attach
location, function entry name, program ID and link ID when applicable.

Example with tc BPF link:

  # ./bpftool net
  xdp:

  tc:
  nk1(22) netkit/peer tc1 prog_id 43 link_id 12

  [...]

Example with json dump:

  # ./bpftool net --json | jq
  [
    {
      "xdp": [],
      "tc": [
        {
          "devname": "nk1",
          "ifindex": 18,
          "kind": "netkit/primary",
          "name": "tc1",
          "prog_id": 29,
          "prog_flags": [],
          "link_id": 8,
          "link_flags": []
        }
      ],
      "flow_dissector": [],
      "netfilter": []
    }
  ]

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Acked-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://lore.kernel.org/r/20231024214904.29825-6-daniel@iogearbox.net
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/bpf/bpftool/Documentation/bpftool-net.rst
tools/bpf/bpftool/net.c