From 14fc6d7575f3205da1bcd3af18febcea2b813073 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 6 Apr 2017 09:37:52 -0600 Subject: [PATCH] examples/udpblaster: Several fixes to work with 6loWPAN. --- examples/nettest/Makefile | 3 - examples/udpblaster/Kconfig | 82 +++++++++++++++---------- examples/udpblaster/Makefile | 11 ++-- examples/udpblaster/udpblaster.h | 4 +- examples/udpblaster/udpblaster_host.c | 24 +++----- examples/udpblaster/udpblaster_target.c | 18 +++--- 6 files changed, 76 insertions(+), 66 deletions(-) diff --git a/examples/nettest/Makefile b/examples/nettest/Makefile index 6fc5a26af..a76a15d46 100644 --- a/examples/nettest/Makefile +++ b/examples/nettest/Makefile @@ -99,9 +99,6 @@ else INSTALL_DIR = $(BIN_DIR) endif -CONFIG_XYZ_PROGNAME ?= nettest$(EXEEXT) -PROGNAME = $(CONFIG_XYZ_PROGNAME) - ROOTDEPPATH = --dep-path . # NET test built-in application info diff --git a/examples/udpblaster/Kconfig b/examples/udpblaster/Kconfig index a65b41d81..d31683431 100644 --- a/examples/udpblaster/Kconfig +++ b/examples/udpblaster/Kconfig @@ -12,6 +12,22 @@ config EXAMPLES_UDPBLASTER if EXAMPLES_UDPBLASTER +config EXAMPLES_UDPBLASTER_PROGNAME + string "Program name" + default "nettest" + depends on BUILD_KERNEL + ---help--- + This is the name of the program that will be use when the Nettest + program is installed. + +config EXAMPLES_UDPBLASTER_STACKSIZE + int "Nettest stack size" + default 2048 + +config EXAMPLES_UDPBLASTER_PRIORITY + int "Nettest priority" + default 100 + config EXAMPLES_UDPBLASTER_HOSTRATE int "Host send rate (bits/second)" default 800000 @@ -153,87 +169,87 @@ config EXAMPLES_UDPBLASTER_TARGETIPv6_8 specified individually. This is the last of the 8-values. The default for all eight values is fc00::2. -comment "Router IPv6 address" +comment "Host IPv6 address" config EXAMPLES_UDPBLASTER_HOSTIPv6_1 hex "[0]" default 0xfc00 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the first of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the first of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_2 hex "[1]" default 0x0000 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the second of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the second of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_3 hex "[2]" default 0x0000 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the third of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the third of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_4 hex "[3]" default 0x0000 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the fourth of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the fourth of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_5 hex "[4]" default 0x0000 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the fifth of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the fifth of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_6 hex "[5]" default 0x0000 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the sixth of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the sixth of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_7 hex "[6]" default 0x0000 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the seventh of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the seventh of the 8-values. + The default for all eight values is fc00::1. config EXAMPLES_UDPBLASTER_HOSTIPv6_8 hex "[7]" default 0x0001 range 0x0 0xffff ---help--- - Default router IP address (aka, Gateway). This is a 16-bit integer - value in host order. Each of the eight values forming the full IP - address must be specified individually. This is the last of the - 8-values. The default for all eight values is fc00::1. + Host IP address. This is a 16-bit integer value in host order. + Each of the eight values forming the full IP address must be + specified individually. This is the last of the 8-values. + The default for all eight values is fc00::1. if EXAMPLES_UDPBLASTER_INIT diff --git a/examples/udpblaster/Makefile b/examples/udpblaster/Makefile index f014d68fc..469c2a212 100644 --- a/examples/udpblaster/Makefile +++ b/examples/udpblaster/Makefile @@ -79,16 +79,19 @@ else INSTALL_DIR = $(BIN_DIR) endif -CONFIG_XYZ_PROGNAME ?= udpblaster$(EXEEXT) -PROGNAME = $(CONFIG_XYZ_PROGNAME) +CONFIG_UPBLASTER_PROGNAME ?= udpblaster$(EXEEXT) +PROGNAME = $(CONFIG_UPBLASTER_PROGNAME) ROOTDEPPATH = --dep-path . # NET test built-in application info +CONFIG_EXAMPLES_UDPBLASTER_STACKSIZE ?= 2048 +CONFIG_EXAMPLES_UDPBLASTER_PRIORITY ?= 100 + APPNAME = udpblaster -PRIORITY = SCHED_PRIORITY_DEFAULT -STACKSIZE = 2048 +PRIORITY = $(CONFIG_EXAMPLES_UDPBLASTER_PRIORITY) +STACKSIZE = $(CONFIG_EXAMPLES_UDPBLASTER_STACKSIZE) # Common build diff --git a/examples/udpblaster/udpblaster.h b/examples/udpblaster/udpblaster.h index 6e2a21db3..fdfe1b7d8 100644 --- a/examples/udpblaster/udpblaster.h +++ b/examples/udpblaster/udpblaster.h @@ -88,7 +88,6 @@ # else # define UDPBLASTER_MSS (UDPBLASTER_MTU - ETH_HDRLEN - IPv4_HDRLEN - UDP_HDRLEN) # endif -# #elif defined(CONFIG_NET_LOOPBACK) # define UDPBLASTER_MTU 1518 # ifdef CONFIG_EXAMPLES_UDPBLASTER_IPv6 @@ -96,6 +95,9 @@ # else # define UDPBLASTER_MSS (UDPBLASTER_MTU - IPv4_HDRLEN - UDP_HDRLEN) # endif +#elif defined(CONFIG_NET_6LOWPAN) +# define UDPBLASTER_MTU CONFIG_NET_6LOWPAN_MTU +# define UDPBLASTER_MSS (CONFIG_NET_6LOWPAN_MTU - IPv6_HDRLEN - UDP_HDRLEN) #elif defined(CONFIG_NET_SLIP) # define UDPBLASTER_MTU CONFIG_NET_SLIP_MTU # ifdef CONFIG_EXAMPLES_UDPBLASTER_IPv6 diff --git a/examples/udpblaster/udpblaster_host.c b/examples/udpblaster/udpblaster_host.c index c2dfcd201..11562d84d 100644 --- a/examples/udpblaster/udpblaster_host.c +++ b/examples/udpblaster/udpblaster_host.c @@ -48,14 +48,6 @@ #include "udpblaster.h" -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - /**************************************************************************** * main ****************************************************************************/ @@ -91,14 +83,14 @@ int main(int argc, char **argv, char **envp) #else target.sin6_family = AF_INET6; target.sin6_port = HTONS(UDPBLASTER_PORTNO); - target.sin6_addr.s6_addr16[0] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_1); - target.sin6_addr.s6_addr16[1] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_2); - target.sin6_addr.s6_addr16[2] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_3); - target.sin6_addr.s6_addr16[3] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_4); - target.sin6_addr.s6_addr16[4] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_5); - target.sin6_addr.s6_addr16[5] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_6); - target.sin6_addr.s6_addr16[6] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_7); - target.sin6_addr.s6_addr16[7] = HTONL(EXAMPLES_UDPBLASTER_TARGETIPv6_8); + target.sin6_addr.s6_addr16[0] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_1); + target.sin6_addr.s6_addr16[1] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_2); + target.sin6_addr.s6_addr16[2] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_3); + target.sin6_addr.s6_addr16[3] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_4); + target.sin6_addr.s6_addr16[4] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_5); + target.sin6_addr.s6_addr16[5] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_6); + target.sin6_addr.s6_addr16[6] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_7); + target.sin6_addr.s6_addr16[7] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_TARGETIPv6_8); addrlen = sizeof(struct sockaddr_in6); sockfd = socket(PF_INET6, SOCK_DGRAM, 0); diff --git a/examples/udpblaster/udpblaster_target.c b/examples/udpblaster/udpblaster_target.c index a656f0090..afbb1b51b 100644 --- a/examples/udpblaster/udpblaster_target.c +++ b/examples/udpblaster/udpblaster_target.c @@ -223,20 +223,20 @@ int udpblaster_main(int argc, char *argv[]) #else host.sin6_family = AF_INET6; host.sin6_port = HTONS(UDPBLASTER_PORTNO); - host.sin6_addr.s6_addr16[0] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_1); - host.sin6_addr.s6_addr16[1] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_2); - host.sin6_addr.s6_addr16[2] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_3); - host.sin6_addr.s6_addr16[3] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_4); - host.sin6_addr.s6_addr16[4] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_5); - host.sin6_addr.s6_addr16[5] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_6); - host.sin6_addr.s6_addr16[6] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_7); - host.sin6_addr.s6_addr16[7] = HTONL(EXAMPLES_UDPBLASTER_HOSTIPv6_8); + host.sin6_addr.s6_addr16[0] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_1); + host.sin6_addr.s6_addr16[1] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_2); + host.sin6_addr.s6_addr16[2] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_3); + host.sin6_addr.s6_addr16[3] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_4); + host.sin6_addr.s6_addr16[4] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_5); + host.sin6_addr.s6_addr16[5] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_6); + host.sin6_addr.s6_addr16[6] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_7); + host.sin6_addr.s6_addr16[7] = HTONS(CONFIG_EXAMPLES_UDPBLASTER_HOSTIPv6_8); addrlen = sizeof(struct sockaddr_in6); sockfd = socket(PF_INET6, SOCK_DGRAM, 0); if (sockfd < 0) { - fprintf(stderr, "ERROR: socket() failed: %d\n", errno) + fprintf(stderr, "ERROR: socket() failed: %d\n", errno); return 1; } #endif