diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-07-10 17:42:57 -0400 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-07-11 16:13:33 -0400 |
commit | 8d1fc3de3d9f9bda0d8ec719d8686e9c5b432573 (patch) | |
tree | f874af9902794ffeaab8d779edcf808024a3ad9b /tools/bpf/bpftool/prog.c | |
parent | 219f860d2a11b285ac2e880ca4a73e0d36811c0c (diff) |
tools: bpftool: refactor argument parsing for prog load
Add a new macro for printing more informative message than straight
usage() when parameters are missing, and use it for prog do_load().
Save the object and pin path argument to variables for clarity.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/bpf/bpftool/prog.c')
-rw-r--r-- | tools/bpf/bpftool/prog.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c index a740da99d477..a5ef46c59029 100644 --- a/tools/bpf/bpftool/prog.c +++ b/tools/bpf/bpftool/prog.c | |||
@@ -681,18 +681,21 @@ static int do_pin(int argc, char **argv) | |||
681 | 681 | ||
682 | static int do_load(int argc, char **argv) | 682 | static int do_load(int argc, char **argv) |
683 | { | 683 | { |
684 | const char *objfile, *pinfile; | ||
684 | struct bpf_object *obj; | 685 | struct bpf_object *obj; |
685 | int prog_fd; | 686 | int prog_fd; |
686 | 687 | ||
687 | if (argc != 2) | 688 | if (!REQ_ARGS(2)) |
688 | usage(); | 689 | return -1; |
690 | objfile = GET_ARG(); | ||
691 | pinfile = GET_ARG(); | ||
689 | 692 | ||
690 | if (bpf_prog_load(argv[0], BPF_PROG_TYPE_UNSPEC, &obj, &prog_fd)) { | 693 | if (bpf_prog_load(objfile, BPF_PROG_TYPE_UNSPEC, &obj, &prog_fd)) { |
691 | p_err("failed to load program"); | 694 | p_err("failed to load program"); |
692 | return -1; | 695 | return -1; |
693 | } | 696 | } |
694 | 697 | ||
695 | if (do_pin_fd(prog_fd, argv[1])) | 698 | if (do_pin_fd(prog_fd, pinfile)) |
696 | goto err_close_obj; | 699 | goto err_close_obj; |
697 | 700 | ||
698 | if (json_output) | 701 | if (json_output) |