examples/udp: When a host PC is used, take its implementation of hton/ntoh functions.

This commit is contained in:
Ouss4 2020-04-03 20:10:52 +01:00 committed by patacongo
parent dd95e35787
commit d7df165c45
5 changed files with 109 additions and 103 deletions

View File

@ -72,45 +72,16 @@
!defined(CONFIG_NET_ICMPv6_AUTOCONF) !defined(CONFIG_NET_ICMPv6_AUTOCONF)
/* Our host IPv6 address */ /* Our host IPv6 address */
static const uint16_t g_ipv6_hostaddr[8] = 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),
};
/* Default routine IPv6 address */ /* Default routine IPv6 address */
static const uint16_t g_ipv6_draddr[8] = 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),
};
/* IPv6 netmask */ /* IPv6 netmask */
static const uint16_t g_ipv6_netmask[8] = 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),
};
#endif /* CONFIG_EXAMPLES_TCPBLASTER_INIT && CONFIG_EXAMPLES_TCPBLASTER_IPv6 && !CONFIG_NET_ICMPv6_AUTOCONF */ #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]; uint8_t mac[IFHWADDRLEN];
#endif #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 #ifdef CONFIG_EXAMPLES_TCPBLASTER_NOMAC
mac[0] = 0x00; mac[0] = 0x00;

View File

@ -52,32 +52,18 @@
****************************************************************************/ ****************************************************************************/
#ifdef EXAMPLES_UDP_HOST #ifdef EXAMPLES_UDP_HOST
/* HTONS/L macros are unique to uIP-based networks */ /* HTONS/L macros are unique to NuttX */
# ifdef CONFIG_ENDIAN_BIG
# undef HTONS # undef HTONS
# define HTONS(ns) (ns)
# undef HTONL # undef HTONL
# define HTONL(nl) (nl) # define HTONS(ns) htons(ns)
# else # define HTONL(nl) htonl(nl)
# 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
# undef NTOHS # undef NTOHS
# define NTOHS(hs) HTONS(hs)
# undef NTOHL # undef NTOHL
# define NTOHL(hl) HTONL(hl) # define NTOHS(hs) ntohs(hs)
# define NTOHL(hl) ntohl(hl)
# define FAR # define FAR
#endif #endif

View File

@ -50,19 +50,9 @@
****************************************************************************/ ****************************************************************************/
#ifdef CONFIG_EXAMPLES_UDP_IPv6 #ifdef CONFIG_EXAMPLES_UDP_IPv6
uint16_t g_udpserver_ipv6[8] = 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)
};
#else #else
uint32_t g_udpserver_ipv4 = HTONL(CONFIG_EXAMPLES_UDP_SERVERIP); uint32_t g_udpserver_ipv4;
#endif #endif
/**************************************************************************** /****************************************************************************
@ -89,8 +79,23 @@ static void show_usage(FAR const char *progname)
void udp_cmdline(int argc, char **argv) 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 /* Currently only a single command line option is supported: The server
* IP address. * IP address. Used to override default.
*/ */
if (argc == 2) if (argc == 2)

View File

@ -69,45 +69,16 @@
#if defined(CONFIG_EXAMPLES_UDP_IPv6) && !defined(CONFIG_NET_ICMPv6_AUTOCONF) #if defined(CONFIG_EXAMPLES_UDP_IPv6) && !defined(CONFIG_NET_ICMPv6_AUTOCONF)
/* Our host IPv6 address */ /* Our host IPv6 address */
static const uint16_t g_ipv6_hostaddr[8] = 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),
};
/* Default routine IPv6 address */ /* Default routine IPv6 address */
static const uint16_t g_ipv6_draddr[8] = 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),
};
/* IPv6 netmask */ /* IPv6 netmask */
static const uint16_t g_ipv6_netmask[8] = 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),
};
#endif /* CONFIG_EXAMPLES_UDP_IPv6 && !CONFIG_NET_ICMPv6_AUTOCONF */ #endif /* CONFIG_EXAMPLES_UDP_IPv6 && !CONFIG_NET_ICMPv6_AUTOCONF */
static bool g_initialized; static bool g_initialized;
@ -122,6 +93,41 @@ static bool g_initialized;
int udp_netinit(void) 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) if (!g_initialized)
{ {
#ifdef CONFIG_EXAMPLES_UDP_IPv6 #ifdef CONFIG_EXAMPLES_UDP_IPv6

View File

@ -49,7 +49,7 @@
****************************************************************************/ ****************************************************************************/
#ifdef UDPBLASTER_HOST #ifdef UDPBLASTER_HOST
/* HTONS/L macros are unique to uIP */ /* HTONS/L macros are unique to NuttX */
# undef HTONS # undef HTONS
# undef HTONL # undef HTONL