mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 08:31:13 +00:00
tools: bpftool: update documentation for --json and --pretty usage
Update the documentation to provide help about JSON output generation, and add an example in bpftool-prog manual page. Also reintroduce an example that was left aside when the tool was moved from GitHub to the kernel sources, in order to show how to mount the bpffs file system (to pin programs) inside the bpftool-prog manual page. Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
47ff7ac6d7
commit
0641c3c890
7 changed files with 88 additions and 6 deletions
|
@ -10,7 +10,9 @@ tool for inspection and simple manipulation of eBPF maps
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
========
|
========
|
||||||
|
|
||||||
**bpftool** **map** *COMMAND*
|
**bpftool** [*OPTIONS*] **map** *COMMAND*
|
||||||
|
|
||||||
|
*OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }
|
||||||
|
|
||||||
*COMMANDS* :=
|
*COMMANDS* :=
|
||||||
{ **show** | **dump** | **update** | **lookup** | **getnext** | **delete**
|
{ **show** | **dump** | **update** | **lookup** | **getnext** | **delete**
|
||||||
|
@ -77,6 +79,13 @@ OPTIONS
|
||||||
-v, --version
|
-v, --version
|
||||||
Print version number (similar to **bpftool version**).
|
Print version number (similar to **bpftool version**).
|
||||||
|
|
||||||
|
-j, --json
|
||||||
|
Generate JSON output. For commands that cannot produce JSON, this
|
||||||
|
option has no effect.
|
||||||
|
|
||||||
|
-p, --pretty
|
||||||
|
Generate human-readable JSON output. Implies **-j**.
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
========
|
========
|
||||||
**# bpftool map show**
|
**# bpftool map show**
|
||||||
|
|
|
@ -10,6 +10,16 @@ tool for inspection and simple manipulation of eBPF progs
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
========
|
========
|
||||||
|
|
||||||
|
**bpftool** [*OPTIONS*] **prog** *COMMAND*
|
||||||
|
|
||||||
|
*OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }
|
||||||
|
|
||||||
|
*COMMANDS* :=
|
||||||
|
{ **show** | **dump xlated** | **dump jited** | **pin** | **help** }
|
||||||
|
|
||||||
|
MAP COMMANDS
|
||||||
|
=============
|
||||||
|
|
||||||
| **bpftool** **prog show** [*PROG*]
|
| **bpftool** **prog show** [*PROG*]
|
||||||
| **bpftool** **prog dump xlated** *PROG* [{**file** *FILE* | **opcodes**}]
|
| **bpftool** **prog dump xlated** *PROG* [{**file** *FILE* | **opcodes**}]
|
||||||
| **bpftool** **prog dump jited** *PROG* [{**file** *FILE* | **opcodes**}]
|
| **bpftool** **prog dump jited** *PROG* [{**file** *FILE* | **opcodes**}]
|
||||||
|
@ -58,6 +68,13 @@ OPTIONS
|
||||||
-v, --version
|
-v, --version
|
||||||
Print version number (similar to **bpftool version**).
|
Print version number (similar to **bpftool version**).
|
||||||
|
|
||||||
|
-j, --json
|
||||||
|
Generate JSON output. For commands that cannot produce JSON, this
|
||||||
|
option has no effect.
|
||||||
|
|
||||||
|
-p, --pretty
|
||||||
|
Generate human-readable JSON output. Implies **-j**.
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
========
|
========
|
||||||
**# bpftool prog show**
|
**# bpftool prog show**
|
||||||
|
@ -67,13 +84,33 @@ EXAMPLES
|
||||||
loaded_at Sep 29/20:11 uid 0
|
loaded_at Sep 29/20:11 uid 0
|
||||||
xlated 528B jited 370B memlock 4096B map_ids 10
|
xlated 528B jited 370B memlock 4096B map_ids 10
|
||||||
|
|
||||||
|
**# bpftool --json --pretty prog show**
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
{
|
||||||
|
"programs": [{
|
||||||
|
"id": 10,
|
||||||
|
"type": "xdp",
|
||||||
|
"tag": "005a3d2123620c8b",
|
||||||
|
"loaded_at": "Sep 29/20:11",
|
||||||
|
"uid": 0,
|
||||||
|
"bytes_xlated": 528,
|
||||||
|
"jited": true,
|
||||||
|
"bytes_jited": 370,
|
||||||
|
"bytes_memlock": 4096,
|
||||||
|
"map_ids": [10
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
|
||||||
| **# bpftool prog dump xlated id 10 file /tmp/t**
|
| **# bpftool prog dump xlated id 10 file /tmp/t**
|
||||||
| **# ls -l /tmp/t**
|
| **# ls -l /tmp/t**
|
||||||
| -rw------- 1 root root 560 Jul 22 01:42 /tmp/t
|
| -rw------- 1 root root 560 Jul 22 01:42 /tmp/t
|
||||||
|
|
||||||
|
|
**# bpftool prog dum jited tag 005a3d2123620c8b**
|
||||||
| **# bpftool prog dum jited pinned /sys/fs/bpf/prog**
|
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
@ -83,6 +120,26 @@ EXAMPLES
|
||||||
sub $0x28,%rbp
|
sub $0x28,%rbp
|
||||||
mov %rbx,0x0(%rbp)
|
mov %rbx,0x0(%rbp)
|
||||||
|
|
||||||
|
|
|
||||||
|
| **# mount -t bpf none /sys/fs/bpf/**
|
||||||
|
| **# bpftool prog pin id 10 /sys/fs/bpf/prog**
|
||||||
|
| **# ls -l /sys/fs/bpf/**
|
||||||
|
| -rw------- 1 root root 0 Jul 22 01:43 prog
|
||||||
|
|
||||||
|
**# bpftool prog dum jited pinned /sys/fs/bpf/prog opcodes**
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
push %rbp
|
||||||
|
55
|
||||||
|
mov %rsp,%rbp
|
||||||
|
48 89 e5
|
||||||
|
sub $0x228,%rsp
|
||||||
|
48 81 ec 28 02 00 00
|
||||||
|
sub $0x28,%rbp
|
||||||
|
48 83 ed 28
|
||||||
|
mov %rbx,0x0(%rbp)
|
||||||
|
48 89 5d 00
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
|
|
@ -10,7 +10,7 @@ tool for inspection and simple manipulation of eBPF programs and maps
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
========
|
========
|
||||||
|
|
||||||
**bpftool** *OBJECT* { *COMMAND* | **help** }
|
**bpftool** [*OPTIONS*] *OBJECT* { *COMMAND* | **help** }
|
||||||
|
|
||||||
**bpftool** **batch file** *FILE*
|
**bpftool** **batch file** *FILE*
|
||||||
|
|
||||||
|
@ -18,6 +18,9 @@ SYNOPSIS
|
||||||
|
|
||||||
*OBJECT* := { **map** | **program** }
|
*OBJECT* := { **map** | **program** }
|
||||||
|
|
||||||
|
*OPTIONS* := { { **-V** | **--version** } | { **-h** | **--help** }
|
||||||
|
| { **-j** | **--json** } [{ **-p** | **--pretty** }] }
|
||||||
|
|
||||||
*MAP-COMMANDS* :=
|
*MAP-COMMANDS* :=
|
||||||
{ **show** | **dump** | **update** | **lookup** | **getnext** | **delete**
|
{ **show** | **dump** | **update** | **lookup** | **getnext** | **delete**
|
||||||
| **pin** | **help** }
|
| **pin** | **help** }
|
||||||
|
@ -41,6 +44,13 @@ OPTIONS
|
||||||
-v, --version
|
-v, --version
|
||||||
Print version number (similar to **bpftool version**).
|
Print version number (similar to **bpftool version**).
|
||||||
|
|
||||||
|
-j, --json
|
||||||
|
Generate JSON output. For commands that cannot produce JSON, this
|
||||||
|
option has no effect.
|
||||||
|
|
||||||
|
-p, --pretty
|
||||||
|
Generate human-readable JSON output. Implies **-j**.
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
========
|
========
|
||||||
**bpftool-map**\ (8), **bpftool-prog**\ (8)
|
**bpftool-map**\ (8), **bpftool-prog**\ (8)
|
||||||
|
|
|
@ -70,11 +70,13 @@ static int do_help(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Usage: %s OBJECT { COMMAND | help }\n"
|
"Usage: %s [OPTIONS] OBJECT { COMMAND | help }\n"
|
||||||
" %s batch file FILE\n"
|
" %s batch file FILE\n"
|
||||||
" %s version\n"
|
" %s version\n"
|
||||||
"\n"
|
"\n"
|
||||||
" OBJECT := { prog | map }\n",
|
" OBJECT := { prog | map }\n"
|
||||||
|
" " HELP_SPEC_OPTIONS "\n"
|
||||||
|
"",
|
||||||
bin_name, bin_name, bin_name);
|
bin_name, bin_name, bin_name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -55,6 +55,8 @@
|
||||||
|
|
||||||
#define HELP_SPEC_PROGRAM \
|
#define HELP_SPEC_PROGRAM \
|
||||||
"PROG := { id PROG_ID | pinned FILE | tag PROG_TAG }"
|
"PROG := { id PROG_ID | pinned FILE | tag PROG_TAG }"
|
||||||
|
#define HELP_SPEC_OPTIONS \
|
||||||
|
"OPTIONS := { {-j|--json} [{-p|--pretty}] }"
|
||||||
|
|
||||||
enum bpf_obj_type {
|
enum bpf_obj_type {
|
||||||
BPF_OBJ_UNKNOWN,
|
BPF_OBJ_UNKNOWN,
|
||||||
|
|
|
@ -850,6 +850,7 @@ static int do_help(int argc, char **argv)
|
||||||
" " HELP_SPEC_PROGRAM "\n"
|
" " HELP_SPEC_PROGRAM "\n"
|
||||||
" VALUE := { BYTES | MAP | PROG }\n"
|
" VALUE := { BYTES | MAP | PROG }\n"
|
||||||
" UPDATE_FLAGS := { any | exist | noexist }\n"
|
" UPDATE_FLAGS := { any | exist | noexist }\n"
|
||||||
|
" " HELP_SPEC_OPTIONS "\n"
|
||||||
"",
|
"",
|
||||||
bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
|
bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
|
||||||
bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
|
bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
|
||||||
|
|
|
@ -625,6 +625,7 @@ static int do_help(int argc, char **argv)
|
||||||
" %s %s help\n"
|
" %s %s help\n"
|
||||||
"\n"
|
"\n"
|
||||||
" " HELP_SPEC_PROGRAM "\n"
|
" " HELP_SPEC_PROGRAM "\n"
|
||||||
|
" " HELP_SPEC_OPTIONS "\n"
|
||||||
"",
|
"",
|
||||||
bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
|
bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
|
||||||
bin_name, argv[-2], bin_name, argv[-2]);
|
bin_name, argv[-2], bin_name, argv[-2]);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue