[PATCH rtems-lwip v1 3/9] telnetd01: Break out network startup
Kinsey Moore
kinsey.moore at oarcorp.com
Fri Jul 1 22:31:06 UTC 2022
This moves network startup in to a BSP-defined function so that tests
can be more generic.
---
rtemslwip/beaglebone/netstart.c | 43 +++++++++++++++++++++++++++++++++
rtemslwip/include/netstart.h | 41 +++++++++++++++++++++++++++++++
rtemslwip/test/telnetd01/init.c | 26 +++++++++++++++++---
3 files changed, 107 insertions(+), 3 deletions(-)
create mode 100644 rtemslwip/beaglebone/netstart.c
create mode 100644 rtemslwip/include/netstart.h
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 at 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 at 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 0a20bd8..a671fdd 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();
--
2.30.2
More information about the devel
mailing list