diff --git a/ip/ipfou.c b/ip/ipfou.c index 9f091121..00dbe150 100644 --- a/ip/ipfou.c +++ b/ip/ipfou.c @@ -136,19 +136,19 @@ static int do_del(int argc, char **argv) int do_ipfou(int argc, char **argv) { - if (genl_init_handle(&genl_rth, FOU_GENL_NAME, &genl_family)) - exit(1); - if (argc < 1) usage(); + if (matches(*argv, "help") == 0) + usage(); + + if (genl_init_handle(&genl_rth, FOU_GENL_NAME, &genl_family)) + exit(1); + if (matches(*argv, "add") == 0) return do_add(argc-1, argv+1); if (matches(*argv, "delete") == 0) return do_del(argc-1, argv+1); - if (matches(*argv, "help") == 0) - usage(); - fprintf(stderr, "Command \"%s\" is unknown, try \"ip fou help\".\n", *argv); exit(-1); }