aboutsummaryrefslogtreecommitdiffstats
path: root/tools/bpf/bpftool/prog.c
diff options
context:
space:
mode:
authorJakub Kicinski <jakub.kicinski@netronome.com>2018-07-10 17:42:57 -0400
committerDaniel Borkmann <daniel@iogearbox.net>2018-07-11 16:13:33 -0400
commit8d1fc3de3d9f9bda0d8ec719d8686e9c5b432573 (patch)
treef874af9902794ffeaab8d779edcf808024a3ad9b /tools/bpf/bpftool/prog.c
parent219f860d2a11b285ac2e880ca4a73e0d36811c0c (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.c11
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
682static int do_load(int argc, char **argv) 682static 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)