From f0ed78b3ad3a7806b0443a2771cdeb6cbd13ba5a Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 10 Nov 2020 22:57:12 +0100 Subject: interfaces: consolidate vxlan, geneve, wifi, pppoe, wwan to new include command syntax --- docs/_include/interface-disable-link-detect.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 docs/_include/interface-disable-link-detect.txt (limited to 'docs/_include/interface-disable-link-detect.txt') diff --git a/docs/_include/interface-disable-link-detect.txt b/docs/_include/interface-disable-link-detect.txt new file mode 100644 index 00000000..a9c0e85f --- /dev/null +++ b/docs/_include/interface-disable-link-detect.txt @@ -0,0 +1,12 @@ +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} 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. + + Default is to detects physical link state changes. + + Example: + + .. code-block:: none + + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable-link-detect \ No newline at end of file -- cgit v1.2.3 From 6588e905512e80e6038fd210837b52f43a7632ad Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 23 Nov 2020 17:32:11 +0100 Subject: interfaces: add generic VLAN documentation --- docs/_include/interface-address-with-dhcp.txt | 10 ++-- docs/_include/interface-description.txt | 4 +- docs/_include/interface-disable-link-detect.txt | 2 +- docs/_include/interface-disable.txt | 12 ++--- docs/_include/interface-ipv6-addr-autoconf.txt | 4 +- docs/_include/interface-ipv6-addr-eui64.txt | 4 +- docs/_include/interface-mac.txt | 4 +- docs/_include/interface-mtu.txt | 4 +- docs/_include/interface-vlan.txt | 53 +++++++++++++++++++-- docs/_include/interface-vrf.txt | 4 +- docs/interfaces/bond.rst | 7 +++ docs/interfaces/bridge.rst | 61 +++++++------------------ docs/interfaces/ethernet.rst | 7 +++ docs/interfaces/pseudo-ethernet.rst | 7 +++ docs/interfaces/wireless.rst | 8 +++- 15 files changed, 116 insertions(+), 75 deletions(-) (limited to 'docs/_include/interface-disable-link-detect.txt') 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 }} address
{{ var2 }} {{ var3 }} {{ var4 }} address
Configure 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 }} description +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} 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 }} disable-link-detect +.. cfgcmd:: set interfaces {{ var0 }} {{ 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 }} disable +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} disable - Disable given ``. It will be placed in administratively down - (``A/D``) state. + Disable given ``. 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 }} ipv6 address autoconf +.. cfgcmd:: set interfaces {{ var0 }} {{ 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 }} ipv6 address eui64 +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} ipv6 address eui64 :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 }} mac +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} mac Configure user defined :abbr:`MAC (Media Access Control)` address on given ``. @@ -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 }} mtu +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} mtu Configure :abbr:`MTU (Maximum Transmission Unit)` on given ``. 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: + :var4: 10 - .. code-block:: none +.. cmdinclude:: ../_include/interface-description.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 - set interfaces {{ var0 }} {{ var1 }} vif 10 +.. cmdinclude:: ../_include/interface-disable.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 -.. cmdinclude:: ../_include/interface-address-with-dhcp.txt +.. cmdinclude:: ../_include/interface-disable-link-detect.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-mac.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-mtu.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt :var0: {{ var0 }} :var1: {{ var1 }} :var2: vif :var3: :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 }} vrf +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} 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 member interface native-vlan - - 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 member interface allowed-vlan - - Allows specific VLAN IDs to pass through the bridge member interface - -.. cfgcmd:: set interfaces bridge member interface allowed-vlan - - `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 vif +.. cfgcmd:: set interfaces bridge member interface + native-vlan - Create a new VLAN interface on interface `` using the VLAN number - provided via ``. + 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 member interface + allowed-vlan - .. 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 `` Ethernet interface associated with a Pseudo Ethernet ``. + +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 ********* -- cgit v1.2.3 From cdb3550aaf1beb0d2069f33c5e66a232f7cbdee1 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Mon, 23 Nov 2020 21:19:44 +0100 Subject: interfaces: vlan: remove wrong arg in cmd headline --- docs/_include/interface-address-with-dhcp.txt | 2 +- docs/_include/interface-description.txt | 2 +- docs/_include/interface-dhcp-options.txt | 22 +++++---- docs/_include/interface-dhcpv6-options.txt | 24 ++++----- .../interface-dhcpv6-prefix-delegation.txt | 57 +++++++++++----------- docs/_include/interface-disable-link-detect.txt | 9 ++-- docs/_include/interface-disable.txt | 2 +- docs/_include/interface-ipv6-addr-autoconf.txt | 3 +- docs/_include/interface-ipv6-addr-eui64.txt | 3 +- docs/_include/interface-mac.txt | 3 +- docs/_include/interface-mtu.txt | 3 +- docs/_include/interface-vlan.txt | 16 ++++++ docs/_include/interface-vrf.txt | 3 +- 13 files changed, 88 insertions(+), 61 deletions(-) (limited to 'docs/_include/interface-disable-link-detect.txt') diff --git a/docs/_include/interface-address-with-dhcp.txt b/docs/_include/interface-address-with-dhcp.txt index 45bc9b03..20cd53ac 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 }} {{ var2 }} {{ var3 }} {{ var4 }} address
{{ var2 }} {{ var3 }} address
Configure interface `` with one or more interface addresses. diff --git a/docs/_include/interface-description.txt b/docs/_include/interface-description.txt index 50c08d45..4347b837 100644 --- a/docs/_include/interface-description.txt +++ b/docs/_include/interface-description.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} description +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} 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. diff --git a/docs/_include/interface-dhcp-options.txt b/docs/_include/interface-dhcp-options.txt index da1975fc..2bc23efc 100644 --- a/docs/_include/interface-dhcp-options.txt +++ b/docs/_include/interface-dhcp-options.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} dhcp-options client-id +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcp-options client-id :rfc:`2131` states: The client MAY choose to explicitly provide the identifier through the 'client identifier' option. If the client supplies a 'client @@ -10,9 +11,10 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcp-options client-id 'foo-bar' + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options client-id 'foo-bar' -.. cfgcmd:: set interfaces {{ var0 }} dhcp-options host-name +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcp-options host-name Instead of sending the real system hostname to the DHCP server, overwrite the host-name with this given-value. @@ -21,20 +23,22 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcp-options host-name 'VyOS' + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options host-name 'VyOS' -.. cfgcmd:: set interfaces {{ var0 }} dhcp-options vendor-class-id +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcp-options vendor-class-id The vendor-class-id option can be used to request a specific class of vendor options from the server. - Example + Example: .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcp-options vendor-class-id 'VyOS' + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options vendor-class-id 'VyOS' -.. cfgcmd:: set interfaces {{ var0 }} dhcp-options no-default-route +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcp-options no-default-route Only request an address from the DHCP server but do not request a default gateway. @@ -43,4 +47,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcp-options no-default-route + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options no-default-route diff --git a/docs/_include/interface-dhcpv6-options.txt b/docs/_include/interface-dhcpv6-options.txt index 94e80309..00b5e817 100644 --- a/docs/_include/interface-dhcpv6-options.txt +++ b/docs/_include/interface-dhcpv6-options.txt @@ -1,38 +1,38 @@ -.. cfgcmd:: set interfaces {{ var0 }} dhcpv6-options parameters-only +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcpv6-options parameters-only This statement specifies dhcp6c to only exchange informational configuration parameters with servers. A list of DNS server addresses is an example of such parameters. This statement is useful when the client does not need stateful configuration parameters such as IPv6 addresses or prefixes. - Example: - .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcpv6-options parameters-only + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options parameters-only -.. cfgcmd:: set interfaces {{ var0 }} dhcpv6-options rapid-commit +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcpv6-options rapid-commit When rapid-commit is specified, dhcp6c will include a rapid-commit option in solicit messages and wait for an immediate reply instead of advertisements. - Example: - .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcpv6-options rapid-commit + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options rapid-commit -.. cfgcmd:: set interfaces {{ var0 }} dhcpv6-options temporary +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcpv6-options temporary Request only a temporary address and not form an IA_NA (Identity Association for Non-temporary Addresses) partnership. - Example - .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcpv6-options temporary + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options temporary .. cmdinclude:: ../_include/interface-dhcpv6-prefix-delegation.txt :var0: {{ var0 }} :var1: {{ var1 }} + :var2: {{ var2 }} + :var3: {{ var3 }} + :var4: {{ var4 }} diff --git a/docs/_include/interface-dhcpv6-prefix-delegation.txt b/docs/_include/interface-dhcpv6-prefix-delegation.txt index 61e6aaa2..21721400 100644 --- a/docs/_include/interface-dhcpv6-prefix-delegation.txt +++ b/docs/_include/interface-dhcpv6-prefix-delegation.txt @@ -3,52 +3,53 @@ VyOS 1.3 (equuleus) supports DHCPv6-PD (:rfc:`3633`). DHCPv6 Prefix Delegation is supported by most ISPs who provide native IPv6 for consumers on fixed networks. -.. cfgcmd:: set interfaces {{ var0 }} dhcpv6-option pd length +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcpv6-option pd length - Some ISPs by default only delegate a /64 prefix. To request for a specific - prefix size use this option to request for a bigger delegation for this pd - ``. This value is in the range from 32 - 64 so you could request up to a - /32 prefix (if your ISP allows this) down to a /64 delegation. + Some ISPs by default only delegate a /64 prefix. To request for a specific + prefix size use this option to request for a bigger delegation for this pd + ``. This value is in the range from 32 - 64 so you could request up to a + /32 prefix (if your ISP allows this) down to a /64 delegation. - The default value corresponds to 64. - - Example: + The default value corresponds to 64. To request a /56 prefix from your ISP use: .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcpv6-options pd 0 length 56 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options pd 0 length 56 -.. cfgcmd:: set interfaces {{ var0 }} dhcpv6-option pd interface address
+.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcpv6-option pd interface address
- Specify the interface address used locally on the interfcae where the prefix - has been delegated to. ID must be a decimal integer. + Specify the interface address used locally on the interfcae where the prefix + has been delegated to. ID must be a decimal integer. - It will be combined with the delegated prefix and the sla-id to form a - complete interface address. The default is to use the EUI-64 address of the - interface. + It will be combined with the delegated prefix and the sla-id to form a + complete interface address. The default is to use the EUI-64 address of the + interface. - Example: Delegate a /64 prefix to interface eth0.10 which will use a local - address on this router of ``::ffff``, as the address 65534 will - correspond to ``ffff`` in hexadecimal notation. + Example: Delegate a /64 prefix to interface eth8 which will use a local + address on this router of ``::ffff``, as the address 65534 will + correspond to ``ffff`` in hexadecimal notation. .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcpv6-option pd 0 interface eth0.10 address 65534 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-option pd 0 interface eth8 address 65534 -.. cfgcmd:: set interfaces {{ var0 }} dhcpv6-option pd interface sla-id +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + dhcpv6-option pd interface sla-id - Specify the identifier value of the site-level aggregator (SLA) on the - interface. ID must be a decimal number greater then 0 which fits in the - length of SLA IDs (see below). + Specify the identifier value of the site-level aggregator (SLA) on the + interface. ID must be a decimal number greater then 0 which fits in the + length of SLA IDs (see below). - Example: If ID is 1 and the client is delegated an IPv6 prefix - 2001:db8:ffff::/48, dhcp6c will combine the two values into a single IPv6 - prefix, 2001:db8:ffff:1::/64, and will configure the prefix on the specified - interface. + Example: If ID is 1 and the client is delegated an IPv6 prefix + 2001:db8:ffff::/48, dhcp6c will combine the two values into a single IPv6 + prefix, 2001:db8:ffff:1::/64, and will configure the prefix on the specified + interface. .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} dhcpv6-option pd 0 interface eth0.10 sla-id 1 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-option pd 0 interface eth8 sla-id 1 diff --git a/docs/_include/interface-disable-link-detect.txt b/docs/_include/interface-disable-link-detect.txt index 1cc97146..efd45e46 100644 --- a/docs/_include/interface-disable-link-detect.txt +++ b/docs/_include/interface-disable-link-detect.txt @@ -1,12 +1,13 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} disable-link-detect +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + 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. Default is to detects physical link state changes. - Example: + Example: - .. code-block:: none + .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable-link-detect \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable-link-detect \ No newline at end of file diff --git a/docs/_include/interface-disable.txt b/docs/_include/interface-disable.txt index f0d22563..a9511d8e 100644 --- a/docs/_include/interface-disable.txt +++ b/docs/_include/interface-disable.txt @@ -1,4 +1,4 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} disable +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} disable Disable given ``. It will be placed in administratively down (``A/D``) state. diff --git a/docs/_include/interface-ipv6-addr-autoconf.txt b/docs/_include/interface-ipv6-addr-autoconf.txt index c0c5650d..e349a730 100644 --- a/docs/_include/interface-ipv6-addr-autoconf.txt +++ b/docs/_include/interface-ipv6-addr-autoconf.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} ipv6 address autoconf +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + ipv6 address autoconf :abbr:`SLAAC (Stateless Address Autoconfiguration)` :rfc:`4862`. IPv6 hosts can configure themselves automatically when connected to an IPv6 network using diff --git a/docs/_include/interface-ipv6-addr-eui64.txt b/docs/_include/interface-ipv6-addr-eui64.txt index 2e044b9d..10732bf3 100644 --- a/docs/_include/interface-ipv6-addr-eui64.txt +++ b/docs/_include/interface-ipv6-addr-eui64.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} ipv6 address eui64 +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + ipv6 address eui64 :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. diff --git a/docs/_include/interface-mac.txt b/docs/_include/interface-mac.txt index ca2b71e6..2daeaccf 100644 --- a/docs/_include/interface-mac.txt +++ b/docs/_include/interface-mac.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} mac +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + mac Configure user defined :abbr:`MAC (Media Access Control)` address on given ``. diff --git a/docs/_include/interface-mtu.txt b/docs/_include/interface-mtu.txt index fd232f5d..8509779b 100644 --- a/docs/_include/interface-mtu.txt +++ b/docs/_include/interface-mtu.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} mtu +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + mtu Configure :abbr:`MTU (Maximum Transmission Unit)` on given ``. It is the size (in bytes) of the largest ethernet frame sent on this link. diff --git a/docs/_include/interface-vlan.txt b/docs/_include/interface-vlan.txt index 7b87c3eb..f1948e84 100644 --- a/docs/_include/interface-vlan.txt +++ b/docs/_include/interface-vlan.txt @@ -86,6 +86,22 @@ term used for this is ``vif``. :var4: 10 .. cmdinclude:: ../_include/interface-vrf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +**DHCP(v6)** + +.. cmdinclude:: ../_include/interface-dhcp-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-dhcpv6-options.txt :var0: {{ var0 }} :var1: {{ var1 }} :var2: vif diff --git a/docs/_include/interface-vrf.txt b/docs/_include/interface-vrf.txt index ca715fb2..450c82aa 100644 --- a/docs/_include/interface-vrf.txt +++ b/docs/_include/interface-vrf.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} {{ var4 }} vrf +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + vrf Place interface in given VRF instance. -- cgit v1.2.3 From 7399b53b9d09ef07219631f79aeebd87c1b98d1e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 24 Nov 2020 19:38:52 +0100 Subject: interfaces: add generic QinQ VLAN documentation --- docs/_include/interface-address-with-dhcp.txt | 11 +- docs/_include/interface-description.txt | 5 +- docs/_include/interface-dhcp-options.txt | 16 +-- docs/_include/interface-dhcpv6-options.txt | 16 ++- .../interface-dhcpv6-prefix-delegation.txt | 12 +- docs/_include/interface-disable-link-detect.txt | 4 +- docs/_include/interface-disable.txt | 5 +- docs/_include/interface-ipv6-addr-autoconf.txt | 4 +- docs/_include/interface-ipv6-addr-eui64.txt | 4 +- docs/_include/interface-mac.txt | 4 +- docs/_include/interface-mtu.txt | 4 +- docs/_include/interface-vlan-8021ad.txt | 143 +++++++++++++++++++++ docs/_include/interface-vlan-8021q.txt | 111 ++++++++++++++++ docs/_include/interface-vlan.txt | 109 ---------------- docs/_include/interface-vrf.txt | 4 +- docs/_include/need_improvement.txt | 5 +- docs/common-references.rst | 3 + docs/interfaces/advanced-index.rst | 2 - docs/interfaces/bond.rst | 2 +- docs/interfaces/bridge.rst | 2 +- docs/interfaces/ethernet.rst | 12 +- docs/interfaces/pseudo-ethernet.rst | 2 +- docs/interfaces/qinq.rst | 77 ----------- docs/interfaces/vlan.rst | 69 ---------- docs/interfaces/wireless.rst | 12 +- 25 files changed, 333 insertions(+), 305 deletions(-) create mode 100644 docs/_include/interface-vlan-8021ad.txt create mode 100644 docs/_include/interface-vlan-8021q.txt delete mode 100644 docs/_include/interface-vlan.txt delete mode 100644 docs/interfaces/qinq.rst delete mode 100644 docs/interfaces/vlan.rst (limited to 'docs/_include/interface-disable-link-detect.txt') diff --git a/docs/_include/interface-address-with-dhcp.txt b/docs/_include/interface-address-with-dhcp.txt index 20cd53ac..4ff78c01 100644 --- a/docs/_include/interface-address-with-dhcp.txt +++ b/docs/_include/interface-address-with-dhcp.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} address
{{ var2 }} {{ var3 }} + {{ var5 }} {{ var6 }} address
Configure interface `` with one or more interface addresses. @@ -14,7 +15,7 @@ .. code-block:: none - 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 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} address 192.0.2.1/24 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} address 2001:db8::1/64 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcp + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6 \ No newline at end of file diff --git a/docs/_include/interface-description.txt b/docs/_include/interface-description.txt index 4347b837..064d9559 100644 --- a/docs/_include/interface-description.txt +++ b/docs/_include/interface-description.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} description +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + {{ var5 }} {{ var6 }} 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 +8,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} description 'This is an awesome interface running on VyOS' \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} description 'This is an awesome interface running on VyOS' \ No newline at end of file diff --git a/docs/_include/interface-dhcp-options.txt b/docs/_include/interface-dhcp-options.txt index 2bc23efc..1a0ce260 100644 --- a/docs/_include/interface-dhcp-options.txt +++ b/docs/_include/interface-dhcp-options.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcp-options client-id + {{ var5 }} {{ var6 }} dhcp-options client-id :rfc:`2131` states: The client MAY choose to explicitly provide the identifier through the 'client identifier' option. If the client supplies a 'client @@ -11,10 +11,10 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options client-id 'foo-bar' + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcp-options client-id 'foo-bar' .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcp-options host-name + {{ var5 }} {{ var6 }} dhcp-options host-name Instead of sending the real system hostname to the DHCP server, overwrite the host-name with this given-value. @@ -23,10 +23,10 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options host-name 'VyOS' + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcp-options host-name 'VyOS' .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcp-options vendor-class-id + {{ var5 }} {{ var6 }} dhcp-options vendor-class-id The vendor-class-id option can be used to request a specific class of vendor options from the server. @@ -35,10 +35,10 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options vendor-class-id 'VyOS' + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcp-options vendor-class-id 'VyOS' .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcp-options no-default-route + {{ var5 }} {{ var6 }} dhcp-options no-default-route Only request an address from the DHCP server but do not request a default gateway. @@ -47,4 +47,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcp-options no-default-route + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcp-options no-default-route diff --git a/docs/_include/interface-dhcpv6-options.txt b/docs/_include/interface-dhcpv6-options.txt index 00b5e817..a54a7dce 100644 --- a/docs/_include/interface-dhcpv6-options.txt +++ b/docs/_include/interface-dhcpv6-options.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcpv6-options parameters-only + {{ var5 }} {{ var6 }} dhcpv6-options parameters-only This statement specifies dhcp6c to only exchange informational configuration parameters with servers. A list of DNS server addresses is an example of such @@ -8,27 +8,27 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options parameters-only + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6-options parameters-only .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcpv6-options rapid-commit + {{ var5 }} {{ var6 }} dhcpv6-options rapid-commit When rapid-commit is specified, dhcp6c will include a rapid-commit option in solicit messages and wait for an immediate reply instead of advertisements. .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options rapid-commit + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6-options rapid-commit .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcpv6-options temporary + {{ var5 }} {{ var6 }} dhcpv6-options temporary Request only a temporary address and not form an IA_NA (Identity Association for Non-temporary Addresses) partnership. .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options temporary + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6-options temporary .. cmdinclude:: ../_include/interface-dhcpv6-prefix-delegation.txt :var0: {{ var0 }} @@ -36,3 +36,7 @@ :var2: {{ var2 }} :var3: {{ var3 }} :var4: {{ var4 }} + :var5: {{ var5 }} + :var6: {{ var6 }} + :var7: {{ var7 }} + diff --git a/docs/_include/interface-dhcpv6-prefix-delegation.txt b/docs/_include/interface-dhcpv6-prefix-delegation.txt index 21721400..99132d17 100644 --- a/docs/_include/interface-dhcpv6-prefix-delegation.txt +++ b/docs/_include/interface-dhcpv6-prefix-delegation.txt @@ -4,7 +4,7 @@ VyOS 1.3 (equuleus) supports DHCPv6-PD (:rfc:`3633`). DHCPv6 Prefix Delegation is supported by most ISPs who provide native IPv6 for consumers on fixed networks. .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcpv6-option pd length + {{ var5 }} {{ var6 }} dhcpv6-option pd length Some ISPs by default only delegate a /64 prefix. To request for a specific prefix size use this option to request for a bigger delegation for this pd @@ -17,10 +17,10 @@ is supported by most ISPs who provide native IPv6 for consumers on fixed network .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-options pd 0 length 56 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6-options pd 0 length 56 .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcpv6-option pd interface address
+ {{ var5 }} {{ var6 }} dhcpv6-option pd interface address
Specify the interface address used locally on the interfcae where the prefix has been delegated to. ID must be a decimal integer. @@ -35,10 +35,10 @@ is supported by most ISPs who provide native IPv6 for consumers on fixed network .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-option pd 0 interface eth8 address 65534 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6-option pd 0 interface eth8 address 65534 .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - dhcpv6-option pd interface sla-id + {{ var5 }} {{ var6 }} dhcpv6-option pd interface sla-id Specify the identifier value of the site-level aggregator (SLA) on the interface. ID must be a decimal number greater then 0 which fits in the @@ -51,5 +51,5 @@ is supported by most ISPs who provide native IPv6 for consumers on fixed network .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} dhcpv6-option pd 0 interface eth8 sla-id 1 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} dhcpv6-option pd 0 interface eth8 sla-id 1 diff --git a/docs/_include/interface-disable-link-detect.txt b/docs/_include/interface-disable-link-detect.txt index efd45e46..1a766715 100644 --- a/docs/_include/interface-disable-link-detect.txt +++ b/docs/_include/interface-disable-link-detect.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - disable-link-detect + {{ var5 }} {{ var6 }} 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. @@ -10,4 +10,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable-link-detect \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} disable-link-detect \ No newline at end of file diff --git a/docs/_include/interface-disable.txt b/docs/_include/interface-disable.txt index a9511d8e..774c1cdd 100644 --- a/docs/_include/interface-disable.txt +++ b/docs/_include/interface-disable.txt @@ -1,4 +1,5 @@ -.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} disable +.. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} + {{ var5 }} {{ var6 }} disable Disable given ``. It will be placed in administratively down (``A/D``) state. @@ -7,4 +8,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} 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 e349a730..fea1125e 100644 --- a/docs/_include/interface-ipv6-addr-autoconf.txt +++ b/docs/_include/interface-ipv6-addr-autoconf.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - ipv6 address autoconf + {{ var5 }} {{ var6 }} ipv6 address autoconf :abbr:`SLAAC (Stateless Address Autoconfiguration)` :rfc:`4862`. IPv6 hosts can configure themselves automatically when connected to an IPv6 network using @@ -16,4 +16,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} ipv6 address autoconf + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ipv6 address autoconf diff --git a/docs/_include/interface-ipv6-addr-eui64.txt b/docs/_include/interface-ipv6-addr-eui64.txt index 10732bf3..e6a58372 100644 --- a/docs/_include/interface-ipv6-addr-eui64.txt +++ b/docs/_include/interface-ipv6-addr-eui64.txt @@ -1,9 +1,9 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - ipv6 address eui64 + {{ var5 }} {{ var6 }} ipv6 address eui64 :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 }} {{ var2 }} {{ var4 }} ipv6 address eui64 2001:db8:beef::/64 + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} ipv6 address eui64 2001:db8:beef::/64 diff --git a/docs/_include/interface-mac.txt b/docs/_include/interface-mac.txt index 2daeaccf..03aa6106 100644 --- a/docs/_include/interface-mac.txt +++ b/docs/_include/interface-mac.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - mac + {{ var5 }} {{ var6 }} mac Configure user defined :abbr:`MAC (Media Access Control)` address on given ``. @@ -8,4 +8,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} mac '00:01:02:03:04:05' \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} 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 8509779b..76812507 100644 --- a/docs/_include/interface-mtu.txt +++ b/docs/_include/interface-mtu.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - mtu + {{ var5 }} {{ var6 }} mtu Configure :abbr:`MTU (Maximum Transmission Unit)` on given ``. It is the size (in bytes) of the largest ethernet frame sent on this link. @@ -8,4 +8,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} mtu 1450 \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} mtu 9000 \ No newline at end of file diff --git a/docs/_include/interface-vlan-8021ad.txt b/docs/_include/interface-vlan-8021ad.txt new file mode 100644 index 00000000..a1e971be --- /dev/null +++ b/docs/_include/interface-vlan-8021ad.txt @@ -0,0 +1,143 @@ +.. include:: ../_include/need_improvement.txt + +IEEE 802.1ad_ was an Ethernet networking standard informally known as QinQ as +an amendment to IEEE standard 802.1q VLAN interfaces as described above. +802.1ad was incorporated into the base 802.1q_ standard in 2011. The technique +is also known as provider bridging, Stacked VLANs, or simply QinQ or Q-in-Q. +"Q-in-Q" can for supported devices apply to C-tag stacking on C-tag (Ethernet +Type = 0x8100). + +The original 802.1q_ specification allows a single Virtual Local Area Network +(VLAN) header to be inserted into an Ethernet frame. QinQ allows multiple +VLAN tags to be inserted into a single frame, an essential capability for +implementing Metro Ethernet network topologies. Just as QinQ extends 802.1Q, +QinQ itself is extended by other Metro Ethernet protocols. + +In a multiple VLAN header context, out of convenience the term "VLAN tag" or +just "tag" for short is often used in place of "802.1q_ VLAN header". QinQ +allows multiple VLAN tags in an Ethernet frame; together these tags constitute +a tag stack. When used in the context of an Ethernet frame, a QinQ frame is a +frame that has 2 VLAN 802.1q_ headers (double-tagged). + +In VyOS the terms ``vif-s`` and ``vif-c`` stand for the ethertype tags that +are used. + +The inner tag is the tag which is closest to the payload portion of the frame. +It is officially called C-TAG (customer tag, with ethertype 0x8100). The outer +tag is the one closer/closest to the Ethernet header, its name is S-TAG +(service tag with Ethernet Type = 0x88a8). + + +.. cmdinclude:: ../_include/interface-address-with-dhcp.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-description.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-disable.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-disable-link-detect.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-mac.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-mtu.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-vrf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +**DHCP(v6)** + +.. cmdinclude:: ../_include/interface-dhcp-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-dhcpv6-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. include:: ../common-references.rst diff --git a/docs/_include/interface-vlan-8021q.txt b/docs/_include/interface-vlan-8021q.txt new file mode 100644 index 00000000..2c7e58f7 --- /dev/null +++ b/docs/_include/interface-vlan-8021q.txt @@ -0,0 +1,111 @@ +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 }} vif + + Create a new VLAN interface on interface `` using the VLAN number + provided via ``. + + 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. + +.. cmdinclude:: ../_include/interface-address-with-dhcp.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-description.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-disable.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-disable-link-detect.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-mac.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-mtu.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-vrf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +**DHCP(v6)** + +.. cmdinclude:: ../_include/interface-dhcp-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. cmdinclude:: ../_include/interface-dhcpv6-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif + :var3: + :var4: 10 + +.. include:: ../common-references.rst \ No newline at end of file diff --git a/docs/_include/interface-vlan.txt b/docs/_include/interface-vlan.txt deleted file mode 100644 index f1948e84..00000000 --- a/docs/_include/interface-vlan.txt +++ /dev/null @@ -1,109 +0,0 @@ -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 }} vif - - Create a new VLAN interface on interface `` using the VLAN number - provided via ``. - - 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. - -.. cmdinclude:: ../_include/interface-address-with-dhcp.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-description.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-disable.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-disable-link-detect.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-mac.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-mtu.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-vrf.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -**DHCP(v6)** - -.. cmdinclude:: ../_include/interface-dhcp-options.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 - -.. cmdinclude:: ../_include/interface-dhcpv6-options.txt - :var0: {{ var0 }} - :var1: {{ var1 }} - :var2: vif - :var3: - :var4: 10 \ No newline at end of file diff --git a/docs/_include/interface-vrf.txt b/docs/_include/interface-vrf.txt index 450c82aa..1fa94f9f 100644 --- a/docs/_include/interface-vrf.txt +++ b/docs/_include/interface-vrf.txt @@ -1,5 +1,5 @@ .. cfgcmd:: set interfaces {{ var0 }} {{ var2 }} {{ var3 }} - vrf + {{ var5 }} {{ var6 }} vrf Place interface in given VRF instance. @@ -10,4 +10,4 @@ .. code-block:: none - set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} vrf red \ No newline at end of file + set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} {{ var5 }} {{ var7 }} vrf red \ No newline at end of file diff --git a/docs/_include/need_improvement.txt b/docs/_include/need_improvement.txt index f7556465..1ce50685 100644 --- a/docs/_include/need_improvement.txt +++ b/docs/_include/need_improvement.txt @@ -8,8 +8,9 @@

Call for Contributions

-This page needs improvements, examples and explanations. -Please take a look at the Contributing Guide for :ref:`documentation`. +This section needs improvements, examples and explanations. + +Please take a look at the Contributing Guide for our :ref:`documentation`. .. raw:: html diff --git a/docs/common-references.rst b/docs/common-references.rst index d7e376eb..79881972 100644 --- a/docs/common-references.rst +++ b/docs/common-references.rst @@ -1,3 +1,6 @@ .. _`accel-ppp`: https://accel-ppp.org/ .. _`Secure Socket Tunneling Protocol`: https://en.wikipedia.org/wiki/Secure_Socket_Tunneling_Protocol .. _Phabricator: https://phabricator.vyos.net/ + +.. _802.1ad: https://en.wikipedia.org/wiki/IEEE_802.1ad +.. _802.1q: https://en.wikipedia.org/wiki/IEEE_802.1Q diff --git a/docs/interfaces/advanced-index.rst b/docs/interfaces/advanced-index.rst index 6e35dac2..7b9bde1e 100644 --- a/docs/interfaces/advanced-index.rst +++ b/docs/interfaces/advanced-index.rst @@ -17,9 +17,7 @@ Network Interfaces macsec pppoe pseudo-ethernet - qinq tunnel - vlan vxlan wireless wirelessmodem diff --git a/docs/interfaces/bond.rst b/docs/interfaces/bond.rst index eea35e2c..7faddd6f 100644 --- a/docs/interfaces/bond.rst +++ b/docs/interfaces/bond.rst @@ -259,7 +259,7 @@ Bond options VLAN ==== -.. cmdinclude:: ../_include/interface-vlan.txt +.. cmdinclude:: ../_include/interface-vlan-8021q.txt :var0: bond :var1: bond0 diff --git a/docs/interfaces/bridge.rst b/docs/interfaces/bridge.rst index 045ae2a8..dc94a761 100644 --- a/docs/interfaces/bridge.rst +++ b/docs/interfaces/bridge.rst @@ -116,7 +116,7 @@ links providing fault tolerance if an active link fails. VLAN ==== -.. cmdinclude:: ../_include/interface-vlan.txt +.. cmdinclude:: ../_include/interface-vlan-8021q.txt :var0: bridge :var1: br0 diff --git a/docs/interfaces/ethernet.rst b/docs/interfaces/ethernet.rst index 343a7d59..8b1ad6bd 100644 --- a/docs/interfaces/ethernet.rst +++ b/docs/interfaces/ethernet.rst @@ -52,7 +52,17 @@ Ethernet options VLAN ==== -.. cmdinclude:: ../_include/interface-vlan.txt +Regular VLANs (802.1q) +---------------------- + +.. cmdinclude:: ../_include/interface-vlan-8021q.txt + :var0: ethernet + :var1: eth0 + +QinQ (802.1ad) +-------------- + +.. cmdinclude:: ../_include/interface-vlan-8021ad.txt :var0: ethernet :var1: eth0 diff --git a/docs/interfaces/pseudo-ethernet.rst b/docs/interfaces/pseudo-ethernet.rst index d4eb8eff..c2baca39 100644 --- a/docs/interfaces/pseudo-ethernet.rst +++ b/docs/interfaces/pseudo-ethernet.rst @@ -60,6 +60,6 @@ Pseudo Ethernet/MACVLAN options VLAN ==== -.. cmdinclude:: ../_include/interface-vlan.txt +.. cmdinclude:: ../_include/interface-vlan-8021q.txt :var0: pseudo-ethernet :var1: peth0 diff --git a/docs/interfaces/qinq.rst b/docs/interfaces/qinq.rst deleted file mode 100644 index 01d9c64a..00000000 --- a/docs/interfaces/qinq.rst +++ /dev/null @@ -1,77 +0,0 @@ -.. include:: ../_include/need_improvement.txt - -.. _qinq-interface: - -QinQ (802.1ad) --------------- - -IEEE 802.1ad was an Ethernet networking standard informally known as QinQ as -an amendment to IEEE standard :ref:`vlan-interface`. 802.1ad was incorporated -into the base 802.1q standard in 2011. The technique is also known as provider -bridging, Stacked VLANs, or simply QinQ or Q-in-Q. "Q-in-Q" can for supported -devices apply to C-tag stacking on C-tag (Ethernet Type = 0x8100). - -The original 802.1q specification allows a single Virtual Local Area Network -(VLAN) header to be inserted into an Ethernet frame. QinQ allows multiple -VLAN tags to be inserted into a single frame, an essential capability for -implementing Metro Ethernet network topologies. Just as QinQ extends 802.1Q, -QinQ itself is extended by other Metro Ethernet protocols. - -In a multiple VLAN header context, out of convenience the term "VLAN tag" or -just "tag" for short is often used in place of "802.1Q VLAN header". QinQ -allows multiple VLAN tags in an Ethernet frame; together these tags constitute -a tag stack. When used in the context of an Ethernet frame, a QinQ frame is a -frame that has 2 VLAN 802.1Q headers (double-tagged). - -In VyOS the terms **vif-s** and **vif-c** stand for the ethertype tags that -are used: - -The inner tag is the tag which is closest to the payload portion of the frame. -It is officially called C-TAG (customer tag, with ethertype 0x8100). The outer -tag is the one closer/closest to the Ethernet header, its name is S-TAG -(service tag with ethertype 0x88a8). - -Configuration commands: - -.. code-block:: none - - interfaces - ethernet - address - address - description - disable - ip - - ipv6 - - vif-s <[0-4096]> - address - address - description - disable - ip - - ipv6 - - vif-c <[0-4096]> - address - address - description - disable - ip - - ipv6 - - - -Example: - -.. code-block:: none - - set interfaces ethernet eth0 vif-s 333 - set interfaces ethernet eth0 vif-s 333 address 192.0.2.10/32 - set interfaces ethernet eth0 vif-s 333 vif-c 777 - set interfaces ethernet eth0 vif-s 333 vif-c 777 address 10.10.10.10/24 - -.. _802.1ad: https://en.wikipedia.org/wiki/IEEE_802.1ad \ No newline at end of file diff --git a/docs/interfaces/vlan.rst b/docs/interfaces/vlan.rst deleted file mode 100644 index 55656d5d..00000000 --- a/docs/interfaces/vlan.rst +++ /dev/null @@ -1,69 +0,0 @@ -.. _vlan-interface: - -VLAN (802.1q) -------------- - -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.1a VLAN interfaces are represented as virtual sub-interfaces in VyOS. The -term used for this is ``vif``. Configuration of a tagged sub-interface is -accomplished using the configuration command: -``set interfaces ethernet vif `` - -To assign a vif 100 using the VLAN 100 tag to physical interface eth1 use: - -.. code-block:: none - - set interfaces ethernet eth1 vif 100 description 'VLAN 100' - set interfaces ethernet eth1 vif 100 address '192.168.100.1/24' - set interfaces ethernet eth1 vif 100 address '2001:db8:100::1/64' - -Resulting in: - -.. code-block:: none - - ethernet eth1 { - address 192.168.100.1/24 - address 2001:db8:100::1/64 - description INSIDE - duplex auto - hw-id 00:53:29:44:3b:19 - smp_affinity auto - speed auto - vif 100 { - address 192.168.100.1/24 - description "VLAN 100" - } - } - -VLAN interfaces are shown as `.`, e.g. `eth1.100`: - -.. code-block:: none - - vyos@vyos:~$ show interfaces - Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down - Interface IP Address S/L Description - --------- ---------- --- ----------- - eth0 172.16.51.129/24 u/u OUTSIDE - eth1 192.168.0.1/24 u/u INSIDE - eth1.100 192.168.100.1/24 u/u VLAN 100 - lo 127.0.0.1/8 u/u - ::1/128 diff --git a/docs/interfaces/wireless.rst b/docs/interfaces/wireless.rst index b51eb274..2de3b126 100644 --- a/docs/interfaces/wireless.rst +++ b/docs/interfaces/wireless.rst @@ -375,7 +375,17 @@ Resulting in VLAN ==== -.. cmdinclude:: ../_include/interface-vlan.txt +Regular VLANs (802.1q) +---------------------- + +.. cmdinclude:: ../_include/interface-vlan-8021q.txt + :var0: wireless + :var1: wlan0 + +QinQ (802.1ad) +-------------- + +.. cmdinclude:: ../_include/interface-vlan-8021ad.txt :var0: wireless :var1: wlan0 -- cgit v1.2.3