From f6902948428b7fddcc6b1ebf27baa5dbd71c151b Mon Sep 17 00:00:00 2001 From: nvt-se Date: Mon, 3 May 2010 14:57:59 +0000 Subject: [PATCH] Example has been replaced by udp-ipv6 --- examples/udp-receiver-ipv6/Makefile | 6 - examples/udp-receiver-ipv6/Makefile.target | 1 - examples/udp-receiver-ipv6/README | 1 - .../udp-receiver-ipv6/example-udp-receiver.c | 111 --------------- examples/udp-sender-ipv6/Makefile | 6 - examples/udp-sender-ipv6/Makefile.target | 1 - examples/udp-sender-ipv6/README | 31 ---- examples/udp-sender-ipv6/example-udp-sender.c | 133 ------------------ 8 files changed, 290 deletions(-) delete mode 100644 examples/udp-receiver-ipv6/Makefile delete mode 100644 examples/udp-receiver-ipv6/Makefile.target delete mode 100644 examples/udp-receiver-ipv6/README delete mode 100644 examples/udp-receiver-ipv6/example-udp-receiver.c delete mode 100644 examples/udp-sender-ipv6/Makefile delete mode 100644 examples/udp-sender-ipv6/Makefile.target delete mode 100644 examples/udp-sender-ipv6/README delete mode 100644 examples/udp-sender-ipv6/example-udp-sender.c diff --git a/examples/udp-receiver-ipv6/Makefile b/examples/udp-receiver-ipv6/Makefile deleted file mode 100644 index 9af1a856d..000000000 --- a/examples/udp-receiver-ipv6/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: example-udp-receiver - -UIP_CONF_IPV6=1 - -CONTIKI = ../.. -include $(CONTIKI)/Makefile.include diff --git a/examples/udp-receiver-ipv6/Makefile.target b/examples/udp-receiver-ipv6/Makefile.target deleted file mode 100644 index 0d5d95ee2..000000000 --- a/examples/udp-receiver-ipv6/Makefile.target +++ /dev/null @@ -1 +0,0 @@ -TARGET = minimal-net diff --git a/examples/udp-receiver-ipv6/README b/examples/udp-receiver-ipv6/README deleted file mode 100644 index dda3942c1..000000000 --- a/examples/udp-receiver-ipv6/README +++ /dev/null @@ -1 +0,0 @@ -See examples/udp-sender-ipv6/README. diff --git a/examples/udp-receiver-ipv6/example-udp-receiver.c b/examples/udp-receiver-ipv6/example-udp-receiver.c deleted file mode 100644 index a3a5d1c47..000000000 --- a/examples/udp-receiver-ipv6/example-udp-receiver.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file is part of the Contiki operating system. - * - */ - -#include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" - -#include - -#define DEBUG 1 -#if DEBUG -#include -#define PRINTF(...) printf(__VA_ARGS__) -#define PRINT6ADDR(addr) PRINTF(" %02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x ", ((u8_t *)addr)[0], ((u8_t *)addr)[1], ((u8_t *)addr)[2], ((u8_t *)addr)[3], ((u8_t *)addr)[4], ((u8_t *)addr)[5], ((u8_t *)addr)[6], ((u8_t *)addr)[7], ((u8_t *)addr)[8], ((u8_t *)addr)[9], ((u8_t *)addr)[10], ((u8_t *)addr)[11], ((u8_t *)addr)[12], ((u8_t *)addr)[13], ((u8_t *)addr)[14], ((u8_t *)addr)[15]) -#define PRINTLLADDR(lladdr) PRINTF(" %02x:%02x:%02x:%02x:%02x:%02x ",(lladdr)->addr[0], (lladdr)->addr[1], (lladdr)->addr[2], (lladdr)->addr[3],(lladdr)->addr[4], (lladdr)->addr[5]) -#else -#define PRINTF(...) -#define PRINT6ADDR(addr) -#define PRINTLLADDR(addr) -#endif - -#define UDP_DATA_LEN 120 - -static struct uip_udp_conn *udpconn; - -PROCESS(udp_process_receiver, "UDP test receiver"); -AUTOSTART_PROCESSES(&udp_process_receiver); - -/*---------------------------------------------------------------------------*/ -static void -udphandler(process_event_t ev, process_data_t data) -{ - if (ev == tcpip_event) { - if(uip_newdata()) { - ((char *)uip_appdata)[uip_datalen()] = 0; - printf("Receiver received: '%s'\n", (char *)uip_appdata); - } - } - - printf("Receiver sending to: "); - PRINT6ADDR(&udpconn->ripaddr); - printf("\n"); - uip_udp_packet_send(udpconn, "Receiver says Hi!", strlen("Receiver says Hi!")); -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(udp_process_receiver, ev, data) -{ - uip_ipaddr_t ipaddr; - int a; - - PROCESS_BEGIN(); - PRINTF("Process test UDP receiver started\n"); - - PRINTF("Tentative link-local IPv6 address: "); - for(a = 0; a < UIP_DS6_ADDR_NB; a++) { - if(uip_ds6_if.addr_list[a].isused) { - PRINT6ADDR(&uip_ds6_if.addr_list[a].ipaddr); - PRINTF("\n"); - } - } - PRINTF("\n"); - -#ifdef UDP_ADDR_A - uip_ip6addr(&ipaddr, - UDP_ADDR_A,UDP_ADDR_B,UDP_ADDR_C,UDP_ADDR_D, - UDP_ADDR_E,UDP_ADDR_F,UDP_ADDR_G,UDP_ADDR_H); -#else /* UDP_ADDR_A */ - uip_ip6addr(&ipaddr,0xFE80,0,0,0,0x2022,0x2222,0x2222,0x2222); -#endif /* UDP_ADDR_A */ - - udpconn = udp_new(&ipaddr, HTONS(0xF0B0+1), NULL); - udp_bind(udpconn, HTONS(0xF0B0)); - - PRINTF("Created connection with remote peer "); - PRINT6ADDR(&udpconn->ripaddr); - PRINTF("local/remote port %u/%u\n", HTONS(udpconn->lport),HTONS(udpconn->rport)); - - while(1) { - PROCESS_YIELD(); - udphandler(ev, data); - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/ diff --git a/examples/udp-sender-ipv6/Makefile b/examples/udp-sender-ipv6/Makefile deleted file mode 100644 index 7602fedff..000000000 --- a/examples/udp-sender-ipv6/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: example-udp-sender - -UIP_CONF_IPV6=1 - -CONTIKI = ../.. -include $(CONTIKI)/Makefile.include diff --git a/examples/udp-sender-ipv6/Makefile.target b/examples/udp-sender-ipv6/Makefile.target deleted file mode 100644 index 0d5d95ee2..000000000 --- a/examples/udp-sender-ipv6/Makefile.target +++ /dev/null @@ -1 +0,0 @@ -TARGET = minimal-net diff --git a/examples/udp-sender-ipv6/README b/examples/udp-sender-ipv6/README deleted file mode 100644 index 6be48f116..000000000 --- a/examples/udp-sender-ipv6/README +++ /dev/null @@ -1,31 +0,0 @@ -This example features a simple application sending udp packets on port 0xF0B0, -from port F0B1, to a udp receiver. It must be used in conjonction with a node -running the udp-receiver-ipv6 example. - -We use this example to test UDP, and most particularly UDP header compression -with IPv6 and 6lowpan support. When IPv6 is used over an 802.15.4 link, -6lowpan acts as an adaptation layer between IPv6 and MAC. In particular, -it can compress IP headers and UDP headers. - -With both HC1 and HC01 header compression schemes, UDP 16-bit ports are -compressed to 4 bits if they are between F0B0 and F0BF. - -sender behavior: -The sender is implemented in examples/udp-sender-ipv6/example-udp-sender.c -and acts in the following way: -it waits 15 seconds (to be sure the node configures a global address, in case -a router on the link sends router advertisements usable for address -autoconfiguration) , then sends 5 UDP packets to the receiver address -entered hard-wired in the source code. - -receiver behavior: -When receiving a packet, the receiver answers with a simmilar packet. - -To run this example, contiki-conf.h must have at least the following flags -values: -#define UIP_CONF_UDP 1 -#define UIP_CONF_IPV6 1 - -You must configure addresses example-udp-sender.c and -examples/udp-receiver-ipv6/example-udp-receiver.c which match your -platforms addresses. diff --git a/examples/udp-sender-ipv6/example-udp-sender.c b/examples/udp-sender-ipv6/example-udp-sender.c deleted file mode 100644 index a2d42d6f4..000000000 --- a/examples/udp-sender-ipv6/example-udp-sender.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file is part of the Contiki operating system. - * - */ - -#include "contiki.h" -#include "contiki-lib.h" -#include "contiki-net.h" - -#include - -#define DEBUG 1 -#if DEBUG -#include -#define PRINTF(...) printf(__VA_ARGS__) -#define PRINT6ADDR(addr) PRINTF(" %02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x ", ((u8_t *)addr)[0], ((u8_t *)addr)[1], ((u8_t *)addr)[2], ((u8_t *)addr)[3], ((u8_t *)addr)[4], ((u8_t *)addr)[5], ((u8_t *)addr)[6], ((u8_t *)addr)[7], ((u8_t *)addr)[8], ((u8_t *)addr)[9], ((u8_t *)addr)[10], ((u8_t *)addr)[11], ((u8_t *)addr)[12], ((u8_t *)addr)[13], ((u8_t *)addr)[14], ((u8_t *)addr)[15]) -#define PRINTLLADDR(lladdr) PRINTF(" %02x:%02x:%02x:%02x:%02x:%02x ",(lladdr)->addr[0], (lladdr)->addr[1], (lladdr)->addr[2], (lladdr)->addr[3],(lladdr)->addr[4], (lladdr)->addr[5]) -#else -#define PRINTF(...) -#define PRINT6ADDR(addr) -#define PRINTLLADDR(addr) -#endif - -#define UDP_NB 5 - -static struct etimer udp_periodic_timer; - -static struct uip_udp_conn *udpconn; -static u8_t count = 0; - -PROCESS(udp_process_sender, "UDP test sender"); -AUTOSTART_PROCESSES(&udp_process_sender); - -/*---------------------------------------------------------------------------*/ -static u8_t -udphandler(process_event_t ev, process_data_t data) -{ - if(etimer_expired(&udp_periodic_timer)) { - printf("Event timer expired\n"); - count=0; - } - - if(ev == tcpip_event) { - if(uip_newdata()) { - ((char *)uip_appdata)[uip_datalen()] = 0; - printf("Sender received: '%s'\n", (char *)uip_appdata); - } - } - - if(count < UDP_NB) { - count++; - - printf("Sender sending to: "); - PRINT6ADDR(&udpconn->ripaddr); - printf("\n"); -#if SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION - uip_udp_packet_send(udpconn, "Sender says Hi!", UIP_APPDATA_SIZE); -#else /* SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION */ - uip_udp_packet_send(udpconn, "Sender says Hi!", strlen("Sender says Hi!")); -#endif /* SEND_TOO_LARGE_PACKET_TO_TEST_FRAGMENTATION */ - } - - etimer_set(&udp_periodic_timer, 13*CLOCK_SECOND + random_rand()%(4*CLOCK_SECOND)); - return 0; -} -/*---------------------------------------------------------------------------*/ -PROCESS_THREAD(udp_process_sender, ev, data) -{ - uip_ipaddr_t ipaddr; - int a; - - PROCESS_BEGIN(); - PRINTF("Process test UDP sender started\n"); - - PRINTF("Tentative link-local IPv6 address: "); - for(a = 0; a < UIP_DS6_ADDR_NB; a++) { - if(uip_ds6_if.addr_list[a].isused) { - PRINT6ADDR(&uip_ds6_if.addr_list[a].ipaddr); - PRINTF("\n"); - } - } - PRINTF("\n"); - -#ifdef UDP_ADDR_A - uip_ip6addr(&ipaddr, - UDP_ADDR_A,UDP_ADDR_B,UDP_ADDR_C,UDP_ADDR_D, - UDP_ADDR_E,UDP_ADDR_F,UDP_ADDR_G,UDP_ADDR_H); -#else /* UDP_ADDR_A */ - uip_ip6addr(&ipaddr,0xfe80,0,0,0,0x6466,0x6666,0x6666,0x6666); -#endif /* UDP_ADDR_A */ - - /* new connection with remote host */ - udpconn = udp_new(&ipaddr, HTONS(0xF0B0), NULL); - udp_bind(udpconn, HTONS(0xF0B0+1)); - - PRINTF("Created connection with remote peer "); - PRINT6ADDR(&udpconn->ripaddr); - PRINTF("local/remote port %u/%u\n", HTONS(udpconn->lport),HTONS(udpconn->rport)); - - etimer_set(&udp_periodic_timer, 15*CLOCK_SECOND); - - while(1) { - PROCESS_YIELD(); - udphandler(ev, data); - } - - PROCESS_END(); -} -/*---------------------------------------------------------------------------*/