From c64ba6dc6ab9e3b06feac1a86c2f59d7052609ce Mon Sep 17 00:00:00 2001 From: John DeNisco Date: Thu, 2 Aug 2018 15:03:15 -0400 Subject: [PATCH] docs: Incororate Scott's overall review Change-Id: Ic70a62e17891fa9291a5274400ae89f1d6194b6e Signed-off-by: John DeNisco --- docs/_images/vhost-topo.png | Bin 14055 -> 43610 bytes docs/gettingstarted/developers/index.rst | 8 +++++ docs/gettingstarted/index.rst | 29 ++++++++++++++-- .../gettingstarted/users/configuring/hugepages.rst | 11 +++--- docs/gettingstarted/users/configuring/index.rst | 6 ++-- docs/gettingstarted/users/configuring/startup.rst | 5 +-- .../users/configutil/commandfour.rst | 10 +++--- .../gettingstarted/users/configutil/commandone.rst | 4 +-- .../users/configutil/commandthree.rst | 13 +++---- .../gettingstarted/users/configutil/commandtwo.rst | 38 +++++++++++---------- .../users/configutil/usingvppconfig.rst | 9 ++--- docs/gettingstarted/users/index.rst | 12 +++++-- docs/gettingstarted/users/installing/centos.rst | 2 +- docs/gettingstarted/users/installing/index.rst | 14 ++++---- docs/gettingstarted/users/installing/opensuse.rst | 7 ++-- docs/gettingstarted/users/installing/packages.rst | 4 ++- docs/gettingstarted/users/installing/ubuntu.rst | 18 +++++----- docs/gettingstarted/writingdocs/index.rst | 12 +++++-- docs/overview/index.rst | 10 ++++-- docs/overview/whatisvpp/dataplane.rst | 6 ++-- docs/overview/whatisvpp/developer.rst | 2 ++ docs/overview/whatisvpp/fast.rst | 4 ++- 22 files changed, 146 insertions(+), 78 deletions(-) diff --git a/docs/_images/vhost-topo.png b/docs/_images/vhost-topo.png index c2baf7edbedf0d49b7915f9e2743cb92e7dc7ce7..6da458d2c7a9dffc6fdbb672104049470c567319 100644 GIT binary patch literal 43610 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 #. :ref:`1) Show basic system information ` #. :ref:`2) Dry Run ` #. :ref:`3) Full Configuration ` -Once vpp-config is installed as a root user execute the following +Once vpp-config is installed as a root user, then run the following code: .. code-block:: console @@ -44,8 +45,8 @@ Once vpp-config is installed as a root user execute the following Default Values ============== -If you do not choose to modify the default for any of the questions prompted by vpp-config, -you may press the ENTER key to select the default options: +If you do not choose to modify the default for any of the questions prompted by vpp-config, then +you may press the **ENTER** key to select the default options: * Questions that ask [Y/n], the capital letter Y is the default answer. * Numbers have their default within brackets, such as in [1024], the 1024 is the default. diff --git a/docs/gettingstarted/users/index.rst b/docs/gettingstarted/users/index.rst index 6fd7260650a..36640a8b454 100644 --- a/docs/gettingstarted/users/index.rst +++ b/docs/gettingstarted/users/index.rst @@ -1,8 +1,16 @@ .. _users: -##### +######## Users -##### +######## + +The Users section covers basic VPP installation and configuration operations. This +section covers the following areas: + +* Describes the different types of VPP packages +* Describes how to install VPP Binaries on different OS platforms (Ubuntu, Centos, openSUSE) +* Explains how to configure, then use VPP +* Explains how to use the Configuration Utility .. toctree:: :maxdepth: 2 diff --git a/docs/gettingstarted/users/installing/centos.rst b/docs/gettingstarted/users/installing/centos.rst index bb69eb9e797..470ca87be1f 100644 --- a/docs/gettingstarted/users/installing/centos.rst +++ b/docs/gettingstarted/users/installing/centos.rst @@ -8,7 +8,7 @@ Setup the fd.io Repository - Centos 7 Update the OS ------------- -It is probably a good idea to update and upgrade the OS before starting: +Before starting the repository setup, it is a good idea to first update and upgrade the OS. .. code-block:: console diff --git a/docs/gettingstarted/users/installing/index.rst b/docs/gettingstarted/users/installing/index.rst index 7636ec875fd..6cadae0a314 100644 --- a/docs/gettingstarted/users/installing/index.rst +++ b/docs/gettingstarted/users/installing/index.rst @@ -3,11 +3,10 @@ .. toctree:: Installing VPP from Packages -============================ +============================== -If you are simply using vpp, it can be convenient to install the binaries from -existing packages. This guide will describe how pull, install and run the VPP -packages. +If you want to use VPP it can be convenient to install the binaries from +existing packages. This guide describes how to pull, install and run the VPP packages. .. toctree:: @@ -20,10 +19,13 @@ The following is a brief description of the packages to be installed with VPP. packages Installing VPP Binaries ------------------------ +---------------------------------- + +This section provides directions on how to Install VPP binaries on Ubuntu, Centos, +and openSUSE platforms. Installing on Ubuntu -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^ The following are instructions on how to install VPP on Ubuntu. .. toctree:: diff --git a/docs/gettingstarted/users/installing/opensuse.rst b/docs/gettingstarted/users/installing/opensuse.rst index 8e91ebd2f45..b5dcbc35820 100644 --- a/docs/gettingstarted/users/installing/opensuse.rst +++ b/docs/gettingstarted/users/installing/opensuse.rst @@ -4,17 +4,18 @@ Installing ========== -Top install VPP on openSUSE first pick the following release and execute the appropriate commands. +To install VPP on openSUSE, first install the following release and then execute +the appropriate commands. openSUSE Tumbleweed (rolling release) -------------------------------------- +------------------------------------------------------------ .. code-block:: console sudo zypper install vpp vpp-plugins openSUSE Leap 42.3 ------------------- +-------------------------------- .. code-block:: console diff --git a/docs/gettingstarted/users/installing/packages.rst b/docs/gettingstarted/users/installing/packages.rst index d67ff605d99..55ddf05fdad 100644 --- a/docs/gettingstarted/users/installing/packages.rst +++ b/docs/gettingstarted/users/installing/packages.rst @@ -1,7 +1,9 @@ .. _packages: Packages -======== +========== + +This section identifies the different VPP packages and describes their contents. .. toctree:: diff --git a/docs/gettingstarted/users/installing/ubuntu.rst b/docs/gettingstarted/users/installing/ubuntu.rst index 9c082e667b0..5b4a1d86fee 100644 --- a/docs/gettingstarted/users/installing/ubuntu.rst +++ b/docs/gettingstarted/users/installing/ubuntu.rst @@ -3,13 +3,13 @@ .. toctree:: Ubuntu 16.04 - Setup the fd.io Repository -========================================= +========================================== -From the following choose one of the releases to install. +From the following, choose one of the releases to install. Update the OS -------------- +----------------------- It is probably a good idea to update and upgrade the OS before starting @@ -19,7 +19,7 @@ It is probably a good idea to update and upgrade the OS before starting Point to the Repository ------------------------ +----------------------------------- Create a file **"/etc/apt/sources.list.d/99fd.io.list"** with the contents that point to the version needed. The contents needed are shown below. @@ -27,7 +27,7 @@ the version needed. The contents needed are shown below. .. _install_vpp: VPP latest Release -^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^ Create the file **/etc/apt/sources.list.d/99fd.io.list** with contents: @@ -37,7 +37,7 @@ Create the file **/etc/apt/sources.list.d/99fd.io.list** with contents: VPP stable/1804 Branch -^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^ Create the file **/etc/apt/sources.list.d/99fd.io.list** with contents: @@ -47,7 +47,7 @@ Create the file **/etc/apt/sources.list.d/99fd.io.list** with contents: VPP master Branch -^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^ Create the file **/etc/apt/sources.list.d/99fd.io.list** with contents: @@ -57,7 +57,7 @@ Create the file **/etc/apt/sources.list.d/99fd.io.list** with contents: Install the Mandatory Packages -============================== +=============================== .. code-block:: console @@ -66,7 +66,7 @@ Install the Mandatory Packages Install the Optional Packages -============================= +============================== .. code-block:: console diff --git a/docs/gettingstarted/writingdocs/index.rst b/docs/gettingstarted/writingdocs/index.rst index e1ce767e40e..1361c422af7 100644 --- a/docs/gettingstarted/writingdocs/index.rst +++ b/docs/gettingstarted/writingdocs/index.rst @@ -4,6 +4,15 @@ Writing VPP Documentation ######################### +This section covers the following topics: + +* Building VPP Documents +* Merging FD.io VPP documents and performing a Git review +* Using Read the Docs +* reStructured Text Style Guide that describes different format styles +* Markdown Style Guide that describes different format styles + + .. toctree:: buildingrst @@ -13,6 +22,3 @@ Writing VPP Documentation styleguidemd/index.rst todo pushingapatch - - - diff --git a/docs/overview/index.rst b/docs/overview/index.rst index d3da0e211fa..8d1e434d848 100644 --- a/docs/overview/index.rst +++ b/docs/overview/index.rst @@ -1,8 +1,14 @@ .. _overview: -========================================= +========== Overview -========================================= +========== + +This section discusses the following information: + +* What VPP is, what packet processing provides and the benefits VPP provides + + .. toctree:: :maxdepth: 1 diff --git a/docs/overview/whatisvpp/dataplane.rst b/docs/overview/whatisvpp/dataplane.rst index 9113038fc57..256165f4f8c 100644 --- a/docs/overview/whatisvpp/dataplane.rst +++ b/docs/overview/whatisvpp/dataplane.rst @@ -1,8 +1,10 @@ .. _packet-processing: -================= +=================== Packet Processing -================= +=================== + +This section identifies different components of packet processing and describes their benefits: * Layer 2 - 4 Network Stack diff --git a/docs/overview/whatisvpp/developer.rst b/docs/overview/whatisvpp/developer.rst index a0bb2d451c0..57000d45880 100644 --- a/docs/overview/whatisvpp/developer.rst +++ b/docs/overview/whatisvpp/developer.rst @@ -4,6 +4,8 @@ Developer Friendly ================== +This section describes the different ways VPP is friendly to developers: + * Extensive runtime counters; throughput, `intructions per cycle `_, errors, events etc. * Integrated pipeline tracing facilities * Multi-language API bindings diff --git a/docs/overview/whatisvpp/fast.rst b/docs/overview/whatisvpp/fast.rst index b04c12fbe7b..9e9e314809c 100644 --- a/docs/overview/whatisvpp/fast.rst +++ b/docs/overview/whatisvpp/fast.rst @@ -4,7 +4,9 @@ Fast, Scalable and Deterministic ================================ -* `Continuous integration and system testing `_ +This section describes the ways that VPP is fast, scalable and deterministic: + +* `Continuous integration and system testing (CSIT) `_ * Including continuous & extensive, latency and throughput testing -- 2.16.6