Update Sphinx version and versioning process
- Updated to newer Sphinx version
- Changed to use doc8 to check .rst files
- Added a dictionary (dict.txt) and spellchecking
- Reformatted and fixed issues that were found in the content
Change-Id: If7b35e01ee8be25dbbd1ecd0e67b264aa6cc2a94
diff --git a/installation.rst b/installation.rst
index 9e4be7e..f96483d 100644
--- a/installation.rst
+++ b/installation.rst
@@ -10,30 +10,48 @@
Install Controller - ONOS
=========================
-You could run Trellis with a `single instance of ONOS <https://wiki.onosproject.org/display/ONOS/Local+workflow>`_. But it is recommended to run ONOS as a cluster.
-The idea is to have a "build machine", where you host and build ONOS source code. But to launch it in operation you use other "target machines" (VMs, containers or servers).
-Typically we use `STC <https://wiki.onosproject.org/pages/viewpage.action?pageId=12421025>`_ to launch ONOS ins 3 target machines which form a ONOS cluster.
+You could run Trellis with a `single instance of ONOS
+<https://wiki.onosproject.org/display/ONOS/Local+workflow>`_. But it is
+recommended to run ONOS as a cluster.
+
+The idea is to have a "build machine", where you host and build ONOS source
+code. But to launch it in operation you use other "target machines" (VMs,
+containers or servers).
+
+Typically we use `STC
+<https://wiki.onosproject.org/pages/viewpage.action?pageId=12421025>`_ to
+launch ONOS ins 3 target machines which form a ONOS cluster.
Download ONOS |onos_version|
---------------------------------
-Trellis currently is released as part of ONOS and therefore it follows ONOS version number.
-This document is written based on ONOS |onos_version|.
-You can find more information about how to setup build environment and fetch ONOS source code from `Development Environment Setup <https://wiki.onosproject.org/display/ONOS/Development+Environment+Setup>`_.
+Trellis currently is released as part of ONOS and therefore it follows ONOS
+version number. This document is written based on ONOS |onos_version|.
+
+You can find more information about how to setup build environment and fetch
+ONOS source code from `Development Environment Setup
+<https://wiki.onosproject.org/display/ONOS/Development+Environment+Setup>`_.
Prepare Your Target Machine
---------------------------
-Please refer to `target machines requirements <https://wiki.onosproject.org/display/ONOS/Cells+and+ONOS+test+scripts#CellsandONOStestscripts-Targetmachinesrequirements>`_ for details (you only have to do this once).
-You do not need to follow the directions for the "Mininet Target Machine" if you are using hardware switches.
+Please refer to `target machines requirements
+<https://wiki.onosproject.org/x/twAQ>`_ for details (you only have to do this
+once).
+
+You do not need to follow the directions for the "Mininet Target Machine" if
+you are using hardware switches.
Create a Cell File
--------------------
-We need to compose a cell file in order to give the information about target machines to the build machine. Please refer to `test cells <https://wiki.onosproject.org/display/ONOS/Cells+and+ONOS+test+scripts#CellsandONOStestscripts-TestCells>`_ for details. For example:
+
+We need to compose a cell file in order to give the information about target
+machines to the build machine. Please refer to `test cells
+<https://wiki.onosproject.org/x/twAQ>`_ for details. For example:
.. code-block:: bash
@@ -48,21 +66,39 @@
export ONOS_WEB_USER=onos
export ONOS_WEB_PASS=rocks
-- ``OC1, OC2, OC3`` are the IP addresses of the 3 target machines where the ONOS cluster will be deployed.
+- ``OC1, OC2, OC3`` are the IP addresses of the 3 target machines where the
+ ONOS cluster will be deployed.
+
- ``ONOS_APPS`` are the apps you want to automatically deploy at launch.
- - ``drivers`` includes drivers for various devices and pipelines. Always required.
- - ``gui`` enables graphic user interface. Highly recommended.
- - ``openflow`` is a meta app that loads ``openflow-base``, ``lldpprovider`` and ``hostprovider``. Always required.
- - ``segmentrouting`` controls forwarding in the fabric. Always required.
- - ``fpm`` (Forwarding Plane Manager) exchanges forwarding information with Quagga. Required if connecting to external router.
- - ``dhcprelay`` relays DHCP packets between clients and servers. Required if using DHCP to configure IP addresses for hosts
- - ``routeradvertisement`` periodically sends IPv6 router advertisement packets on configured interfaces. Required if using IPv6
- - ``hostprobingprovider`` probes and verifies locations of dual-homed hosts. Required if using dual-homing feature with paired switches
- - ``t3`` (Trellis Troubleshooting Tool) is very useful for debugging. Highly recommended.
+ - ``drivers`` includes drivers for various devices and pipelines. Always
+ required.
-- ``ONOS_USER`` is used to login to the target machines,
- and the password is not required as you have setup the target machines for password-less access over ssh.
+ - ``gui`` enables graphic user interface. Highly recommended.
+
+ - ``openflow`` is a meta app that loads ``openflow-base``, ``lldpprovider``
+ and ``hostprovider``. Always required.
+
+ - ``segmentrouting`` controls forwarding in the fabric. Always required.
+
+ - ``fpm`` (Forwarding Plane Manager) exchanges forwarding information with
+ Quagga. Required if connecting to external router.
+
+ - ``dhcprelay`` relays DHCP packets between clients and servers. Required
+ if using DHCP to configure IP addresses for hosts
+
+ - ``routeradvertisement`` periodically sends IPv6 router advertisement
+ packets on configured interfaces. Required if using IPv6
+
+ - ``hostprobingprovider`` probes and verifies locations of dual-homed
+ hosts. Required if using dual-homing feature with paired switches
+
+ - ``t3`` (Trellis Troubleshooting Tool) is very useful for debugging.
+ Highly recommended.
+
+- ``ONOS_USER`` is used to login to the target machines, and the password is
+ not required as you have setup the target machines for password-less access
+ over ssh.
Once that's done, you can use the ``cell`` command to load the cell file.
@@ -74,6 +110,7 @@
Check Your Target Environment
-----------------------------
+
Check if your environment is OK with ``stc prerequisites`` (you only have to do this once).
.. code-block:: console
@@ -168,7 +205,9 @@
Useful Utilities
----------------
-- Push network configuration to one particular instance of ONOS (all instances will automatically get the same configuration)
+
+- Push network configuration to one particular instance of ONOS (all instances
+ will automatically get the same configuration)
.. code-block:: console
@@ -189,10 +228,14 @@
Install Switch OS - ONL
=======================
-The switches listed in the :doc:`Supported Hardware <supported-hardware>` are shipped with Open Networking Install Environment (ONIE) boot loader.
-After booting up, we should see the ONIE prompt from console.
-Here we assume that the management port on the switch already has Internet access. (via DHCP)
+The switches listed in the :doc:`Supported Hardware <supported-hardware>` are
+shipped with Open Networking Install Environment (ONIE) boot loader.
+
+After booting up, we should see the ONIE prompt from console.
+
+Here we assume that the management port on the switch already has Internet
+access. (via DHCP)
Enter ONIE
----------
@@ -200,18 +243,28 @@
Has no ONL or Has ONL 1.x previously installed
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
The way to install ONL 2.x is the same as ONL 1.x.
-However, if you have no ONL installed or have older version of ONL, you might find it tricky to (re)install a newer version.
+
+However, if you have no ONL installed or have older version of ONL, you might
+find it tricky to (re)install a newer version.
+
Here's the instruction:
1. Plug in the console cable and reboot the switch
- 2. (If your boot loader is grub) When you see the boot menu, select **ONIE -> ONIE: Rescue**
- 3. (If your boot loader is uboot) When you see **Hit any key to stop autoboot** instead of the boot menu,
- press any key and then enter ``run onie_rescue`` to enter ONIE rescue mode.
+
+ 2. (If your boot loader is grub) When you see the boot menu, select **ONIE
+ -> ONIE: Rescue**
+
+ 3. (If your boot loader is uboot) When you see **Hit any key to stop
+ autoboot** instead of the boot menu, press any key and then enter
+ ``run onie_rescue`` to enter ONIE rescue mode.
Has ONL 2.x previously installed
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-It would be much more easier to reboot into ONIE if you have a previously installed ONL 2. Simply run:
+
+It would be much more easier to reboot into ONIE if you have a previously
+installed ONL 2. Simply run:
.. code-block:: console
@@ -225,9 +278,12 @@
Install ONL
-----------
-At the ONIE prompt, we need to download and install ONL.
-To be able to dowload ONL the management interface needs to have an IP.
-ONIE will try to obtain IP address from DHCP. In the case where DHCP service is not available, please configure it manually:
+
+At the ONIE prompt, we need to download and install ONL. To be able to
+download ONL the management interface needs to have an IP. ONIE will try to
+obtain IP address from DHCP. In the case where DHCP service is not available,
+please configure it manually:
+
.. code-block:: console
ip addr add <IP>/<Netmask> dev <interface>
@@ -243,10 +299,14 @@
**Checksum**: *sha256:2db316ea83f5dc761b9b11cc8542f153f092f3b49d82ffc0a36a2c41290f5421*
-The switch will automatically reboot into ONL after installation. Default login credential of ONL is: ``root/onl``
+The switch will automatically reboot into ONL after installation. Default login
+credential of ONL is: ``root/onl``
-We might want to configure a fixed IP address for the management interface in ONL.
-First edit ``/etc/network/interfaces`` and configure ``ma1``, which is the management interface.
+We might want to configure a fixed IP address for the management interface in
+ONL.
+
+First edit ``/etc/network/interfaces`` and configure ``ma1``, which is the
+management interface.
.. code-block:: text
@@ -265,15 +325,24 @@
**Community vs. Premium Version**
The OF-DPA image we distribute for free with Trellis is a community version.
+
This documentation is also written based on the community version.
- The **community version** has most of the features available and therefore it is **good for small scale deployments** such as lab trials.
- However, we highly recommend you to get the **premium version** from Broadcom if you are aiming for **production deployments at scale**.
+
+ The **community version** has most of the features available and therefore
+ it is **good for small scale deployments** such as lab trials.
+
+ However, we highly recommend you to get the **premium version** from
+ Broadcom if you are aiming for **production deployments at scale**.
Install OF-DPA
--------------
-We need to use different OF-DPA images depending on the switch model you are using.
-Please find the installer URL corresponding to each switch model in the `Vendor Specific Information`_ section.
+
+We need to use different OF-DPA images depending on the switch model you are
+using.
+
+Please find the installer URL corresponding to each switch model in the `Vendor
+Specific Information`_ section.
Copy the image to the switch and start the installation process by running:
@@ -282,7 +351,9 @@
$ scp ${OFDPA_DEB} ${SWITCH_IP}:/root
$ dpkg -i --force-overwrite /root/${OFDPA_DEB}
-For example, assuming the OF-DPA image is ``ofdpa_3.0.5.5+accton1.7-1_amd64.deb`` and the switch management IP is ``10.128.0.201``, you should run:
+For example, assuming the OF-DPA image is
+``ofdpa_3.0.5.5+accton1.7-1_amd64.deb`` and the switch management IP is
+``10.128.0.201``, you should run:
.. code-block:: console
@@ -294,17 +365,24 @@
============================
.. caution::
- We are going to describe two different ways to start OF-DPA and OpenFlow agent in this section.
- Some vendors use ``ofagentd`` service while others use old ``launcher`` app to start the agent.
- Please check the `Vendor Specific Information`_ to understand which method you should use before continuing this section.
+ We are going to describe two different ways to start OF-DPA and OpenFlow
+ agent in this section.
+
+ Some vendors use ``ofagentd`` service while others use old ``launcher`` app
+ to start the agent.
+
+ Please check the `Vendor Specific Information`_ to understand which method
+ you should use before continuing this section.
Use ofagentd service
--------------------
Launch with ofagentd
^^^^^^^^^^^^^^^^^^^^
-The OFDPA software and the Indigo agent are now a single process launched by Linux service. First of all, we need to configure **/etc/ofagent/ofagent.conf**.
-Uncomment and edit the following line. Make sure all other lines stay commented.
+The OFDPA software and the Indigo agent are now a single process launched by
+Linux service. First of all, we need to configure
+**/etc/ofagent/ofagent.conf**. Uncomment and edit the following line. Make
+sure all other lines stay commented.
.. code-block:: bash
@@ -317,20 +395,27 @@
OPT_ARGS="-d 2 -c 2 -c 4 -t <controller_ip_1> -t <controller_ip_2> -t <controller_ip_3> -i <dpid>"
- To **start** the ofagent, run ``service ofagentd start``
+
- To **stop** the agent, run ``service ofagentd stop``
+
- More ``ofagentapp`` options can be found by running ``ofagentapp --help``
Launch in listen mode with ofagentd
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-An optional ``-l`` parameter can be added for switch to listen on specific **IP:port**.
-This allows us to use tools like **ovs-ofctl** or **dpctl** to connect and control the switch.
+
+An optional ``-l`` parameter can be added for switch to listen on specific
+**IP:port**.
+
+This allows us to use tools like **ovs-ofctl** or **dpctl** to connect and
+control the switch.
.. code-block:: bash
OPT_ARGS="-t <controller_ip_1> -t <controller_ip_2> -t <controller_ip_3> -i <dpid> -l <ip>:<port>"
-Please refer to `Connect to Switch in Listen Mode`_ to learn more about how to access switches in listen mode.
+Please refer to `Connect to Switch in Listen Mode`_ to learn more about how to
+access switches in listen mode.
Use launcher app
----------------
@@ -357,14 +442,19 @@
Launch in listen mode with launcher
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-An optional ``-l`` parameter can be added for switch to listen on specific **IP:port**.
-This allows us to use tools like **ovs-ofctl** or **dpctl** to connect and control the switch.
+
+An optional ``-l`` parameter can be added for switch to listen on specific
+**IP:port**.
+
+This allows us to use tools like **ovs-ofctl** or **dpctl** to connect and
+control the switch.
.. code-block:: console
# ./launcher ofagentapp <controller_ip_1> -t <controller_ip_2> -t <controller_ip_3> -i <dpid> -l <ip>:<port>
-Please refer to `Connect to Switch in Listen Mode`_ to learn more about how to access switches in listen mode.
+Please refer to `Connect to Switch in Listen Mode`_ to learn more about how to
+access switches in listen mode.
Vendor Specific Information
@@ -375,13 +465,19 @@
--------
- **OF-DPA Image**
- - `EdgeCore 5712-54X / 5812-54X / 6712-32X / 7712-32X <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa_3.0.5.5%2Baccton1.7-1_amd64.deb>`_ - **Checksum**: *sha256:db228b6e79fb15f77497b59689235606b60abc157e72fc3356071bcc8dc4c01f*
+
+ - `EdgeCore 5712-54X / 5812-54X / 6712-32X / 7712-32X
+ <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa_3.0.5.5%2Baccton1.7-1_amd64.deb>`_
+ **Checksum**: *sha256:db228b6e79fb15f77497b59689235606b60abc157e72fc3356071bcc8dc4c01f*
- **Start OF-DPA and OpenFlow agent**
+
- Please refer to `Use ofagentd service`_
- **Configure Port Speed and Breakout**
- - By default all the switch ports are running at maximum speed. The port speed can be modified in **/etc/accton/ofdpa.conf**
+
+ - By default all the switch ports are running at maximum speed. The port
+ speed can be modified in **/etc/accton/ofdpa.conf**
.. code-block:: text
@@ -395,20 +491,28 @@
OF-DPA service needs to be restarted after modifying this configuration.
-
QCT
---
- OF-DPA Image
- - `QuantaMesh T3048-LY8 <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa-ag7648_0.3.0.5.6_amd64.deb>`_ - **Checksum**: *sha256:f8201530b1452145c1a0956ea1d3c0402c3568d090553d0d7b3c91a79137da9e*
- - `QuantaMesh T7032-IX1 / IX1B <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa-ix1_0.3.0.5.0-EA5-qct-01.00_amd64.deb>`_ **Checksum**: *sha256:278b8ffed8a8fc705a1b60d16f8e70377e78342a27a11568a1d80b1efd706a46*
+
+ - `QuantaMesh T3048-LY8
+ <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa-ag7648_0.3.0.5.6_amd64.deb>`_
+ **Checksum**: *sha256:f8201530b1452145c1a0956ea1d3c0402c3568d090553d0d7b3c91a79137da9e*
+
+ - `QuantaMesh T7032-IX1 / IX1B
+ <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa-ix1_0.3.0.5.0-EA5-qct-01.00_amd64.deb>`_
+ **Checksum**: *sha256:278b8ffed8a8fc705a1b60d16f8e70377e78342a27a11568a1d80b1efd706a46*
- **Start OF-DPA and OpenFlow agent**
- Please refer to `Use launcher app`_
- Configure Port Speed and Breakout
+
The command ``client_drivshell`` can be used to configure the port speed.
- Use the parameter ``ps`` to list all ports or ``ps <port number>`` to list one specific port.
+
+ Use the parameter ``ps`` to list all ports or ``ps <port number>`` to list
+ one specific port.
.. code-block:: console
@@ -420,7 +524,8 @@
Returned from ofdpaBcmCommand rpc with rc = 0.
- Then use the parameter ``port <port number> sp=<port speed>`` to change the port speed.
+ Then use the parameter ``port <port number> sp=<port speed>`` to change the
+ port speed.
.. code-block:: console
@@ -441,20 +546,27 @@
-----
- OF-DPA Image
- - `Delta AG7648 <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa-ly8_0.3.0.5.0-EA5-qct-01.01_amd64.deb>`_ - **Checksum**: *sha256:ddfc13cb98ca47291dce5e6938b1d65f0b99bbe77f0585e36ac0007017397f23*
+
+ - `Delta AG7648
+ <https://raw.githubusercontent.com/onfsdn/atrium-docs/master/16A/ONOS/builds/ofdpa-ly8_0.3.0.5.0-EA5-qct-01.01_amd64.deb>`_
+ **Checksum**: *sha256:ddfc13cb98ca47291dce5e6938b1d65f0b99bbe77f0585e36ac0007017397f23*
- **Start OF-DPA and OpenFlow agent**
+
- Please refer to `Use launcher app`_
- Special instructions to install ONL
- Make sure ``/etc/machine.conf`` looks like the following in ONIE before running ONL installation script:
+
+ Make sure ``/etc/machine.conf`` looks like the following in ONIE before
+ running ONL installation script:
.. code-block:: text
onie_platform=x86_64-delta_<platform name>-r0
onie_machine=delta_<platform name>
- After the installation of ONL, if you don't see '/usr/bin' in your PATH variable, please run the following command:
+ After the installation of ONL, if you don't see '/usr/bin' in your PATH
+ variable, please run the following command:
.. code-block:: console
@@ -489,13 +601,20 @@
-------------
OFDPA offers two boot mode: **INSTALLED** and **SWI**.
-- In **INSTALLED** mode, ONL mounts the root filesystem from /dev/sdb7 which is a flash drive that persists everything even during a power cycle.
-- In **SWI** mode, ONL will load the root filesystem from a read-only image (\*.swi) and put the modified files in an copy-on-write overlay filesystem.
- The change will not be persisted during a power cycle.
- The pros and cons are obvious. INSTALLED mode is more convenient while SWI mode is more error-safe.
+- In **INSTALLED** mode, ONL mounts the root filesystem from ``/dev/sdb7``
+ which is a flash drive that persists everything even during a power cycle.
-The boot mode will be determined by which image we used install ONL. We use the **INSTALLED** mode in this instruction for simplicity.
-But we can still change it after the installation. Here's the instruction:
+- In **SWI** mode, ONL will load the root filesystem from a read-only image
+ (``*.swi``) and put the modified files in an copy-on-write overlay filesystem.
+
+ The change will not be persisted during a power cycle.
+
+ The pros and cons are obvious. INSTALLED mode is more convenient while SWI
+ mode is more error-safe.
+
+The boot mode will be determined by which image we used install ONL. We use the
+**INSTALLED** mode in this instruction for simplicity. But we can still change
+it after the installation. Here's the instruction:
.. code-block:: console
@@ -506,15 +625,23 @@
Persistence Mechanism
---------------------
-INSTALLED mode already persists everything for you. This section is mainly for SWI mode.
-The mechanism to persist files on the switch is different from ONL 1.x to ONL 2.x.
-Following are the steps required to persist a file (e.g. OFDPA package) in ONL 2.x.
+INSTALLED mode already persists everything for you. This section is mainly for
+SWI mode.
+
+The mechanism to persist files on the switch is different from ONL 1.x to ONL
+2.x. Following are the steps required to persist a file (e.g. OFDPA package)
+in ONL 2.x.
- Files put in **/mnt/onl/data** will be persisted automatically.
-- To install a deb package during start-up, put the deb file under **/mnt/onl/data/install-debs** folder and
- create a plain text file **/mnt/onl/data/install-debs/list** with all the filename of the deb (e.g. ofdpa_3.0.5.5+accton1.7-1_amd64.deb)
-- To execute some command during start-up, put the command in **/mnt/onl/data/rc.boot**
+
+- To install a deb package during start-up, put the deb file under
+ **/mnt/onl/data/install-debs** folder and create a plain text file
+ **/mnt/onl/data/install-debs/list** with all the filename of the deb (e.g.
+ ``ofdpa_3.0.5.5+accton1.7-1_amd64.deb``)
+
+- To execute some command during start-up, put the command in
+ **/mnt/onl/data/rc.boot**
.. code-block:: bash
@@ -524,26 +651,44 @@
# grant executable permission
chmod a+x /mnt/onl/data/rc.boot
-See `PersistWorkflow.md <https://github.com/opencomputeproject/OpenNetworkLinux/blob/master/docs/PersistWorkflow.md>`_ for more detail.
+See `PersistWorkflow.md
+<https://github.com/opencomputeproject/OpenNetworkLinux/blob/master/docs/PersistWorkflow.md>`_
+for more detail.
Build a Customized ONL Image
----------------------------
-Sometimes we need to build our own ONL image from source to include some extra files. (The most common case is a modified /etc/network/interfaces).
-The instruction of build process has already been well-documented in ONL repo `Building.md <https://github.com/opencomputeproject/OpenNetworkLinux/blob/master/docs/Building.md>`_.
+
+Sometimes we need to build our own ONL image from source to include some extra
+files. (The most common case is a modified /etc/network/interfaces).
+
+The instruction of build process has already been well-documented in ONL repo
+`Building.md
+<https://github.com/opencomputeproject/OpenNetworkLinux/blob/master/docs/Building.md>`_.
+
But you might find it a little bit tricky to inject some extra files.
-To do that, you need to put the files under **$ONL_ROOT/builds/any/rootfs/jessie/common/overlay/** and then run the make command again.
+
+To do that, you need to put the files under
+**$ONL_ROOT/builds/any/rootfs/jessie/common/overlay/** and then run the make
+command again.
Recovery from a Faulty ONL Install
----------------------------------
-If, for some reason, the ONL install process fails, you may be brought to the grub rescue prompt upon reboot.
-You may or may not find system files, or even basic grub rescue commands (i.e. 'help').
+If, for some reason, the ONL install process fails, you may be brought to the
+grub rescue prompt upon reboot.
+
+You may or may not find system files, or even basic grub rescue commands (i.e.
+'help').
+
There are two options for returning to a (known working) ONIE prompt.
-1. **Reinstaller** - You should be able to acquire an ISO image for resetting the firmware to factory default from your switch vendor.
- Once you have the ISO, you can either use PXE or a live USB to boot the switch into the image.
-2. **Manually boot to ONIE** - If the files are there, you can manually configure GRUB to load the necessary modules to boot back into ONIE.
+1. **Reinstaller** - You should be able to acquire an ISO image for resetting
+ the firmware to factory default from your switch vendor. Once you have the
+ ISO, you can either use PXE or a live USB to boot the switch into the image.
+
+2. **Manually boot to ONIE** - If the files are there, you can manually
+ configure GRUB to load the necessary modules to boot back into ONIE.
.. code-block:: console
@@ -567,12 +712,15 @@
# The system will not boot into ONIE and you can recover or re-install from there.
grub rescue> boot
-Once back at the ONIE prompt, you can try to install ONL by following the same steps again.
+Once back at the ONIE prompt, you can try to install ONL by following the same
+steps again.
Connect to Switch in Listen Mode
--------------------------------
-To connect to the switch in Listen Mode using **ovs-ofctl**, you can use commands such as
+
+To connect to the switch in Listen Mode using **ovs-ofctl**, you can use
+commands such as:
.. code-block:: console
@@ -581,10 +729,16 @@
$ ovs-ofctl -O OpenFlow13 dump-groups tcp:<ip>:<port>
$ ovs-ofctl -O OpenFlow13 add-flow tcp:<ip>:<port> table=60,priority=40000,eth_type=0x0800,ip_dst=55.55.55.55,actions=controller
-For more command, please see ``ovs-ofctl --help`` or the post `OpenvSwitch ovs-ofctl and OF-DPA <https://blog.pichuang.com.tw/20170106-ovs-ofctl-and-ofdpa/>`_.
+For more command, please see ``ovs-ofctl --help`` or the post `OpenvSwitch
+ovs-ofctl and OF-DPA
+<https://blog.pichuang.com.tw/20170106-ovs-ofctl-and-ofdpa/>`_.
Reference
---------
-- `ONL/OF-DPA installation guide by Edgecore Networks <https://www.youtube.com/watch?v=mCUtkIc_hVI>`_
-- `ONL/OF-DPA cheat sheet by Phil Huang <https://blog.pichuang.com.tw/20170104-ofdpa-with-onl-cheat-sheet/>`_
+
+- `ONL/OF-DPA installation guide by Edgecore Networks
+ <https://www.youtube.com/watch?v=mCUtkIc_hVI>`_
+
+- `ONL/OF-DPA cheat sheet by Phil Huang
+ <https://blog.pichuang.com.tw/20170104-ofdpa-with-onl-cheat-sheet/>`_