summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/_static/images/vyos_arista_bond_lacp.pngbin0 -> 40622 bytes
-rw-r--r--docs/configuration-overview.rst142
-rw-r--r--docs/interfaces/bond.rst115
-rw-r--r--docs/qos.rst11
4 files changed, 253 insertions, 15 deletions
diff --git a/docs/_static/images/vyos_arista_bond_lacp.png b/docs/_static/images/vyos_arista_bond_lacp.png
new file mode 100644
index 00000000..6c9ef8ec
--- /dev/null
+++ b/docs/_static/images/vyos_arista_bond_lacp.png
Binary files differ
diff --git a/docs/configuration-overview.rst b/docs/configuration-overview.rst
index ee7f63a2..653c1b6e 100644
--- a/docs/configuration-overview.rst
+++ b/docs/configuration-overview.rst
@@ -15,18 +15,18 @@ Terminology
A VyOS system has three major types of configurations:
-* **Active** or **Running** configuration is the system configuration
+* **Active** or **running configuration** is the system configuration
that is loaded and currently active (used by VyOS). Any change in
the configuration will have to be committed to belong to the
active/running configuration.
-* **Working** - is the configuration which is currently being modified
+* **Working configuration** is the one that is currently being modified
in configuration mode. Changes made to the working configuration do
not go into effect until the changes are committed with the
:cfgcmd:`commit` command. At which time the working configuration will
become the active or running configuration.
-* **Saved** - is a configuration saved to a file using the
+* **Saved configuration** is the one saved to a file using the
:cfgcmd:`save` command. It allows you to keep safe a configuration for
future uses. There can be multiple configuration files. The default or
"boot" configuration is saved and loaded from the file
@@ -295,9 +295,13 @@ entered.
[edit]
vyos@vyos# set interface ethernet eth0 address 192.0.2.100/24
+
+.. code-block:: none
+
[edit interfaces ethernet eth0]
vyos@vyos# set address 203.0.113.6/24
+
These two commands above are essentially the same, just executed from
different levels in the hierarchy.
@@ -369,6 +373,105 @@ different levels in the hierarchy.
[edit]
vyos@vyos# exit discard
+
+.. cfgcmd:: commit-confirm
+
+ Commit the current set of changes if ``confirm`` is also entered
+ within 10 minutes. Otherwise the system reboot into the previous
+ configuration.
+
+
+ What if you are doing something dangerous? Suppose you want to setup
+ a firewall, and you are not sure there are no mistakes that will lock
+ you out of your system. You can use confirmed commit. If you issue
+ the ``commit-confirm`` command, your changes will be commited, and if
+ you don't issue issue the ``confirm`` command in 10 minutes, your
+ system will reboot into previous config revision.
+
+ .. code-block:: none
+
+ vyos@router# set interfaces ethernet eth0 firewall local name FromWorld
+ vyos@router# commit-confirm
+ commit confirm will be automatically reboot in 10 minutes unless confirmed
+ Proceed? [confirm]y
+ [edit]
+ vyos@router# confirm
+ [edit]
+
+
+ .. note:: A reboot because you did not enter ``confirm`` will not
+ take you necessarily to the *saved configuration*, but to the
+ point before the unfortunate commit.
+
+
+.. cfgcmd:: copy
+
+ Copy a configuration element.
+
+ You can copy and remove configuration subtrees. Suppose you set up a
+ firewall ruleset ``FromWorld`` with one rule that allows traffic from
+ specific subnet. Now you want to setup a similar rule, but for
+ different subnet. Change your edit level to
+ ``firewall name FromWorld`` and use ``copy rule 10 to rule 20``, then
+ modify rule 20.
+
+
+ .. code-block:: none
+
+ vyos@router# show firewall name FromWorld
+ default-action drop
+ rule 10 {
+ action accept
+ source {
+ address 203.0.113.0/24
+ }
+ }
+ [edit]
+ vyos@router# edit firewall name FromWorld
+ [edit firewall name FromWorld]
+ vyos@router# copy rule 10 to rule 20
+ [edit firewall name FromWorld]
+ vyos@router# set rule 20 source address 198.51.100.0/24
+ [edit firewall name FromWorld]
+ vyos@router# commit
+ [edit firewall name FromWorld]
+
+
+.. cfgcmd:: rename
+
+ Rename a configuration element.
+
+ You can also rename config subtrees:
+
+ .. code-block:: none
+
+ vyos@router# rename rule 10 to rule 5
+ [edit firewall name FromWorld]
+ vyos@router# commit
+ [edit firewall name FromWorld]
+
+ Note that ``show`` command respects your edit level and from this
+ level you can view the modified firewall ruleset with just ``show``
+ with no parameters.
+
+ .. code-block:: none
+
+ vyos@router# show
+ default-action drop
+ rule 5 {
+ action accept
+ source {
+ address 203.0.113.0/24
+ }
+ }
+ rule 20 {
+ action accept
+ source {
+ address 198.51.100.0/24
+ }
+ }
+
+
.. _run_opmode_from_config_mode:
Access opmode from config mode
@@ -451,12 +554,13 @@ any previous revisions if something goes wrong.
9 2013-12-12 15:42:07 root by boot-config-loader
10 2013-12-12 15:42:06 root by init
- Revisions can be compared with :cfgcmd:`compare N M` command, where N
- and M are revision numbers. The output will describe how the
- configuration N is when compared to YM indicating with a plus sign
- (``+``) the additional parts N has when compared to M, and indicating
- with a minus sign (``-``) the lacking parts N misses when compared to
- Y.
+ The command :cfgcmd:`compare` allows you to compare different type of
+ configurations. It also lets you compare different revisions through
+ the :cfgcmd:`compare N M` command, where N and M are revision
+ numbers. The output will describe how the configuration N is when
+ compared to M indicating with a plus sign (``+``) the additional
+ parts N has when compared to M, and indicating with a minus sign
+ (``-``) the lacking parts N misses when compared to M.
.. code-block:: none
@@ -473,6 +577,26 @@ any previous revisions if something goes wrong.
- address 192.0.2.4/24
-}
+
+.. opcmd:: show system commit diff <number>
+
+ Show commit revision difference.
+
+
+The command above also lets you see the difference between two commits.
+By default the difference with the running config is shown.
+
+.. code-block:: none
+
+ vyos@router# run show system commit diff 4
+ [edit system]
+ +ipv6 {
+ + disable-forwarding
+ +}
+
+This means four commits ago we did ``set system ipv6 disable-forwarding``.
+
+
.. cfgcmd:: set system config-management commit-revisions <N>
You can specify the number of revisions stored on disk. N can be in
diff --git a/docs/interfaces/bond.rst b/docs/interfaces/bond.rst
index 396242ae..9e67809a 100644
--- a/docs/interfaces/bond.rst
+++ b/docs/interfaces/bond.rst
@@ -395,6 +395,121 @@ with two interfaces from VyOS to a Aruba/HP 2510G switch.
vlan 10 tagged Trk1
vlan 100 tagged Trk1
+Arista EOS
+^^^^^^^^^^
+
+When utilizing VyOS in an environment with Arista gear you can use this blue
+print as an initial setup to get an LACP bond / port-channel operational between
+those two devices.
+
+Lets assume the following topology:
+
+.. figure:: /_static/images/vyos_arista_bond_lacp.png
+ :alt: VyOS Arista EOS setup
+
+**R1**
+
+ .. code-block:: none
+
+ interfaces {
+ bonding bond10 {
+ hash-policy layer3+4
+ member {
+ interface eth1
+ interface eth2
+ }
+ mode 802.3ad
+ vif 100 {
+ address 192.0.2.1/30
+ address 2001:db8::1/64
+ }
+ }
+
+**R2**
+
+ .. code-block:: none
+
+ interfaces {
+ bonding bond10 {
+ hash-policy layer3+4
+ member {
+ interface eth1
+ interface eth2
+ }
+ mode 802.3ad
+ vif 100 {
+ address 192.0.2.2/30
+ address 2001:db8::2/64
+ }
+ }
+
+**SW1**
+
+ .. code-block:: none
+
+ !
+ vlan 100
+ name FOO
+ !
+ interface Port-Channel10
+ switchport trunk allowed vlan 100
+ switchport mode trunk
+ spanning-tree portfast
+ !
+ interface Port-Channel20
+ switchport mode trunk
+ no spanning-tree portfast auto
+ spanning-tree portfast network
+ !
+ interface Ethernet1
+ channel-group 10 mode active
+ !
+ interface Ethernet2
+ channel-group 10 mode active
+ !
+ interface Ethernet3
+ channel-group 20 mode active
+ !
+ interface Ethernet4
+ channel-group 20 mode active
+ !
+
+**SW2**
+
+ .. code-block:: none
+
+ !
+ vlan 100
+ name FOO
+ !
+ interface Port-Channel10
+ switchport trunk allowed vlan 100
+ switchport mode trunk
+ spanning-tree portfast
+ !
+ interface Port-Channel20
+ switchport mode trunk
+ no spanning-tree portfast auto
+ spanning-tree portfast network
+ !
+ interface Ethernet1
+ channel-group 10 mode active
+ !
+ interface Ethernet2
+ channel-group 10 mode active
+ !
+ interface Ethernet3
+ channel-group 20 mode active
+ !
+ interface Ethernet4
+ channel-group 20 mode active
+ !
+
+.. note:: When using EVE-NG to lab this environment ensure you are using e1000
+ as the desired driver for your VyOS network interfaces. When using the regular
+ virtio network driver no LACP PDUs will be sent by VyOS thus the port-channel
+ will never become active!
+
Operation
#########
diff --git a/docs/qos.rst b/docs/qos.rst
index a4e56665..3cd183cf 100644
--- a/docs/qos.rst
+++ b/docs/qos.rst
@@ -336,12 +336,11 @@ you will only be able to apply one policy per interface and direction
Some policies can be combined, you will be able to embed_ a different
policy that will be applied to a class of the main policy.
-.. hint:: If you are looking for a policy for your outbound traffic but
- you do not know what policy you need, you might consider FQ-CoDel_ as
- your multipurpose nearly-no-configuration low-delay fair-queue
- policy; if delay does not worry you and you want to manually allocate
- bandwidth shares to specific traffic, then you should consider
- Shaper_.
+.. hint:: **If you are looking for a policy for your outbound traffic**
+ but you don't know which one you need and you don't want to go
+ through every possible policy shown here, **our bet is that highly
+ likely you are looking for a** Shaper_ **policy and you want to**
+ :ref:`set its queues <embed>` **as FQ-CoDel**.
Drop Tail
---------