aboutsummaryrefslogtreecommitdiffstats
path: root/toolbox/route.c
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2010-07-29 15:04:57 -0700
committerAndroid Code Review <code-review@android.com>2010-07-29 15:04:57 -0700
commit0fcbdb4147858d40d581d3b034f5150962632943 (patch)
treef8d60bd03a6ff4d9f0efdded6448bf764fa76a4d /toolbox/route.c
parentc37ba1c916d73fbf35c6faba1e252e2916d2d41d (diff)
parent2a743730c7d1a8adba8a922f7af46cef0b35363a (diff)
downloadsystem_core-0fcbdb4147858d40d581d3b034f5150962632943.tar.gz
system_core-0fcbdb4147858d40d581d3b034f5150962632943.tar.bz2
system_core-0fcbdb4147858d40d581d3b034f5150962632943.zip
Merge "Userland support for VM interconnection"
Diffstat (limited to 'toolbox/route.c')
-rw-r--r--toolbox/route.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/toolbox/route.c b/toolbox/route.c
index 107e48aa..3e100143 100644
--- a/toolbox/route.c
+++ b/toolbox/route.c
@@ -80,14 +80,24 @@ int route_main(int argc, char *argv[])
/* route add -net 192.168.1.2 netmask 255.255.255.0 gw 192.168.1.1 */
if (argc > 7 && !strcmp(argv[2], "-net") &&
- !strcmp(argv[4], "netmask") && !strcmp(argv[6], "gw")) {
- rt.rt_flags = RTF_UP | RTF_GATEWAY;
- if (set_address(argv[3], &rt.rt_dst) &&
- set_address(argv[5], &rt.rt_genmask) &&
- set_address(argv[7], &rt.rt_gateway)) {
- errno = 0;
+ !strcmp(argv[4], "netmask")) {
+ if (!strcmp(argv[6], "gw")) {
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (set_address(argv[3], &rt.rt_dst) &&
+ set_address(argv[5], &rt.rt_genmask) &&
+ set_address(argv[7], &rt.rt_gateway)) {
+ errno = 0;
+ }
+ goto apply;
+ } else if (!strcmp(argv[6], "dev")) {
+ rt.rt_flags = RTF_UP;
+ rt.rt_dev = argv[7];
+ if (set_address(argv[3], &rt.rt_dst) &&
+ set_address(argv[5], &rt.rt_genmask)) {
+ errno = 0;
+ }
+ goto apply;
}
- goto apply;
}
}