Home | History | Annotate | Download | only in ip

Lines Matching full:argv

107 static int parse_args(int argc, char **argv, struct ifreq *ifr, uid_t *uid, gid_t *gid)
116 if (matches(*argv, "mode") == 0) {
118 if (matches(*argv, "tun") == 0) {
124 } else if (matches(*argv, "tap") == 0) {
134 } else if (uid && matches(*argv, "user") == 0) {
139 if (**argv && ((user = strtol(*argv, &end, 10)), !*end))
142 struct passwd *pw = getpwnam(*argv);
144 fprintf(stderr, "invalid user \"%s\"\n", *argv);
149 } else if (gid && matches(*argv, "group") == 0) {
155 if (**argv && ((group = strtol(*argv, &end, 10)), !*end))
158 struct group *gr = getgrnam(*argv);
160 fprintf(stderr, "invalid group \"%s\"\n", *argv);
165 } else if (matches(*argv, "pi") == 0) {
167 } else if (matches(*argv, "one_queue") == 0) {
169 } else if (matches(*argv, "vnet_hdr") == 0) {
171 } else if (matches(*argv, "dev") == 0) {
173 strncpy(ifr->ifr_name, *argv, IFNAMSIZ-1);
175 if (matches(*argv, "name") == 0) {
177 } else if (matches(*argv, "help") == 0)
180 duparg2("name", *argv);
181 strncpy(ifr->ifr_name, *argv, IFNAMSIZ);
184 argc--; argv++;
191 static int do_add(int argc, char **argv)
197 if (parse_args(argc, argv, &ifr, &uid, &gid) < 0)
207 static int do_del(int argc, char **argv)
211 if (parse_args(argc, argv, &ifr, NULL, NULL) < 0)
271 static int do_show(int argc, char **argv)
305 int do_iptuntap(int argc, char **argv)
308 if (matches(*argv, "add") == 0)
309 return do_add(argc-1, argv+1);
310 if (matches(*argv, "del") == 0)
311 return do_del(argc-1, argv+1);
312 if (matches(*argv, "show") == 0 ||
313 matches(*argv, "lst") == 0 ||
314 matches(*argv, "list") == 0)
315 return do_show(argc-1, argv+1);
316 if (matches(*argv, "help") == 0)
322 *argv);