udhcpc: fix my breakage
[oweals/busybox.git] / networking / ip.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * ip.c         "ip" utility frontend.
4  *
5  * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
6  *
7  * Authors:     Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
8  *
9  *
10  * Changes:
11  *
12  * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
13  */
14
15 #include "busybox.h"
16
17 #include "libiproute/utils.h"
18 #include "libiproute/ip_common.h"
19
20 int ip_main(int argc, char **argv)
21 {
22         int ret = EXIT_FAILURE;
23
24         ip_parse_common_args(&argc, &argv);
25
26         if (argc > 1) {
27                 if (ENABLE_FEATURE_IP_ADDRESS && matches(argv[1], "address") == 0) {
28                         ret = do_ipaddr(argc-2, argv+2);
29                 }
30                 if (ENABLE_FEATURE_IP_ROUTE && matches(argv[1], "route") == 0) {
31                         ret = do_iproute(argc-2, argv+2);
32                 }
33                 if (ENABLE_FEATURE_IP_LINK && matches(argv[1], "link") == 0) {
34                         ret = do_iplink(argc-2, argv+2);
35                 }
36                 if (ENABLE_FEATURE_IP_TUNNEL &&
37                         (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)) {
38                         ret = do_iptunnel(argc-2, argv+2);
39                 }
40                 if (ENABLE_FEATURE_IP_RULE && matches(argv[1], "rule") == 0) {
41                         ret = do_iprule(argc-2, argv+2);
42                 }
43         }
44         if (ret) {
45                 bb_show_usage();
46         }
47         return EXIT_SUCCESS;
48 }