Lines Matching full:argv
509 static int parse_args(int argc, char **argv, int cmd, struct l2tp_parm *p)
517 if (strcmp(*argv, "encap") == 0) {
519 if (strcmp(*argv, "ip") == 0) {
521 } else if (strcmp(*argv, "udp") == 0) {
527 } else if (strcmp(*argv, "name") == 0) {
529 p->ifname = *argv;
530 } else if (strcmp(*argv, "remote") == 0) {
532 p->peer_ip.s_addr = get_addr32(*argv);
533 } else if (strcmp(*argv, "local") == 0) {
535 p->local_ip.s_addr = get_addr32(*argv);
536 } else if ((strcmp(*argv, "tunnel_id") == 0) ||
537 (strcmp(*argv, "tid") == 0)) {
540 if (get_u32(&uval, *argv, 0))
541 invarg("invalid ID\n", *argv);
543 } else if ((strcmp(*argv, "peer_tunnel_id") == 0) ||
544 (strcmp(*argv, "ptid") == 0)) {
547 if (get_u32(&uval, *argv, 0))
548 invarg("invalid ID\n", *argv);
550 } else if ((strcmp(*argv, "session_id") == 0) ||
551 (strcmp(*argv, "sid") == 0)) {
554 if (get_u32(&uval, *argv, 0))
555 invarg("invalid ID\n", *argv);
557 } else if ((strcmp(*argv, "peer_session_id") == 0) ||
558 (strcmp(*argv, "psid") == 0)) {
561 if (get_u32(&uval, *argv, 0))
562 invarg("invalid ID\n", *argv);
564 } else if (strcmp(*argv, "udp_sport") == 0) {
567 if (get_u16(&uval, *argv, 0))
568 invarg("invalid port\n", *argv);
570 } else if (strcmp(*argv, "udp_dport") == 0) {
573 if (get_u16(&uval, *argv, 0))
574 invarg("invalid port\n", *argv);
576 } else if (strcmp(*argv, "offset") == 0) {
579 if (get_u8(&uval, *argv, 0))
580 invarg("invalid offset\n", *argv);
582 } else if (strcmp(*argv, "peer_offset") == 0) {
585 if (get_u8(&uval, *argv, 0))
586 invarg("invalid offset\n", *argv);
588 } else if (strcmp(*argv, "cookie") == 0) {
591 slen = strlen(*argv);
593 invarg("cookie must be either 8 or 16 hex digits\n", *argv);
596 if (hex2mem(*argv, p->cookie, p->cookie_len) < 0)
597 invarg("cookie must be a hex string\n", *argv);
598 } else if (strcmp(*argv, "peer_cookie") == 0) {
601 slen = strlen(*argv);
603 invarg("cookie must be either 8 or 16 hex digits\n", *argv);
606 if (hex2mem(*argv, p->peer_cookie, p->peer_cookie_len) < 0)
607 invarg("cookie must be a hex string\n", *argv);
608 } else if (strcmp(*argv, "tunnel") == 0) {
610 } else if (strcmp(*argv, "session") == 0) {
612 } else if (matches(*argv, "help") == 0) {
615 fprintf(stderr, "Unknown command: %s\n", *argv);
619 argc--; argv++;
626 static int do_add(int argc, char **argv)
631 if (parse_args(argc, argv, L2TP_ADD, &p) < 0)
677 static int do_del(int argc, char **argv)
681 if (parse_args(argc, argv, L2TP_DEL, &p) < 0)
700 static int do_show(int argc, char **argv)
705 if (parse_args(argc, argv, L2TP_GET, p) < 0)
780 int do_ipl2tp(int argc, char **argv)
796 if (matches(*argv, "add") == 0)
797 return do_add(argc-1, argv+1);
798 if (matches(*argv, "del") == 0)
799 return do_del(argc-1, argv+1);
800 if (matches(*argv, "show") == 0 ||
801 matches(*argv, "lst") == 0 ||
802 matches(*argv, "list") == 0)
803 return do_show(argc-1, argv+1);
804 if (matches(*argv, "help") == 0)
807 fprintf(stderr, "Command \"%s\" is unknown, try \"ip l2tp help\".\n", *argv);