zephyr/samples/net/echo_server
Wojciech Bober 4be677fa45 samples/net: ieee802154: Add configuration for nrf5
This commit addes new configuration for examples which use
nrf5 802.15.4 radio.

Change-Id: I0c57334d071fb58bc2282feb3f4e6b949ce5d472
Signed-off-by: Wojciech Bober <wojciech.bober@nordicsemi.no>
2017-02-22 17:28:24 +02:00
..
src net: samples: Unref net_buf using net_nbuf_unref 2017-02-09 12:29:29 +02:00
Makefile license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
prj_arduino_101_cc2520.conf drivers/net/ieee802154: Change configuration prefix 2017-02-08 10:12:35 +02:00
prj_arduino_101.conf drivers/ethernet: Update default GPIO pin for the ENC28J60 module 2017-01-20 16:23:17 +02:00
prj_bt.conf net: samples: Add CONFIG_NET_L2_BLUETOOTH_ZEP1656 2017-02-03 15:59:20 +02:00
prj_cc2520.conf drivers/net/ieee802154: Change configuration prefix 2017-02-08 10:12:35 +02:00
prj_frdm_k64f_cc2520.conf drivers/net/ieee802154: Change configuration prefix 2017-02-08 10:12:35 +02:00
prj_frdm_k64f_mcr20a.conf drivers/net/ieee802154: Change configuration prefix 2017-02-08 10:12:35 +02:00
prj_frdm_k64f.conf net: echo_server: Enable TCP for frdm_k64f 2017-02-03 15:59:14 +02:00
prj_nrf5.conf samples/net: ieee802154: Add configuration for nrf5 2017-02-22 17:28:24 +02:00
prj_qemu_802154.conf drivers/net/ieee802154: Change configuration prefix 2017-02-08 10:12:35 +02:00
prj_qemu_cortex_m3.conf samples: net: Add .conf file for qemu_cortex_m3 in echo_* 2017-02-14 08:30:34 +02:00
prj_qemu_x86.conf samples: net: Enable buffer warning and errors in echo apps on qemu 2017-01-20 16:23:19 +02:00
prj_sam_e70_xplained.conf samples: net: echo_server .conf for Atmel SMART SAM E70 Xplained board 2017-02-01 21:01:20 +00:00
README.rst samples: net: Add README.rst to echo apps 2017-02-15 12:20:08 +02:00
testcase.ini net: do not skip sanitycheck on samples 2017-01-06 22:08:14 +00:00

Echo Server
###########

Overview
********

The echo-server sample application for Zephyr implements a UDP/TCP server
that complements the echo-client sample application: the echo-server listens
for incoming IPv4 or IPv6 packets (sent by the echo client) and simply sends
them back.

The source code for this sample application can be found at:
:file:`samples/net/echo_server`.

Building and Running
********************

There are multiple ways to use this application. One of the most common
usage scenario is to run echo-server application inside QEMU. This is
described in :ref:`networking with QEMU <networking_with_qemu>`.

There are configuration files for different boards and setups in the
echo-server directory:

- :file:`prj_arduino_101_cc2520.conf`
  Use this for Arduino 101 with external IEEE 802.15.4 cc2520 board.

- :file:`prj_arduino_101.conf`
  Use this for Arduino 101 with external enc28j60 ethernet board.

- :file:`prj_bt.conf`
  Use this for Bluetooth IPSP connectivity.

- :file:`prj_cc2520.conf`
  Use this for devices that have support for IEEE 802.15.4 cc2520 chip.

- :file:`prj_frdm_k64f_cc2520.conf`
  Use this for FRDM-K64F board with external IEEE 802.15.4 cc2520 board.

- :file:`prj_frdm_k64f.conf`
  Use this for FRDM-K64F board with built-in ethernet.

- :file:`prj_frdm_k64f_mcr20a.conf`
  Use this for FRDM-K64F board with IEEE 802.15.4 mcr20a board.

- :file:`prj_qemu_802154.conf`
  Use this when simulating IEEE 802.15.4 network using two QEMU's that
  are connected together.

- :file:`prj_qemu_cortex_m3.conf`
  Use this for ARM QEMU.

- :file:`prj_qemu_x86.conf`
  Use this for x86 QEMU.

- :file:`prj_sam_e70_xplained.conf`
  Use this for Atmel SMART SAM E70 Xplained board with ethernet.

Build echo-server sample application like this:

.. code-block:: console

    $ cd $ZEPHYR_BASE/samples/net/echo_server
    $ make pristine && make CONF_FILE=<your desired conf file> \
      BOARD=<board to use>

Make can select the default configuration file based on the BOARD you've
specified automatically so you might not always need to mention it.

Running echo-client in Linux Host
=================================

There is one useful testing scenario that can be used with Linux host.
Here echo-server is run in QEMU and echo-client is run in Linux host.

Run 'loop_socat' and 'loop-slip-tap' scripts from net-tools in Linux host.

.. code-block:: console

    $ ./loop_socat.sh

In another window:

.. code-block:: console

    $ sudo ./loop-slip-tap.sh

Run echo-server application in QEMU:

.. code-block:: console

    $ cd $ZEPHYR_BASE/samples/net/echo-server
    $ make pristine && make qemu

In third window:

.. code-block:: console

    $ sudo ./echo-client -i tap0 2001:db8::1

Note that echo-server must be running in QEMU before you start the
echo-client application in host terminal window.