diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-11-23 17:32:11 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-11-23 17:32:11 +0100 |
commit | 6588e905512e80e6038fd210837b52f43a7632ad (patch) | |
tree | 90f0b2fb985ebd2901301b2638912e3e42a42268 | |
parent | 55b77175b4824384f5540a17f53f4e18fbedbce0 (diff) | |
download | vyos-documentation-6588e905512e80e6038fd210837b52f43a7632ad.tar.gz vyos-documentation-6588e905512e80e6038fd210837b52f43a7632ad.zip |
interfaces: add generic VLAN documentation
-rw-r--r-- | docs/_include/interface-address-with-dhcp.txt | 10 | ||||
-rw-r--r-- | docs/_include/interface-description.txt | 4 | ||||
-rw-r--r-- | docs/_include/interface-disable-link-detect.txt | 2 | ||||
-rw-r--r-- | docs/_include/interface-disable.txt | 12 | ||||
-rw-r--r-- | docs/_include/interface-ipv6-addr-autoconf.txt | 4 | ||||
-rw-r--r-- | docs/_include/interface-ipv6-addr-eui64.txt | 4 | ||||
-rw-r--r-- | docs/_include/interface-mac.txt | 4 | ||||
-rw-r--r-- | docs/_include/interface-mtu.txt | 4 | ||||
-rw-r--r-- | docs/_include/interface-vlan.txt | 53 | ||||
-rw-r--r-- | docs/_include/interface-vrf.txt | 4 | ||||
-rw-r--r-- | docs/interfaces/bond.rst | 7 | ||||
-rw-r--r-- | docs/interfaces/bridge.rst | 61 | ||||
-rw-r--r-- | docs/interfaces/ethernet.rst | 7 | ||||
-rw-r--r-- | docs/interfaces/pseudo-ethernet.rst | 7 | ||||
-rw-r--r-- | docs/interfaces/wireless.rst | 8 |
15 files changed, 116 insertions, 75 deletions
diff --git a/docs/_include/interface-address-with-dhcp.txt b/docs/_include/interface-address-with-dhcp.txt index 10838e72..45bc9b03 100644 --- a/docs/_include/interface-address-with-dhcp.txt +++ b/docs/_include/interface-address-with-dhcp.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> address <address | dhcp | +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} address <address | dhcp | dhcpv6> Configure interface `<interface>` with one or more interface addresses. @@ -14,7 +14,7 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} address 192.0.2.1/24 - set interfaces {{ var0 }} {{ var1 }} address 2001:db8::1/64 - set interfaces {{ var0 }} {{ var1 }} dhcp - set interfaces {{ var0 }} {{ var1 }} dhcpv6
\ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} address 192.0.2.1/24 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} address 2001:db8::1/64 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6
\ No newline at end of file diff --git a/docs/_include/interface-description.txt b/docs/_include/interface-description.txt index 1c6a870f..50c08d45 100644 --- a/docs/_include/interface-description.txt +++ b/docs/_include/interface-description.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> description <description> +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} description <description> Set a human readable, descriptive alias for this connection. Alias is used by e.g. the :opcmd:`show interfaces` command or SNMP based monitoring tools. @@ -7,4 +7,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} description 'This is an awesome interface running on VyOS'
\ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} description 'This is an awesome interface running on VyOS'
\ No newline at end of file diff --git a/docs/_include/interface-disable-link-detect.txt b/docs/_include/interface-disable-link-detect.txt index a9c0e85f..1cc97146 100644 --- a/docs/_include/interface-disable-link-detect.txt +++ b/docs/_include/interface-disable-link-detect.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} <interface> disable-link-detect +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} disable-link-detect Use this command to direct an interface to not detect any physical state changes on a link, for example, when the cable is unplugged. diff --git a/docs/_include/interface-disable.txt b/docs/_include/interface-disable.txt index 83ef3e53..f0d22563 100644 --- a/docs/_include/interface-disable.txt +++ b/docs/_include/interface-disable.txt @@ -1,10 +1,10 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> disable +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} disable - Disable given `<interface>`. It will be placed in administratively down - (``A/D``) state. + Disable given `<interface>`. It will be placed in administratively down + (``A/D``) state. - Example: + Example: - .. code-block:: none + .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} disable
\ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable
\ No newline at end of file diff --git a/docs/_include/interface-ipv6-addr-autoconf.txt b/docs/_include/interface-ipv6-addr-autoconf.txt index e16cff0e..c0c5650d 100644 --- a/docs/_include/interface-ipv6-addr-autoconf.txt +++ b/docs/_include/interface-ipv6-addr-autoconf.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> ipv6 address autoconf +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} ipv6 address autoconf :abbr:`SLAAC (Stateless Address Autoconfiguration)` :rfc:`4862`. IPv6 hosts can configure themselves automatically when connected to an IPv6 network using @@ -15,4 +15,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} ipv6 address autoconf + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} ipv6 address autoconf diff --git a/docs/_include/interface-ipv6-addr-eui64.txt b/docs/_include/interface-ipv6-addr-eui64.txt index 5f32ccad..2e044b9d 100644 --- a/docs/_include/interface-ipv6-addr-eui64.txt +++ b/docs/_include/interface-ipv6-addr-eui64.txt @@ -1,8 +1,8 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> ipv6 address eui64 <prefix> +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} ipv6 address eui64 <prefix> :abbr:`EUI-64 (64-Bit Extended Unique Identifier)` as specified in :rfc:`4291` allows a host to assign iteslf a unique 64-Bit IPv6 address. .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} ipv6 address eui64 2001:db8:beef::/64 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} ipv6 address eui64 2001:db8:beef::/64 diff --git a/docs/_include/interface-mac.txt b/docs/_include/interface-mac.txt index de7f2d83..ca2b71e6 100644 --- a/docs/_include/interface-mac.txt +++ b/docs/_include/interface-mac.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> mac <xx:xx:xx:xx:xx:xx> +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} mac <xx:xx:xx:xx:xx:xx> Configure user defined :abbr:`MAC (Media Access Control)` address on given `<interface>`. @@ -7,4 +7,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} mac '00:01:02:03:04:05'
\ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} mac '00:01:02:03:04:05'
\ No newline at end of file diff --git a/docs/_include/interface-mtu.txt b/docs/_include/interface-mtu.txt index e727c3e9..fd232f5d 100644 --- a/docs/_include/interface-mtu.txt +++ b/docs/_include/interface-mtu.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> mtu <mtu> +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} mtu <mtu> Configure :abbr:`MTU (Maximum Transmission Unit)` on given `<interface>`. It is the size (in bytes) of the largest ethernet frame sent on this link. @@ -7,4 +7,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} mtu 1450
\ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} mtu 1450
\ No newline at end of file diff --git a/docs/_include/interface-vlan.txt b/docs/_include/interface-vlan.txt index c1472018..7b87c3eb 100644 --- a/docs/_include/interface-vlan.txt +++ b/docs/_include/interface-vlan.txt @@ -29,20 +29,63 @@ term used for this is ``vif``. .. note:: Only 802.1Q-tagged packets are accepted on Ethernet vifs. - Example: +.. cmdinclude:: ../_include/interface-address-with-dhcp.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 - .. code-block:: none +.. cmdinclude:: ../_include/interface-description.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 - set interfaces {{ var0 }} {{ var1 }} vif 10 +.. cmdinclude:: ../_include/interface-disable.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 -.. cmdinclude:: ../_include/interface-address-with-dhcp.txt +.. cmdinclude:: ../_include/interface-disable-link-detect.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 + +.. cmdinclude:: ../_include/interface-mac.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 + +.. cmdinclude:: ../_include/interface-mtu.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 + +.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: <vlan-id> + :var4: 10 + +.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt :var0: {{ var0 }} :var1: {{ var1 }} :var2: vif :var3: <vlan-id> :var4: 10 -.. cmdinclude:: ../_include/interface-common.txt +.. cmdinclude:: ../_include/interface-vrf.txt :var0: {{ var0 }} :var1: {{ var1 }} :var2: vif diff --git a/docs/_include/interface-vrf.txt b/docs/_include/interface-vrf.txt index 92bfae93..ca715fb2 100644 --- a/docs/_include/interface-vrf.txt +++ b/docs/_include/interface-vrf.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} <interface> vrf <vrf> +.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} {{ var4 }} vrf <vrf> Place interface in given VRF instance. @@ -9,4 +9,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} vrf red
\ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} vrf red
\ No newline at end of file diff --git a/docs/interfaces/bond.rst b/docs/interfaces/bond.rst index 21088c02..eea35e2c 100644 --- a/docs/interfaces/bond.rst +++ b/docs/interfaces/bond.rst @@ -256,6 +256,13 @@ Bond options The maximum number of targets that can be specified is 16. The default value is no IP addresses. +VLAN +==== + +.. cmdinclude:: ../_include/interface-vlan.txt + :var0: bond + :var1: bond0 + ******* Example ******* diff --git a/docs/interfaces/bridge.rst b/docs/interfaces/bridge.rst index 058d7b01..045ae2a8 100644 --- a/docs/interfaces/bridge.rst +++ b/docs/interfaces/bridge.rst @@ -113,56 +113,27 @@ links providing fault tolerance if an active link fails. Designated Bridges. Hello packets are used to communicate information about the topology throughout the entire Bridged Local Area Network. -Enable VLAN-aware bridge -------------------------- +VLAN +==== -.. cfgcmd:: set interfaces bridge <interface> member interface <member> native-vlan <vlan-id> - - Set the native VLAN ID flag of the interface. When a data packet without a VLAN tag enters - the port, the data packet will be forced to add a tag of a specific vlan id. When the vlan - id flag flows out, the tag of the vlan id will be stripped - -.. cfgcmd:: set interfaces bridge <interface> member interface <member> allowed-vlan <vlan-id> - - Allows specific VLAN IDs to pass through the bridge member interface - -.. cfgcmd:: set interfaces bridge <interface> member interface <member> allowed-vlan <n-m> - - `n` and `m` represent a VLAN ID, which identifies a VLAN ID range and allows all VLAN IDS in this range to pass through the bridge member interface - -VLAN (802.1q) configuration ---------------------------- - -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``. +.. cmdinclude:: ../_include/interface-vlan.txt + :var0: bridge + :var1: br0 -.. cfgcmd:: set interfaces bridge <interface> vif <vlan-id> +.. cfgcmd:: set interfaces bridge <interface> member interface <member> + native-vlan <vlan-id> - Create a new VLAN interface on interface `<interface>` using the VLAN number - provided via `<vlan-id>`. + Set the native VLAN ID flag of the interface. When a data packet without a + VLAN tag enters the port, the data packet will be forced to add a tag of a + specific vlan id. When the vlan id flag flows out, the tag of the vlan id + will be stripped - You can create multiple VLAN interfaces on a physical interface. The VLAN ID - range is from 1 to 4094. +.. cfgcmd:: set interfaces bridge <interface> member interface <member> + allowed-vlan <vlan-id> - .. note:: Only 802.1Q-tagged packets are accepted on Bridge vifs. + Allows specific VLAN IDs to pass through the bridge member interface. This + can either be an individual VLAN id or a range of VLAN ids delimited by a + hyphen. ******* Example diff --git a/docs/interfaces/ethernet.rst b/docs/interfaces/ethernet.rst index 71a340b1..343a7d59 100644 --- a/docs/interfaces/ethernet.rst +++ b/docs/interfaces/ethernet.rst @@ -49,6 +49,13 @@ Ethernet options VyOS default will be `auto`. +VLAN +==== + +.. cmdinclude:: ../_include/interface-vlan.txt + :var0: ethernet + :var1: eth0 + ********* Operation ********* diff --git a/docs/interfaces/pseudo-ethernet.rst b/docs/interfaces/pseudo-ethernet.rst index b373a617..d4eb8eff 100644 --- a/docs/interfaces/pseudo-ethernet.rst +++ b/docs/interfaces/pseudo-ethernet.rst @@ -56,3 +56,10 @@ Pseudo Ethernet/MACVLAN options Specifies the physical `<ethX>` Ethernet interface associated with a Pseudo Ethernet `<interface>`. + +VLAN +==== + +.. cmdinclude:: ../_include/interface-vlan.txt + :var0: pseudo-ethernet + :var1: peth0 diff --git a/docs/interfaces/wireless.rst b/docs/interfaces/wireless.rst index 75c42f29..b51eb274 100644 --- a/docs/interfaces/wireless.rst +++ b/docs/interfaces/wireless.rst @@ -274,7 +274,6 @@ VHT (Very High Throughput) capabilities (802.11ac) Station supports receiving VHT variant HT Control field - Wireless options (Station/Client) ================================= @@ -373,6 +372,13 @@ Resulting in } +VLAN +==== + +.. cmdinclude:: ../_include/interface-vlan.txt + :var0: wireless + :var1: wlan0 + ********* Operation ********* |