From 34e2734cd9b5a2ecedbc8b2a514b1bbf14d79a87 Mon Sep 17 00:00:00 2001 From: adamdunkels Date: Sun, 9 Nov 2008 12:30:32 +0000 Subject: [PATCH] Use the uip-over-mesh network gateway functionality --- platform/netsim/contiki-main.c | 16 ++++++++++------ platform/netsim/main.c | 5 +++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/platform/netsim/contiki-main.c b/platform/netsim/contiki-main.c index a7cfd5767..42455ff32 100644 --- a/platform/netsim/contiki-main.c +++ b/platform/netsim/contiki-main.c @@ -30,7 +30,7 @@ * * Author: Adam Dunkels * - * $Id: contiki-main.c,v 1.31 2008/08/15 19:34:07 adamdunkels Exp $ + * $Id: contiki-main.c,v 1.32 2008/11/09 12:30:32 adamdunkels Exp $ */ #include "contiki.h" @@ -92,9 +92,7 @@ static const struct uip_eth_addr ethaddr = {{0x00,0x06,0x98,0x01,0x02,0x12}}; SENSORS(&button_sensor, &pir_sensor, &vib_sensor, &radio_sensor); -PROCINIT(&sensors_process, &etimer_process, &tcpip_process, - /* ðernode_uip_process,*/ - &uip_fw_process); +PROCINIT(&sensors_process, &etimer_process, &tcpip_process); /*---------------------------------------------------------------------------*/ #ifdef __CYGWIN__ @@ -131,7 +129,8 @@ contiki_main(int flag) rime_init(nullmac_init(ðernode_driver)); uip_over_mesh_init(0); - + uip_over_mesh_set_net(&meshif.ipaddr, &meshif.netmask); + if(flag == 1) { #ifdef __CYGWIN__ if(__argc > 2 && (*__argv)[1][0] != '-') { @@ -139,8 +138,9 @@ contiki_main(int flag) { char buf[1024]; uip_ipaddr_t ifaddr; + extern uip_ipaddr_t winifaddr; - ifaddr.u32[0] = inet_addr(__argv[1]); + uip_ipaddr_copy(&ifaddr, &winifaddr); snprintf(buf, sizeof(buf), "route add %d.%d.%d.%d mask %d.%d.%d.%d %d.%d.%d.%d", uip_ipaddr_to_quad(&meshif.ipaddr), @@ -154,10 +154,14 @@ contiki_main(int flag) #else /* __CYGWIN__ */ process_start(&tapdev_process, NULL); #endif /* __CYGWIN__ */ + process_start(&uip_fw_process, NULL); + uip_fw_register(&meshif); uip_fw_default(&extif); printf("uip_hostaddr %d.%d.%d.%d\n", uip_ipaddr_to_quad(&uip_hostaddr)); + uip_over_mesh_make_announced_gateway(); } else { + process_start(&uip_fw_process, NULL); uip_fw_default(&meshif); } diff --git a/platform/netsim/main.c b/platform/netsim/main.c index ffdc1f72b..7766550b5 100644 --- a/platform/netsim/main.c +++ b/platform/netsim/main.c @@ -30,7 +30,7 @@ * * Author: Adam Dunkels * - * $Id: main.c,v 1.12 2008/05/14 19:22:58 adamdunkels Exp $ + * $Id: main.c,v 1.13 2008/11/09 12:30:32 adamdunkels Exp $ */ /** @@ -61,7 +61,7 @@ #include #include -in_addr_t gwaddr; +in_addr_t gwaddr, winifaddr; void netsim_init(void); @@ -179,6 +179,7 @@ main(int argc, char **argv) exit(1); } else if(argc >= 2) { gwaddr = inet_addr(argv[2]); + winifaddr = inet_addr(argv[1]); } #endif /* __CYGWIN__ */