.. _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*.
