summaryrefslogtreecommitdiff
path: root/docs/_include
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_include')
-rw-r--r--docs/_include/interface-address-with-dhcp.txt20
-rw-r--r--docs/_include/interface-address.txt14
-rw-r--r--docs/_include/interface-common-with-dhcp.txt17
-rw-r--r--docs/_include/interface-common-without-dhcp.txt7
-rw-r--r--docs/_include/interface-common.txt36
-rw-r--r--docs/_include/interface-description.txt10
-rw-r--r--docs/_include/interface-dhcp-options.txt46
-rw-r--r--docs/_include/interface-dhcpv6-options.txt38
-rw-r--r--docs/_include/interface-dhcpv6-prefix-delegation.txt54
-rw-r--r--docs/_include/interface-disable-flow-control.txt22
-rw-r--r--docs/_include/interface-disable-link-detect.txt12
-rw-r--r--docs/_include/interface-disable.txt10
-rw-r--r--docs/_include/interface-ipv6-addr-autoconf.txt18
-rw-r--r--docs/_include/interface-ipv6-addr-eui64.txt8
-rw-r--r--docs/_include/interface-mac.txt10
-rw-r--r--docs/_include/interface-mtu.txt10
-rw-r--r--docs/_include/interface-vlan.txt50
-rw-r--r--docs/_include/interface-vrf.txt12
18 files changed, 394 insertions, 0 deletions
diff --git a/docs/_include/interface-address-with-dhcp.txt b/docs/_include/interface-address-with-dhcp.txt
new file mode 100644
index 00000000..10838e72
--- /dev/null
+++ b/docs/_include/interface-address-with-dhcp.txt
@@ -0,0 +1,20 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> address <address | dhcp |
+ dhcpv6>
+
+ Configure interface `<interface>` with one or more interface addresses.
+
+ * **address** can be specified multiple times as IPv4 and/or IPv6
+ address, e.g. 192.0.2.1/24 and/or 2001:db8::1/64
+ * **dhcp** interface address is received by DHCP from a DHCP server
+ on this segment.
+ * **dhcpv6** interface address is received by DHCPv6 from a DHCPv6
+ server on this segment.
+
+ Example:
+
+ .. 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
diff --git a/docs/_include/interface-address.txt b/docs/_include/interface-address.txt
new file mode 100644
index 00000000..00a9ec09
--- /dev/null
+++ b/docs/_include/interface-address.txt
@@ -0,0 +1,14 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> address <address>
+
+ Configure interface `<interface>` with one or more interface
+ addresses.
+
+ * **address** can be specified multiple times as IPv4 and/or IPv6
+ address, e.g. 192.0.2.1/24 and/or 2001:db8::1/64
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} address 192.0.2.1/24
+ set interfaces {{ var0 }} {{ var1 }} address 2001:db8::1/64 \ No newline at end of file
diff --git a/docs/_include/interface-common-with-dhcp.txt b/docs/_include/interface-common-with-dhcp.txt
new file mode 100644
index 00000000..3e1394a3
--- /dev/null
+++ b/docs/_include/interface-common-with-dhcp.txt
@@ -0,0 +1,17 @@
+.. cmdinclude:: ../_include/interface-address-with-dhcp.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-common.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+**DHCP(v6)**
+
+.. cmdinclude:: ../_include/interface-dhcp-options.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-dhcpv6-options.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
diff --git a/docs/_include/interface-common-without-dhcp.txt b/docs/_include/interface-common-without-dhcp.txt
new file mode 100644
index 00000000..d861f003
--- /dev/null
+++ b/docs/_include/interface-common-without-dhcp.txt
@@ -0,0 +1,7 @@
+.. cmdinclude:: ../_include/interface-address.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-common.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
diff --git a/docs/_include/interface-common.txt b/docs/_include/interface-common.txt
new file mode 100644
index 00000000..de29356f
--- /dev/null
+++ b/docs/_include/interface-common.txt
@@ -0,0 +1,36 @@
+.. cmdinclude:: ../_include/interface-description.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-disable.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-disable-flow-control.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-disable-link-detect.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-mac.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-mtu.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
+.. cmdinclude:: ../_include/interface-vrf.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
+
diff --git a/docs/_include/interface-description.txt b/docs/_include/interface-description.txt
new file mode 100644
index 00000000..1c6a870f
--- /dev/null
+++ b/docs/_include/interface-description.txt
@@ -0,0 +1,10 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> 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.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} 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
new file mode 100644
index 00000000..da1975fc
--- /dev/null
+++ b/docs/_include/interface-dhcp-options.txt
@@ -0,0 +1,46 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcp-options client-id <description>
+
+ :rfc:`2131` states: The client MAY choose to explicitly provide the identifier
+ through the 'client identifier' option. If the client supplies a 'client
+ identifier', the client MUST use the same 'client identifier' in all
+ subsequent messages, and the server MUST use that identifier to identify the
+ client.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} dhcp-options client-id 'foo-bar'
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcp-options host-name <hostname>
+
+ Instead of sending the real system hostname to the DHCP server, overwrite the
+ host-name with this given-value.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} dhcp-options host-name 'VyOS'
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcp-options vendor-class-id <vendor-id>
+
+ The vendor-class-id option can be used to request a specific class of vendor
+ options from the server.
+
+ Example
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} dhcp-options vendor-class-id 'VyOS'
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcp-options no-default-route
+
+ Only request an address from the DHCP server but do not request a default
+ gateway.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} dhcp-options no-default-route
diff --git a/docs/_include/interface-dhcpv6-options.txt b/docs/_include/interface-dhcpv6-options.txt
new file mode 100644
index 00000000..94e80309
--- /dev/null
+++ b/docs/_include/interface-dhcpv6-options.txt
@@ -0,0 +1,38 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> 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
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> 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
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> 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
+
+.. cmdinclude:: ../_include/interface-dhcpv6-prefix-delegation.txt
+ :var0: {{ var0 }}
+ :var1: {{ var1 }}
diff --git a/docs/_include/interface-dhcpv6-prefix-delegation.txt b/docs/_include/interface-dhcpv6-prefix-delegation.txt
new file mode 100644
index 00000000..61e6aaa2
--- /dev/null
+++ b/docs/_include/interface-dhcpv6-prefix-delegation.txt
@@ -0,0 +1,54 @@
+**DHCPv6 Prefix Delegation (PD)**
+
+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 }} <interface> dhcpv6-option pd <id> length <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
+ `<id>`. 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:
+
+ To request a /56 prefix from your ISP use:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} dhcpv6-options pd 0 length 56
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcpv6-option pd <id> interface <delegatee> address <address>
+
+ 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.
+
+ Example: Delegate a /64 prefix to interface eth0.10 which will use a local
+ address on this router of ``<prefix>::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
+
+.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcpv6-option pd <id> interface <delegatee> sla-id <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).
+
+ 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
+
diff --git a/docs/_include/interface-disable-flow-control.txt b/docs/_include/interface-disable-flow-control.txt
new file mode 100644
index 00000000..2b319b22
--- /dev/null
+++ b/docs/_include/interface-disable-flow-control.txt
@@ -0,0 +1,22 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> {{ var2 }} {{ var3 }} disable-flow-control
+
+ Ethernet flow control is a mechanism for temporarily stopping the transmission
+ of data on Ethernet family computer networks. The goal of this mechanism is to
+ ensure zero packet loss in the presence of network congestion.
+
+ The first flow control mechanism, the pause frame, was defined by the IEEE
+ 802.3x standard.
+
+ A sending station (computer or network switch) may be transmitting data faster
+ than the other end of the link can accept it. Using flow control, the receiving
+ station can signal the sender requesting suspension of transmissions until the
+ receiver catches up.
+
+ Use this command to disable the generation of Ethernet flow control (pause
+ frames).
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} {{ var2 }} {{ var4 }} disable-flow-control \ No newline at end of file
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 }} <interface> 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
diff --git a/docs/_include/interface-disable.txt b/docs/_include/interface-disable.txt
new file mode 100644
index 00000000..83ef3e53
--- /dev/null
+++ b/docs/_include/interface-disable.txt
@@ -0,0 +1,10 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> disable
+
+ Disable given `<interface>`. It will be placed in administratively down
+ (``A/D``) state.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} 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
new file mode 100644
index 00000000..e16cff0e
--- /dev/null
+++ b/docs/_include/interface-ipv6-addr-autoconf.txt
@@ -0,0 +1,18 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> ipv6 address autoconf
+
+ :abbr:`SLAAC (Stateless Address Autoconfiguration)` :rfc:`4862`. IPv6 hosts
+ can configure themselves automatically when connected to an IPv6 network using
+ the Neighbor Discovery Protocol via :abbr:`ICMPv6 (Internet Control Message
+ Protocol version 6)` router discovery messages. When first connected to a
+ network, a host sends a link-local router solicitation multicast request for
+ its configuration parameters; routers respond to such a request with a router
+ advertisement packet that contains Internet Layer configuration parameters.
+
+ .. note:: This method automatically disables IPv6 traffic forwarding on the
+ interface in question.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} ipv6 address autoconf
diff --git a/docs/_include/interface-ipv6-addr-eui64.txt b/docs/_include/interface-ipv6-addr-eui64.txt
new file mode 100644
index 00000000..5f32ccad
--- /dev/null
+++ b/docs/_include/interface-ipv6-addr-eui64.txt
@@ -0,0 +1,8 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> 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
diff --git a/docs/_include/interface-mac.txt b/docs/_include/interface-mac.txt
new file mode 100644
index 00000000..de7f2d83
--- /dev/null
+++ b/docs/_include/interface-mac.txt
@@ -0,0 +1,10 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> mac <xx:xx:xx:xx:xx:xx>
+
+ Configure user defined :abbr:`MAC (Media Access Control)` address on given
+ `<interface>`.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} 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
new file mode 100644
index 00000000..e727c3e9
--- /dev/null
+++ b/docs/_include/interface-mtu.txt
@@ -0,0 +1,10 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> 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.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} mtu 1450 \ No newline at end of file
diff --git a/docs/_include/interface-vlan.txt b/docs/_include/interface-vlan.txt
new file mode 100644
index 00000000..c1472018
--- /dev/null
+++ b/docs/_include/interface-vlan.txt
@@ -0,0 +1,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 \ No newline at end of file
diff --git a/docs/_include/interface-vrf.txt b/docs/_include/interface-vrf.txt
new file mode 100644
index 00000000..92bfae93
--- /dev/null
+++ b/docs/_include/interface-vrf.txt
@@ -0,0 +1,12 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> vrf <vrf>
+
+ Place interface in given VRF instance.
+
+ .. seealso:: There is an entire chapter about how to configure a :ref:`vrf`,
+ please check this for additional information.
+
+ Example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} vrf red \ No newline at end of file