From 9b2961046afe63918a7b72adaa2cc0810bf115ca Mon Sep 17 00:00:00 2001 From: julienabeille Date: Tue, 14 Oct 2008 10:06:26 +0000 Subject: [PATCH] Modifs to minimal-net for IPv6 support --- platform/minimal-net/Makefile.minimal-net | 11 ++++++--- platform/minimal-net/contiki-conf.h | 29 ++++++++++++++++------- platform/minimal-net/contiki-main.c | 14 +++++++---- 3 files changed, 38 insertions(+), 16 deletions(-) diff --git a/platform/minimal-net/Makefile.minimal-net b/platform/minimal-net/Makefile.minimal-net index a79b16243..88c73c46d 100644 --- a/platform/minimal-net/Makefile.minimal-net +++ b/platform/minimal-net/Makefile.minimal-net @@ -5,13 +5,18 @@ endif CONTIKI_TARGET_DIRS = . CONTIKI_TARGET_MAIN = ${addprefix $(OBJECTDIR)/,contiki-main.o} -CONTIKI_TARGET_SOURCEFILES = contiki-main.c dlloader.c clock.c \ - leds.c leds-arch.c cfs-posix.c cfs-posix-dir.c +CONTIKI_TARGET_SOURCEFILES = contiki-main.c clock.c leds.c leds-arch.c cfs-posix.c cfs-posix-dir.c dlloader.c ifeq ($(OS),Windows_NT) CONTIKI_TARGET_SOURCEFILES += wpcap-drv.c wpcap.c else -CONTIKI_TARGET_SOURCEFILES += tapdev-drv.c tapdev.c +CONTIKI_TARGET_SOURCEFILES += tapdev-drv.c +#math +ifndef UIP_CONF_IPV6 +CONTIKI_TARGET_SOURCEFILES += tapdev.c +else +CONTIKI_TARGET_SOURCEFILES += tapdev6.c +endif endif CONTIKI_SOURCEFILES += $(CONTIKI_TARGET_SOURCEFILES) diff --git a/platform/minimal-net/contiki-conf.h b/platform/minimal-net/contiki-conf.h index 1b3557f41..ce237b989 100644 --- a/platform/minimal-net/contiki-conf.h +++ b/platform/minimal-net/contiki-conf.h @@ -28,13 +28,14 @@ * * This file is part of the Contiki operating system. * - * @(#)$Id: contiki-conf.h,v 1.6 2007/11/18 00:46:51 oliverschmidt Exp $ + * @(#)$Id: contiki-conf.h,v 1.7 2008/10/14 10:06:26 julienabeille Exp $ */ #ifndef __CONTIKI_CONF_H__ #define __CONTIKI_CONF_H__ #include +#include #define CC_CONF_REGISTER_ARGS 1 #define CC_CONF_FUNCTION_POINTER_ARGS 1 @@ -50,16 +51,28 @@ typedef uint32_t u32_t; typedef int32_t s32_t; typedef unsigned short uip_stats_t; -#define UIP_CONF_MAX_CONNECTIONS 40 -#define UIP_CONF_MAX_LISTENPORTS 40 -#define UIP_CONF_BUFFER_SIZE 600 -#define UIP_CONF_BYTE_ORDER UIP_LITTLE_ENDIAN -#define UIP_CONF_TCP_SPLIT 1 -#define UIP_CONF_LOGGING 1 -#define UIP_CONF_UDP_CHECKSUMS 1 +#define UIP_CONF_MAX_CONNECTIONS 40 +#define UIP_CONF_MAX_LISTENPORTS 40 +#define UIP_CONF_BYTE_ORDER UIP_LITTLE_ENDIAN +#define UIP_CONF_TCP_SPLIT 0 +#define UIP_CONF_IP_FORWARD 0 +#define UIP_CONF_LOGGING 0 +#define UIP_CONF_UDP_CHECKSUMS 0 + +#define UIP_CONF_UDP 0 +#define UIP_CONF_TCP 0 +#define UIP_CONF_IPV6 1 +#define UIP_CONF_IPV6_QUEUE_PKT 1 +#define UIP_CONF_IPV6_CHECKS 1 +#define UIP_CONF_IPV6_REASSEMBLY 1 +#define UIP_CONF_NETIF_MAX_ADDRESSES 3 +#define UIP_CONF_ND6_MAX_PREFIXES 3 +#define UIP_CONF_ND6_MAX_NEIGHBORS 4 +#define UIP_CONF_ND6_MAX_DEFROUTERS 2 typedef unsigned long clock_time_t; #define CLOCK_CONF_SECOND 1000 +#define INFINITE_TIME ULONG_MAX #define LOG_CONF_ENABLED 1 diff --git a/platform/minimal-net/contiki-main.c b/platform/minimal-net/contiki-main.c index c6f3e0c23..85bae768b 100644 --- a/platform/minimal-net/contiki-main.c +++ b/platform/minimal-net/contiki-main.c @@ -29,7 +29,7 @@ * * This file is part of the Contiki OS * - * $Id: contiki-main.c,v 1.15 2008/02/10 22:52:41 oliverschmidt Exp $ + * $Id: contiki-main.c,v 1.16 2008/10/14 10:06:26 julienabeille Exp $ * */ @@ -39,6 +39,7 @@ #include #include "contiki.h" +#include "contiki-net.h" //math #include "net/uip.h" #ifdef __CYGWIN__ @@ -50,21 +51,22 @@ #ifdef __CYGWIN__ PROCINIT(&etimer_process, &tcpip_process, &wpcap_process); #else /* __CYGWIN__ */ -PROCINIT(&etimer_process, &tcpip_process, &tapdev_process); +PROCINIT(&etimer_process, &tapdev_process, &tcpip_process); #endif /* __CYGWIN__ */ /*---------------------------------------------------------------------------*/ int main(void) { - uip_ipaddr_t addr; process_init(); procinit_init(); - + autostart_start(autostart_processes); - + +#if !UIP_CONF_IPV6 + uip_ipaddr_t addr; uip_ipaddr(&addr, 192,168,2,2); printf("IP Address: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&addr)); uip_sethostaddr(&addr); @@ -76,6 +78,8 @@ main(void) uip_ipaddr(&addr, 192,168,2,1); printf("Def. Router: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&addr)); uip_setdraddr(&addr); +#endif + // while(1) { int n;