summaryrefslogtreecommitdiff
path: root/docs/_include/interface-vlan.txt
blob: c1472018276c09a8516fd63c1ec819a2218aef20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
IEEE 802.1q, often referred to as Dot1q, is the networking standard that supports
virtual LANs (VLANs) on an IEEE 802.3 Ethernet network. The standard defines a
system of VLAN tagging for Ethernet frames and the accompanying procedures to be
used by bridges and switches in handling such frames. The standard also contains
provisions for a quality-of-service prioritization scheme commonly known as IEEE
802.1p and defines the Generic Attribute Registration Protocol.

Portions of the network which are VLAN-aware (i.e., IEEE 802.1q conformant) can
include VLAN tags. When a frame enters the VLAN-aware portion of the network, a
tag is added to represent the VLAN membership. Each frame must be distinguishable
as being within exactly one VLAN. A frame in the VLAN-aware portion of the network
that does not contain a VLAN tag is assumed to be flowing on the native VLAN.

The standard was developed by IEEE 802.1, a working group of the IEEE 802
standards committee, and continues to be actively revised. One of the notable
revisions is 802.1Q-2014 which incorporated IEEE 802.1aq (Shortest Path Bridging)
and much of the IEEE 802.1d standard.

802.1q VLAN interfaces are represented as virtual sub-interfaces in VyOS. The
term used for this is ``vif``.

.. cfgcmd:: set interfaces {{ var0 }} <interface> vif <vlan-id>

  Create a new VLAN interface on interface `<interface>` using the VLAN number
  provided via `<vlan-id>`.

  You can create multiple VLAN interfaces on a physical interface. The VLAN ID
  range is from 0 to 4094.

  .. note:: Only 802.1Q-tagged packets are accepted on Ethernet vifs.

  Example:

  .. code-block:: none

    set interfaces {{ var0 }} {{ var1 }} vif 10

.. cmdinclude:: ../_include/interface-address-with-dhcp.txt
   :var0: {{ var0 }}
   :var1: {{ var1 }}
   :var2: vif
   :var3: <vlan-id>
   :var4: 10

.. cmdinclude:: ../_include/interface-common.txt
   :var0: {{ var0 }}
   :var1: {{ var1 }}
   :var2: vif
   :var3: <vlan-id>
   :var4: 10