zephyr/samples/net/vlan
Jukka Rissanen 9a0cf4b48f doc: net: Fix VLAN documentation in doc and in sample
The VLAN documentation had double wording and proper links to files
in github was missing, which did not look good in the rendered HTML
page.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2019-03-07 20:31:04 -05:00
..
src samples: net: Convert to use generic logging macros 2018-12-07 12:00:04 +02:00
CMakeLists.txt cmake: increase minimal required version to 3.13.1 2019-01-03 11:51:29 -05:00
Kconfig Kconfig: Remove redundant $(ZEPHYR_BASE) from 'source's 2018-10-10 11:28:27 -05:00
README.rst doc: net: Fix VLAN documentation in doc and in sample 2019-03-07 20:31:04 -05:00
prj.conf samples: net: Remove net-app based sample applications 2019-02-01 12:29:21 +02:00
sample.yaml
vlan-setup-linux.sh

README.rst

.. _vlan-sample:

Virtual LAN Sample Application
##############################

Overview
********

The VLAN sample application for Zephyr will setup two virtual LAN networks.
The application sample enables net-shell and allows users to view VLAN settings.

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

Requirements
************

- :ref:`networking_with_host`

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

A good way to run this VLAN application is with QEMU as described in
:ref:`networking_with_eth_qemu`. You can use *zeth-vlan.conf* configuration
file when running *net-setup.sh* script in Linux like this:

.. code-block:: console

    ./net-setup.sh -c zeth-vlan.conf

Note that VLAN is only supported for boards that have an ethernet port or
that support USB networking.

Follow these steps to build the VLAN sample application:

.. zephyr-app-commands::
   :zephyr-app: samples/net/vlan
   :board: <board to use>
   :conf: prj.conf
   :goals: build
   :compact:

The default configuration file prj.conf creates two virtual LAN networks
with these settings:

- VLAN tag 100: IPv4 198.51.100.1 and IPv6 2001:db8:100::1
- VLAN tag 200: IPv4 203.0.113.1 and IPv6 2001:db8:200::1

Setting up Linux Host
=====================

The :zephyr_file:`samples/net/vlan/vlan-setup-linux.sh` provides a script that
can be executed on the Linux host. It creates two VLAN interfaces *vlan.100*
and *vlan.200* on the Linux host and creates routes to Zephyr.

If everything is configured correctly, you will be able to successfully execute
the following commands on the Linux host.

.. code-block:: console

    ping -c 1 2001:db8:100::1
    ping -c 1 198.51.100.1
    ping -c 1 2001:db8:200::1
    ping -c 1 203.0.113.1

The network packets to *2001:db8:100::1* or *198.51.100.1* will have VLAN
tag 100 set to them. The vlan tag 200 will be set to network packets to
*2001:db8:200::1* or *203.0.113.1*.