diff options
| author | Dries Harnie <botje.linux@gmail.com> | 2010-01-18 17:44:33 +0100 |
|---|---|---|
| committer | Dries Harnie <botje.linux@gmail.com> | 2010-07-15 13:19:37 +0200 |
| commit | 2a743730c7d1a8adba8a922f7af46cef0b35363a (patch) | |
| tree | 7ee44c18130dbac8313dc88e32f6bc408ddf2f80 /toolbox/route.c | |
| parent | 07b3d09e841ea8544f72c3b2bf268f07df6357f7 (diff) | |
| download | system_core-2a743730c7d1a8adba8a922f7af46cef0b35363a.tar.gz system_core-2a743730c7d1a8adba8a922f7af46cef0b35363a.tar.bz2 system_core-2a743730c7d1a8adba8a922f7af46cef0b35363a.zip | |
Userland support for VM interconnection
Change-Id: I699608f3072b39c8da1a7cc313bd0b736e90f225
Diffstat (limited to 'toolbox/route.c')
| -rw-r--r-- | toolbox/route.c | 24 |
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; } } |
