Home | History | Annotate | Download | only in ip

Lines Matching defs:argv

592 	char **argv = *argvp;
594 while (++argv, --argc > 0) {
595 if (strcmp(*argv, "via") == 0) {
597 rta_addattr32(rta, 4096, RTA_GATEWAY, get_addr32(*argv));
599 } else if (strcmp(*argv, "dev") == 0) {
601 if ((rtnh->rtnh_ifindex = ll_name_to_index(*argv)) == 0) {
602 fprintf(stderr, "Cannot find device \"%s\"\n", *argv);
605 } else if (strcmp(*argv, "weight") == 0) {
608 if (get_unsigned(&w, *argv, 0) || w == 0 || w > 256)
609 invarg("\"weight\" is invalid\n", *argv);
611 } else if (strcmp(*argv, "onlink") == 0) {
613 } else if (matches(*argv, "realms") == 0) {
616 if (get_rt_realms(&realm, *argv))
617 invarg("\"realm\" value is invalid\n", *argv);
624 *argvp = argv;
628 int parse_nexthops(struct nlmsghdr *n, struct rtmsg *r, int argc, char **argv)
639 if (strcmp(*argv, "nexthop") != 0) {
640 fprintf(stderr, "Error: \"nexthop\" or end of line is expected instead of \"%s\"\n", *argv);
650 parse_one_nh(rta, rtnh, &argc, &argv);
660 int iproute_modify(int cmd, unsigned flags, int argc, char **argv)
699 if (strcmp(*argv, "src") == 0) {
702 get_addr(&addr, *argv, req.r.rtm_family);
706 } else if (strcmp(*argv, "via") == 0) {
710 get_addr(&addr, *argv, req.r.rtm_family);
714 } else if (strcmp(*argv, "from") == 0) {
717 get_prefix(&addr, *argv, req.r.rtm_family);
723 } else if (strcmp(*argv, "tos") == 0 ||
724 matches(*argv, "dsfield") == 0) {
727 if (rtnl_dsfield_a2n(&tos, *argv))
728 invarg("\"tos\" value is invalid\n", *argv);
730 } else if (matches(*argv, "metric") == 0 ||
731 matches(*argv, "priority") == 0 ||
732 matches(*argv, "preference") == 0) {
735 if (get_u32(&metric, *argv, 0))
736 invarg("\"metric\" value is invalid\n", *argv);
738 } else if (strcmp(*argv, "scope") == 0) {
741 if (rtnl_rtscope_a2n(&scope, *argv))
742 invarg("invalid \"scope\" value\n", *argv);
745 } else if (strcmp(*argv, "mtu") == 0) {
748 if (strcmp(*argv, "lock") == 0) {
752 if (get_unsigned(&mtu, *argv, 0))
753 invarg("\"mtu\" value is invalid\n", *argv);
756 } else if (strcmp(*argv, "hoplimit") == 0) {
759 if (strcmp(*argv, "lock") == 0) {
763 if (get_unsigned(&hoplimit, *argv, 0))
764 invarg("\"hoplimit\" value is invalid\n", *argv);
768 } else if (strcmp(*argv, "advmss") == 0) {
771 if (strcmp(*argv, "lock") == 0) {
775 if (get_unsigned(&mss, *argv, 0))
776 invarg("\"mss\" value is invalid\n", *argv);
780 } else if (matches(*argv, "reordering") == 0) {
783 if (strcmp(*argv, "lock") == 0) {
787 if (get_unsigned(&reord, *argv, 0))
788 invarg("\"reordering\" value is invalid\n", *argv);
791 } else if (strcmp(*argv, "rtt") == 0) {
794 if (strcmp(*argv, "lock") == 0) {
798 if (get_jiffies(&rtt, *argv, 0, &raw))
799 invarg("\"rtt\" value is invalid\n", *argv);
802 } else if (strcmp(*argv, "rto_min") == 0) {
806 if (get_jiffies(&rto_min, *argv, 0, &raw))
808 *argv);
811 } else if (matches(*argv, "window") == 0) {
814 if (strcmp(*argv, "lock") == 0) {
818 if (get_unsigned(&win, *argv, 0))
819 invarg("\"window\" value is invalid\n", *argv);
821 } else if (matches(*argv, "cwnd") == 0) {
824 if (strcmp(*argv, "lock") == 0) {
828 if (get_unsigned(&win, *argv, 0))
829 invarg("\"cwnd\" value is invalid\n", *argv);
831 } else if (matches(*argv, "initcwnd") == 0) {
834 if (strcmp(*argv, "lock") == 0) {
838 if (get_unsigned(&win, *argv, 0))
839 invarg("\"initcwnd\" value is invalid\n", *argv);
841 } else if (matches(*argv, "initrwnd") == 0) {
844 if (strcmp(*argv, "lock") == 0) {
848 if (get_unsigned(&win, *argv, 0))
849 invarg("\"initrwnd\" value is invalid\n", *argv);
851 } else if (matches(*argv, "rttvar") == 0) {
854 if (strcmp(*argv, "lock") == 0) {
858 if (get_jiffies(&win, *argv, 0, &raw))
859 invarg("\"rttvar\" value is invalid\n", *argv);
862 } else if (matches(*argv, "ssthresh") == 0) {
865 if (strcmp(*argv, "lock") == 0) {
869 if (get_unsigned(&win, *argv, 0))
870 invarg("\"ssthresh\" value is invalid\n", *argv);
872 } else if (matches(*argv, "realms") == 0) {
875 if (get_rt_realms(&realm, *argv))
876 invarg("\"realm\" value is invalid\n", *argv);
878 } else if (strcmp(*argv, "onlink") == 0) {
880 } else if (strcmp(*argv, "nexthop") == 0) {
883 } else if (matches(*argv, "protocol") == 0) {
886 if (rtnl_rtprot_a2n(&prot, *argv))
887 invarg("\"protocol\" value is invalid\n", *argv);
890 } else if (matches(*argv, "table") == 0) {
893 if (rtnl_rttable_a2n(&tid, *argv))
894 invarg("\"table\" value is invalid\n", *argv);
902 } else if (strcmp(*argv, "dev") == 0 ||
903 strcmp(*argv, "oif") == 0) {
905 d = *argv;
910 if (strcmp(*argv, "to") == 0) {
913 if ((**argv < '0' || **argv > '9') &&
914 rtnl_rtntype_a2n(&type, *argv) == 0) {
920 if (matches(*argv, "help") == 0)
923 duparg2("to", *argv);
924 get_prefix(&dst, *argv, req.r.rtm_family);
932 argc--; argv++;
956 parse_nexthops(&req.n, &req.r, argc, argv);
1039 static int iproute_list_or_flush(int argc, char **argv, int flush)
1054 if (matches(*argv, "table") == 0) {
1057 if (rtnl_rttable_a2n(&tid, *argv)) {
1058 if (strcmp(*argv, "all") == 0) {
1060 } else if (strcmp(*argv, "cache") == 0) {
1062 } else if (strcmp(*argv, "help") == 0) {
1065 invarg("table id value is invalid\n", *argv);
1069 } else if (matches(*argv, "cached") == 0 ||
1070 matches(*argv, "cloned") == 0) {
1072 } else if (strcmp(*argv, "tos") == 0 ||
1073 matches(*argv, "dsfield") == 0) {
1076 if (rtnl_dsfield_a2n(&tos, *argv))
1077 invarg("TOS value is invalid\n", *argv);
1080 } else if (matches(*argv, "protocol") == 0) {
1084 if (rtnl_rtprot_a2n(&prot, *argv)) {
1085 if (strcmp(*argv, "all") != 0)
1086 invarg("invalid \"protocol\"\n", *argv);
1091 } else if (matches(*argv, "scope") == 0) {
1095 if (rtnl_rtscope_a2n(&scope, *argv)) {
1096 if (strcmp(*argv, "all") != 0)
1097 invarg("invalid \"scope\"\n", *argv);
1102 } else if (matches(*argv, "type") == 0) {
1106 if (rtnl_rtntype_a2n(&type, *argv))
1107 invarg("node type value is invalid\n", *argv);
1109 } else if (strcmp(*argv, "dev") == 0 ||
1110 strcmp(*argv, "oif") == 0) {
1112 od = *argv;
1113 } else if (strcmp(*argv, "iif") == 0) {
1115 id = *argv;
1116 } else if (strcmp(*argv, "via") == 0) {
1118 get_prefix(&filter.rvia, *argv, do_ipv6);
1119 } else if (strcmp(*argv, "src") == 0) {
1121 get_prefix(&filter.rprefsrc, *argv, do_ipv6);
1122 } else if (matches(*argv, "realms") == 0) {
1125 if (get_rt_realms(&realm, *argv))
1126 invarg("invalid realms\n", *argv);
1130 (*argv)[strlen(*argv) - 1] == '/')
1133 (strchr(*argv, '/') == NULL ||
1134 (*argv)[0] == '/'))
1136 } else if (matches(*argv, "from") == 0) {
1138 if (matches(*argv, "root") == 0) {
1140 get_prefix(&filter.rsrc, *argv, do_ipv6);
1141 } else if (matches(*argv, "match") == 0) {
1143 get_prefix(&filter.msrc, *argv, do_ipv6);
1145 if (matches(*argv, "exact") == 0) {
1148 get_prefix(&filter.msrc, *argv, do_ipv6);
1152 if (matches(*argv, "to") == 0) {
1155 if (matches(*argv, "root") == 0) {
1157 get_prefix(&filter.rdst, *argv, do_ipv6);
1158 } else if (matches(*argv, "match") == 0) {
1160 get_prefix(&filter.mdst, *argv, do_ipv6);
1162 if (matches(*argv, "exact") == 0) {
1165 get_prefix(&filter.mdst, *argv, do_ipv6);
1169 argc--; argv++;
1275 int iproute_get(int argc, char **argv)
1304 if (strcmp(*argv, "tos") == 0 ||
1305 matches(*argv, "dsfield") == 0) {
1308 if (rtnl_dsfield_a2n(&tos, *argv))
1309 invarg("TOS value is invalid\n", *argv);
1311 } else if (matches(*argv, "from") == 0) {
1314 if (matches(*argv, "help") == 0)
1317 get_prefix(&addr, *argv, req.r.rtm_family);
1323 } else if (matches(*argv, "iif") == 0) {
1325 idev = *argv;
1326 } else if (matches(*argv, "oif") == 0 ||
1327 strcmp(*argv, "dev") == 0) {
1329 odev = *argv;
1330 } else if (matches(*argv, "notify") == 0) {
1332 } else if (matches(*argv, "connected") == 0) {
1336 if (strcmp(*argv, "to") == 0) {
1339 if (matches(*argv, "help") == 0)
1341 get_prefix(&addr, *argv, req.r.rtm_family);
1348 argc--; argv++;
1440 int do_iproute(int argc, char **argv)
1445 if (matches(*argv, "add") == 0)
1447 argc-1, argv+1);
1448 if (matches(*argv, "change") == 0 || strcmp(*argv, "chg") == 0)
1450 argc-1, argv+1);
1451 if (matches(*argv, "replace") == 0)
1453 argc-1, argv+1);
1454 if (matches(*argv, "prepend") == 0)
1456 argc-1, argv+1);
1457 if (matches(*argv, "append") == 0)
1459 argc-1, argv+1);
1460 if (matches(*argv, "test") == 0)
1462 argc-1, argv+1);
1463 if (matches(*argv, "delete") == 0)
1465 argc-1, argv+1);
1466 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
1467 || matches(*argv, "lst") == 0)
1468 return iproute_list_or_flush(argc-1, argv+1, 0);
1469 if (matches(*argv, "get") == 0)
1470 return iproute_get(argc-1, argv+1);
1471 if (matches(*argv, "flush") == 0)
1472 return iproute_list_or_flush(argc-1, argv+1, 1);
1473 if (matches(*argv, "help") == 0)
1475 fprintf(stderr, "Command \"%s\" is unknown, try \"ip route help\".\n", *argv);