From 418cb68ffe64e9359e2e991538ece442fafc0c94 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 27 Aug 2022 11:36:42 +0200 Subject: user/netstack: IP gateway, make networking work without a second vm --- src/user/app/netstack/netstack.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/user/app/netstack/netstack.c') diff --git a/src/user/app/netstack/netstack.c b/src/user/app/netstack/netstack.c index 137d9d9..75a5162 100644 --- a/src/user/app/netstack/netstack.c +++ b/src/user/app/netstack/netstack.c @@ -26,19 +26,24 @@ void network_thread(void *arg) { (void)arg; void fs_thread(void *arg); int main(int argc, char **argv) { - if (argc < 3) { - eprintf("usage: netstack iface ip"); + if (argc < 4) { + eprintf("usage: netstack iface ip gateway"); return 1; } - if (ip_parse(argv[2], &state.ip) < 0) { - eprintf("invalid ip"); - return -1; - } state.raw_h = _syscall_open(argv[1], strlen(argv[1]), 0); if (state.raw_h < 0) { eprintf("couldn't open %s", argv[1]); return 1; } + if (ip_parse(argv[2], &state.ip) < 0) { + eprintf("invalid ip"); + return -1; + } + if (ip_parse(argv[3], &state.gateway) < 0) { + eprintf("invalid gateway"); + return -1; + } + arp_request(state.gateway); thread_create(0, network_thread, NULL); thread_create(0, fs_thread, NULL); _syscall_await(); -- cgit v1.2.3