Home | History | Annotate | Download | only in ip

Lines Matching refs:argv

348 static int set_lifetime(unsigned int *lifetime, char *argv)
350 if (strcmp(argv, "forever") == 0)
352 else if (get_u32(lifetime, argv, 0))
613 static int ipaddr_list_or_flush(int argc, char **argv, int flush)
639 if (strcmp(*argv, "to") == 0) {
641 get_prefix(&filter.pfx, *argv, filter.family);
644 } else if (strcmp(*argv, "scope") == 0) {
648 if (rtnl_rtscope_a2n(&scope, *argv)) {
649 if (strcmp(*argv, "all") != 0)
650 invarg("invalid \"scope\"\n", *argv);
655 } else if (strcmp(*argv, "up") == 0) {
657 } else if (strcmp(*argv, "dynamic") == 0) {
660 } else if (strcmp(*argv, "permanent") == 0) {
663 } else if (strcmp(*argv, "secondary") == 0) {
666 } else if (strcmp(*argv, "primary") == 0) {
669 } else if (strcmp(*argv, "tentative") == 0) {
672 } else if (strcmp(*argv, "deprecated") == 0) {
675 } else if (strcmp(*argv, "home") == 0) {
678 } else if (strcmp(*argv, "nodad") == 0) {
681 } else if (strcmp(*argv, "label") == 0) {
683 filter.label = *argv;
685 if (strcmp(*argv, "dev") == 0) {
688 if (matches(*argv, "help") == 0)
691 duparg2("dev", *argv);
692 filter_dev = *argv;
694 argv++; argc--;
862 int ipaddr_list_link(int argc, char **argv)
866 return ipaddr_list_or_flush(argc, argv, 0);
884 static int ipaddr_modify(int cmd, int flags, int argc, char **argv)
915 if (strcmp(*argv, "peer") == 0 ||
916 strcmp(*argv, "remote") == 0) {
920 duparg("peer", *argv);
921 get_prefix(&peer, *argv, req.ifa.ifa_family);
927 } else if (matches(*argv, "broadcast") == 0 ||
928 strcmp(*argv, "brd") == 0) {
932 duparg("broadcast", *argv);
933 if (strcmp(*argv, "+") == 0)
935 else if (strcmp(*argv, "-") == 0)
938 get_addr(&addr, *argv, req.ifa.ifa_family);
944 } else if (strcmp(*argv, "anycast") == 0) {
948 duparg("anycast", *argv);
949 get_addr(&addr, *argv, req.ifa.ifa_family);
954 } else if (strcmp(*argv, "scope") == 0) {
957 if (rtnl_rtscope_a2n(&scope, *argv))
958 invarg(*argv, "invalid scope value.");
961 } else if (strcmp(*argv, "dev") == 0) {
963 d = *argv;
964 } else if (strcmp(*argv, "label") == 0) {
966 l = *argv;
968 } else if (matches(*argv, "valid_lft") == 0) {
970 duparg("valid_lft", *argv);
972 valid_lftp = *argv;
973 if (set_lifetime(&valid_lft, *argv))
974 invarg("valid_lft value", *argv);
975 } else if (matches(*argv, "preferred_lft") == 0) {
977 duparg("preferred_lft", *argv);
979 preferred_lftp = *argv;
980 if (set_lifetime(&preferred_lft, *argv))
981 invarg("preferred_lft value", *argv);
982 } else if (strcmp(*argv, "home") == 0) {
984 } else if (strcmp(*argv, "nodad") == 0) {
987 if (strcmp(*argv, "local") == 0) {
990 if (matches(*argv, "help") == 0)
993 duparg2("local", *argv);
994 lcl_arg = *argv;
995 get_prefix(&lcl, *argv, req.ifa.ifa_family);
1001 argc--; argv++;
1079 int do_ipaddr(int argc, char **argv)
1083 if (matches(*argv, "add") == 0)
1084 return ipaddr_modify(RTM_NEWADDR, NLM_F_CREATE|NLM_F_EXCL, argc-1, argv+1);
1085 if (matches(*argv, "change") == 0 ||
1086 strcmp(*argv, "chg") == 0)
1087 return ipaddr_modify(RTM_NEWADDR, NLM_F_REPLACE, argc-1, argv+1);
1088 if (matches(*argv, "replace") == 0)
1089 return ipaddr_modify(RTM_NEWADDR, NLM_F_CREATE|NLM_F_REPLACE, argc-1, argv+1);
1090 if (matches(*argv, "delete") == 0)
1091 return ipaddr_modify(RTM_DELADDR, 0, argc-1, argv+1);
1092 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
1093 || matches(*argv, "lst") == 0)
1094 return ipaddr_list_or_flush(argc-1, argv+1, 0);
1095 if (matches(*argv, "flush") == 0)
1096 return ipaddr_list_or_flush(argc-1, argv+1, 1);
1097 if (matches(*argv, "help") == 0)
1099 fprintf(stderr, "Command \"%s\" is unknown, try \"ip addr help\".\n", *argv);