summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-06-16 10:09:36 -0500
committerKinsey Moore <kinsey.moore@oarcorp.com>2022-07-08 16:14:55 -0500
commit3a518f046c61a73a4558083b40238204f135eb1f (patch)
tree2329d33084f3d81d16966a11f336c4252995e59a
parent5857da3fa8f88d7028d80fe270d03e779706e533 (diff)
telnetd01: Break out network startup
This moves network startup in to a BSP-defined function so that tests can be more generic.
-rw-r--r--rtemslwip/beaglebone/netstart.c43
-rw-r--r--rtemslwip/include/netstart.h41
-rw-r--r--rtemslwip/test/telnetd01/init.c26
3 files changed, 107 insertions, 3 deletions
diff --git a/rtemslwip/beaglebone/netstart.c b/rtemslwip/beaglebone/netstart.c
new file mode 100644
index 0000000..33384b6
--- /dev/null
+++ b/rtemslwip/beaglebone/netstart.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2022 On-Line Applications Research Corporation (OAR)
+ * Written by Kinsey Moore <kinsey.moore@oarcorp.com>
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.
+ */
+
+#include <netstart.h>
+#include "soc_AM335x.h"
+#include "beaglebone.h"
+#include <lwip/tcpip.h>
+
+int start_networking(
+ struct netif *net_interface,
+ ip_addr_t *ipaddr,
+ ip_addr_t *netmask,
+ ip_addr_t *gateway,
+ unsigned char *mac_ethernet_address
+)
+{
+ tcpip_init( NULL, NULL );
+
+ return 0;
+}
diff --git a/rtemslwip/include/netstart.h b/rtemslwip/include/netstart.h
new file mode 100644
index 0000000..d5c58d4
--- /dev/null
+++ b/rtemslwip/include/netstart.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2022 On-Line Applications Research Corporation (OAR)
+ * Written by Kinsey Moore <kinsey.moore@oarcorp.com>
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.
+ */
+
+#ifndef _RTEMSLWIP_NETSTART_H
+#define _RTEMSLWIP_NETSTART_H
+#include <lwip/init.h>
+#include <lwip/sockets.h>
+#include <lwip/ip_addr.h>
+
+int start_networking(
+ struct netif *net_interface,
+ ip_addr_t *ipaddr,
+ ip_addr_t *netmask,
+ ip_addr_t *gateway,
+ unsigned char *mac_ethernet_address
+);
+
+#endif
diff --git a/rtemslwip/test/telnetd01/init.c b/rtemslwip/test/telnetd01/init.c
index f1fe036..9bb013a 100644
--- a/rtemslwip/test/telnetd01/init.c
+++ b/rtemslwip/test/telnetd01/init.c
@@ -28,13 +28,15 @@
#include <rtems/telnetd.h>
#include <lwip/dhcp.h>
-#include <lwip/tcpip.h>
+#include <arch/sys_arch.h>
#include <tmacros.h>
+#include <netstart.h>
+
const char rtems_test_name[] = "TELNETD 1";
-//struct rtems_bsdnet_config rtems_bsdnet_config;
+struct netif net_interface;
rtems_shell_env_t env;
@@ -86,10 +88,28 @@ rtems_shell_cmd_t shell_NETINFO_Command = {
static rtems_task Init( rtems_task_argument argument )
{
rtems_status_code sc;
+ int ret;
TEST_BEGIN();
- lwip_init();
+ ip_addr_t ipaddr, netmask, gw;
+
+ IP_ADDR4( &ipaddr, 10, 0, 2, 14 );
+ IP_ADDR4( &netmask, 255, 255, 255, 0 );
+ IP_ADDR4( &gw, 10, 0, 2, 3 );
+ unsigned char mac_ethernet_address[] = { 0x00, 0x0a, 0x35, 0x00, 0x22, 0x01 };
+
+ ret = start_networking(
+ &net_interface,
+ &ipaddr,
+ &netmask,
+ &gw,
+ mac_ethernet_address
+ );
+
+ if ( ret != 0 ) {
+ return;
+ }
rtems_shell_init_environment();