You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/04/04 00:09:09 UTC

[incubator-nuttx-apps] branch master updated: examples/udp: When a host PC is used, take its implementation of hton/ntoh functions.

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git


The following commit(s) were added to refs/heads/master by this push:
     new d7df165  examples/udp: When a host PC is used, take its implementation of hton/ntoh functions.
d7df165 is described below

commit d7df165c45519826c44b444a3f669b251020ab2f
Author: Ouss4 <ab...@gmail.com>
AuthorDate: Fri Apr 3 20:10:52 2020 +0100

    examples/udp: When a host PC is used, take its implementation of hton/ntoh functions.
---
 examples/tcpblaster/tcpblaster_netinit.c | 77 ++++++++++++++++++--------------
 examples/udp/udp.h                       | 32 ++++---------
 examples/udp/udp_cmdline.c               | 31 +++++++------
 examples/udp/udp_netinit.c               | 72 +++++++++++++++--------------
 examples/udpblaster/udpblaster.h         |  2 +-
 5 files changed, 110 insertions(+), 104 deletions(-)

diff --git a/examples/tcpblaster/tcpblaster_netinit.c b/examples/tcpblaster/tcpblaster_netinit.c
index 19127e5..de89fe2 100644
--- a/examples/tcpblaster/tcpblaster_netinit.c
+++ b/examples/tcpblaster/tcpblaster_netinit.c
@@ -72,45 +72,16 @@
     !defined(CONFIG_NET_ICMPv6_AUTOCONF)
 /* Our host IPv6 address */
 
-static const uint16_t g_ipv6_hostaddr[8] =
-{
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_1),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_2),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_3),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_4),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_5),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_6),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_7),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_8),
-};
+static const uint16_t g_ipv6_hostaddr[8];
 
 /* Default routine IPv6 address */
 
-static const uint16_t g_ipv6_draddr[8] =
-{
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_1),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_2),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_3),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_4),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_5),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_6),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_7),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_8),
-};
+static const uint16_t g_ipv6_draddr[8];
 
 /* IPv6 netmask */
 
-static const uint16_t g_ipv6_netmask[8] =
-{
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_1),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_2),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_3),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_4),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_5),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_6),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_7),
-  HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_8),
-};
+static const uint16_t g_ipv6_netmask[8];
+
 #endif /* CONFIG_EXAMPLES_TCPBLASTER_INIT && CONFIG_EXAMPLES_TCPBLASTER_IPv6 && !CONFIG_NET_ICMPv6_AUTOCONF */
 
 /****************************************************************************
@@ -126,7 +97,45 @@ void tcpblaster_initialize(void)
   uint8_t mac[IFHWADDRLEN];
 #endif
 
-/* Many embedded network interfaces must have a software assigned MAC */
+#if defined(CONFIG_EXAMPLES_TCPBLASTER_INIT) && \
+    defined(CONFIG_EXAMPLES_TCPBLASTER_IPv6) && \
+    !defined(CONFIG_NET_ICMPv6_AUTOCONF)
+  /* Our host IPv6 address */
+
+  g_ipv6_hostaddr[0] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_1);
+  g_ipv6_hostaddr[1] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_2);
+  g_ipv6_hostaddr[2] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_3);
+  g_ipv6_hostaddr[3] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_4);
+  g_ipv6_hostaddr[4] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_5);
+  g_ipv6_hostaddr[5] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_6);
+  g_ipv6_hostaddr[6] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_7);
+  g_ipv6_hostaddr[7] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6ADDR_8);
+
+  /* Default routine IPv6 address */
+
+  g_ipv6_draddr[0] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_1);
+  g_ipv6_draddr[1] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_2);
+  g_ipv6_draddr[2] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_3);
+  g_ipv6_draddr[3] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_4);
+  g_ipv6_draddr[4] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_5);
+  g_ipv6_draddr[5] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_6);
+  g_ipv6_draddr[6] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_7);
+  g_ipv6_draddr[7] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_DRIPv6ADDR_8);
+
+  /* IPv6 netmask */
+
+  g_ipv6_netmask[0] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_1);
+  g_ipv6_netmask[1] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_2);
+  g_ipv6_netmask[2] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_3);
+  g_ipv6_netmask[3] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_4);
+  g_ipv6_netmask[4] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_5);
+  g_ipv6_netmask[5] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_6);
+  g_ipv6_netmask[6] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_7);
+  g_ipv6_netmask[7] = HTONS(CONFIG_EXAMPLES_TCPBLASTER_IPv6NETMASK_8);
+
+#endif
+
+  /* Many embedded network interfaces must have a software assigned MAC */
 
 #ifdef CONFIG_EXAMPLES_TCPBLASTER_NOMAC
   mac[0] = 0x00;
diff --git a/examples/udp/udp.h b/examples/udp/udp.h
index 82145a4..594b637 100644
--- a/examples/udp/udp.h
+++ b/examples/udp/udp.h
@@ -52,32 +52,18 @@
  ****************************************************************************/
 
 #ifdef EXAMPLES_UDP_HOST
-/* HTONS/L macros are unique to uIP-based networks */
-
-#  ifdef CONFIG_ENDIAN_BIG
-#    undef HTONS
-#    define HTONS(ns) (ns)
-#    undef HTONL
-#    define HTONL(nl) (nl)
-#  else
-#    undef HTONS
-#    define HTONS(ns) \
-       (unsigned short) \
-         (((((unsigned short)(ns)) & 0x00ff) << 8) | \
-         ((((unsigned short)(ns)) >> 8) & 0x00ff))
-#    undef HTONL
-#    define HTONL(nl) \
-       (unsigned long) \
-         (((((unsigned long)(nl)) & 0x000000ffUL) << 24) | \
-         ((((unsigned long)(nl)) & 0x0000ff00UL) <<  8) | \
-         ((((unsigned long)(nl)) & 0x00ff0000UL) >>  8) | \
-         ((((unsigned long)(nl)) & 0xff000000UL) >> 24))
-#  endif
+/* HTONS/L macros are unique to NuttX */
+
+#  undef HTONS
+#  undef HTONL
+#  define HTONS(ns) htons(ns)
+#  define HTONL(nl) htonl(nl)
 
 #  undef NTOHS
-#  define NTOHS(hs) HTONS(hs)
 #  undef NTOHL
-#  define NTOHL(hl) HTONL(hl)
+#  define NTOHS(hs) ntohs(hs)
+#  define NTOHL(hl) ntohl(hl)
+
 #  define FAR
 #endif
 
diff --git a/examples/udp/udp_cmdline.c b/examples/udp/udp_cmdline.c
index 8645b97..1c6cffa 100644
--- a/examples/udp/udp_cmdline.c
+++ b/examples/udp/udp_cmdline.c
@@ -50,19 +50,9 @@
  ****************************************************************************/
 
 #ifdef CONFIG_EXAMPLES_UDP_IPv6
-uint16_t g_udpserver_ipv6[8] =
-{
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_1),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_2),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_3),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_4),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_5),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_6),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_7),
-  HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_8)
-};
+uint16_t g_udpserver_ipv6[8];
 #else
-uint32_t g_udpserver_ipv4 = HTONL(CONFIG_EXAMPLES_UDP_SERVERIP);
+uint32_t g_udpserver_ipv4;
 #endif
 
 /****************************************************************************
@@ -89,8 +79,23 @@ static void show_usage(FAR const char *progname)
 
 void udp_cmdline(int argc, char **argv)
 {
+  /* Init the default IP address. */
+
+#ifdef CONFIG_EXAMPLES_UDP_IPv6
+  g_udpserver_ipv6[0] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_1);
+  g_udpserver_ipv6[1] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_2);
+  g_udpserver_ipv6[2] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_3);
+  g_udpserver_ipv6[3] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_4);
+  g_udpserver_ipv6[4] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_5);
+  g_udpserver_ipv6[5] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_6);
+  g_udpserver_ipv6[6] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_7);
+  g_udpserver_ipv6[7] = HTONS(CONFIG_EXAMPLES_UDP_SERVERIPv6ADDR_8);
+#else
+  g_udpserver_ipv4 = HTONL(CONFIG_EXAMPLES_UDP_SERVERIP);
+#endif
+
   /* Currently only a single command line option is supported:  The server
-   * IP address.
+   * IP address. Used to override default.
    */
 
   if (argc == 2)
diff --git a/examples/udp/udp_netinit.c b/examples/udp/udp_netinit.c
index 2d7e76b..c155117 100644
--- a/examples/udp/udp_netinit.c
+++ b/examples/udp/udp_netinit.c
@@ -69,45 +69,16 @@
 #if defined(CONFIG_EXAMPLES_UDP_IPv6) && !defined(CONFIG_NET_ICMPv6_AUTOCONF)
 /* Our host IPv6 address */
 
-static const uint16_t g_ipv6_hostaddr[8] =
-{
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_1),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_2),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_3),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_4),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_5),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_6),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_7),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_8),
-};
+static const uint16_t g_ipv6_hostaddr[8];
 
 /* Default routine IPv6 address */
 
-static const uint16_t g_ipv6_draddr[8] =
-{
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_1),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_2),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_3),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_4),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_5),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_6),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_7),
-  HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_8),
-};
+static const uint16_t g_ipv6_draddr[8];
 
 /* IPv6 netmask */
 
-static const uint16_t g_ipv6_netmask[8] =
-{
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_1),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_2),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_3),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_4),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_5),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_6),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_7),
-  HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_8),
-};
+static const uint16_t g_ipv6_netmask[8];
+
 #endif /* CONFIG_EXAMPLES_UDP_IPv6 && !CONFIG_NET_ICMPv6_AUTOCONF */
 
 static bool g_initialized;
@@ -122,6 +93,41 @@ static bool g_initialized;
 
 int udp_netinit(void)
 {
+#if defined(CONFIG_EXAMPLES_UDP_IPv6) && !defined(CONFIG_NET_ICMPv6_AUTOCONF)
+  /* Our host IPv6 address */
+
+  g_ipv6_hostaddr[0] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_1);
+  g_ipv6_hostaddr[1] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_2);
+  g_ipv6_hostaddr[2] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_3);
+  g_ipv6_hostaddr[3] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_4);
+  g_ipv6_hostaddr[4] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_5);
+  g_ipv6_hostaddr[5] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_6);
+  g_ipv6_hostaddr[6] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_7);
+  g_ipv6_hostaddr[7] = HTONS(CONFIG_EXAMPLES_UDP_IPv6ADDR_8);
+
+  /* Default routine IPv6 address */
+
+  g_ipv6_draddr[0] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_1);
+  g_ipv6_draddr[1] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_2);
+  g_ipv6_draddr[2] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_3);
+  g_ipv6_draddr[3] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_4);
+  g_ipv6_draddr[4] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_5);
+  g_ipv6_draddr[5] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_6);
+  g_ipv6_draddr[6] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_7);
+  g_ipv6_draddr[7] = HTONS(CONFIG_EXAMPLES_UDP_DRIPv6ADDR_8);
+
+  /* IPv6 netmask */
+
+  g_ipv6_netmask[0] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_1);
+  g_ipv6_netmask[1] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_2);
+  g_ipv6_netmask[2] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_3);
+  g_ipv6_netmask[3] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_4);
+  g_ipv6_netmask[4] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_5);
+  g_ipv6_netmask[5] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_6);
+  g_ipv6_netmask[6] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_7);
+  g_ipv6_netmask[7] = HTONS(CONFIG_EXAMPLES_UDP_IPv6NETMASK_8);
+#endif /* CONFIG_EXAMPLES_UDP_IPv6 && !CONFIG_NET_ICMPv6_AUTOCONF */
+
   if (!g_initialized)
     {
 #ifdef CONFIG_EXAMPLES_UDP_IPv6
diff --git a/examples/udpblaster/udpblaster.h b/examples/udpblaster/udpblaster.h
index 6a4568f..68012d4 100644
--- a/examples/udpblaster/udpblaster.h
+++ b/examples/udpblaster/udpblaster.h
@@ -49,7 +49,7 @@
  ****************************************************************************/
 
 #ifdef UDPBLASTER_HOST
-/* HTONS/L macros are unique to uIP */
+/* HTONS/L macros are unique to NuttX */
 
 #  undef HTONS
 #  undef HTONL