From c96d618a5dd96e3a40d59860d2cdb9d5c6b71d11 Mon Sep 17 00:00:00 2001 From: John DeNisco Date: Wed, 6 Nov 2019 10:58:28 -0800 Subject: docs: Rewrite the what is VPP (first) section, also fix the build Signed-off-by: John DeNisco Change-Id: Ifb558171f8976a721703e74afea997d006273b5f Signed-off-by: Dave Barach --- docs/Makefile | 5 +- docs/about.rst | 4 +- docs/conf.py | 4 +- docs/index.rst | 36 +++++++---- docs/overview/features/controlplane.rst | 12 ---- docs/overview/features/devices.rst | 33 ---------- docs/overview/features/index.rst | 34 ---------- docs/overview/features/integrations.rst | 5 -- docs/overview/features/l2.rst | 58 ----------------- docs/overview/features/l3.rst | 57 ----------------- docs/overview/features/l4.rst | 14 ----- docs/overview/features/plugins.rst | 9 --- docs/overview/features/trafficmanagement.rst | 57 ----------------- docs/overview/features/tunnels.rst | 34 ---------- docs/overview/index.rst | 19 ------ .../performance/current_ipv4_throughput.rst | 12 ---- .../performance/current_ipv6_throughput.rst | 16 ----- .../overview/performance/current_l2_throughput.rst | 12 ---- .../performance/current_ndr_throughput.rst | 13 ---- docs/overview/performance/index.rst | 72 --------------------- .../performance/trending_ipv4_throughput.rst | 14 ----- .../performance/trending_ipv6_throughput.rst | 16 ----- .../performance/trending_l2_throughput.rst | 14 ----- docs/overview/supported.rst | 29 --------- docs/overview/whatisvpp/dataplane.rst | 36 ----------- docs/overview/whatisvpp/developer.rst | 26 -------- docs/overview/whatisvpp/extensible.rst | 39 ------------ docs/overview/whatisvpp/fast.rst | 18 ------ docs/overview/whatisvpp/index.rst | 27 -------- .../whatisvpp/what-is-vector-packet-processing.rst | 73 ---------------------- docs/whatisvpp/developer.rst | 29 +++++++++ docs/whatisvpp/extensible.rst | 43 +++++++++++++ docs/whatisvpp/hoststack.rst | 26 ++++++++ docs/whatisvpp/index.rst | 37 +++++++++++ docs/whatisvpp/networkstack.rst | 39 ++++++++++++ docs/whatisvpp/performance.rst | 70 +++++++++++++++++++++ .../scalar-vs-vector-packet-processing.rst | 69 ++++++++++++++++++++ docs/whatisvpp/supported.rst | 31 +++++++++ 38 files changed, 374 insertions(+), 768 deletions(-) delete mode 100644 docs/overview/features/controlplane.rst delete mode 100644 docs/overview/features/devices.rst delete mode 100644 docs/overview/features/index.rst delete mode 100644 docs/overview/features/integrations.rst delete mode 100644 docs/overview/features/l2.rst delete mode 100644 docs/overview/features/l3.rst delete mode 100644 docs/overview/features/l4.rst delete mode 100644 docs/overview/features/plugins.rst delete mode 100644 docs/overview/features/trafficmanagement.rst delete mode 100644 docs/overview/features/tunnels.rst delete mode 100644 docs/overview/index.rst delete mode 100644 docs/overview/performance/current_ipv4_throughput.rst delete mode 100644 docs/overview/performance/current_ipv6_throughput.rst delete mode 100644 docs/overview/performance/current_l2_throughput.rst delete mode 100644 docs/overview/performance/current_ndr_throughput.rst delete mode 100644 docs/overview/performance/index.rst delete mode 100644 docs/overview/performance/trending_ipv4_throughput.rst delete mode 100644 docs/overview/performance/trending_ipv6_throughput.rst delete mode 100644 docs/overview/performance/trending_l2_throughput.rst delete mode 100644 docs/overview/supported.rst delete mode 100644 docs/overview/whatisvpp/dataplane.rst delete mode 100644 docs/overview/whatisvpp/developer.rst delete mode 100644 docs/overview/whatisvpp/extensible.rst delete mode 100644 docs/overview/whatisvpp/fast.rst delete mode 100644 docs/overview/whatisvpp/index.rst delete mode 100644 docs/overview/whatisvpp/what-is-vector-packet-processing.rst create mode 100644 docs/whatisvpp/developer.rst create mode 100644 docs/whatisvpp/extensible.rst create mode 100644 docs/whatisvpp/hoststack.rst create mode 100644 docs/whatisvpp/index.rst create mode 100644 docs/whatisvpp/networkstack.rst create mode 100644 docs/whatisvpp/performance.rst create mode 100644 docs/whatisvpp/scalar-vs-vector-packet-processing.rst create mode 100644 docs/whatisvpp/supported.rst diff --git a/docs/Makefile b/docs/Makefile index a67b28a3f1b..4e8f1634b21 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -41,6 +41,7 @@ ifeq ($(OS_ID),ubuntu) else ifneq ("$(wildcard /etc/redhat-release)","") @sudo yum install $(CONFIRM) $(DOC_RPM_DEPENDS) endif - @python3 -m pip install sphinxcontrib-spelling - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" -W -b spelling $(O) +# Disable spell checking for now +# @python3 -m pip install sphinxcontrib-spelling +# @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" -W -b spelling $(O) @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/about.rst b/docs/about.rst index 786d896aba1..eae97b23b75 100644 --- a/docs/about.rst +++ b/docs/about.rst @@ -4,6 +4,6 @@ About ===== -**VPP Version:** 20.01-rc0~171-g1146ff4 +**VPP Version:** 20.01-rc0~594-g340c15c6e -**Built on:** Wed Sep 11 12:59:45 GMT 2019 +**Built on:** Wed Nov 6 18:47:36 GMT 2019 diff --git a/docs/conf.py b/docs/conf.py index eb66cb38ac0..68dab302105 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,14 +18,14 @@ # -- Project information ----------------------------------------------------- -project = u'Vector Packet Processor' +project = u'The Vector Packet Processor' copyright = u'2018, Linux Foundation' author = u'John DeNisco' # The short X.Y version version = u'master' # The full version, including alpha/beta/rc tags -release = u'01' +release = u'20.01' # -- General configuration --------------------------------------------------- diff --git a/docs/index.rst b/docs/index.rst index 0fa3b21e768..391c5832820 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,25 +3,35 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -######### -FD.io VPP -######### +######################################### +What is the Vector Packet Processor (VPP) +######################################### -FD.io Vector Packet Processing (VPP) is a fast, scalable layer 2-4 -multi-platform network stack. VPP supports integration with OpenStack -and Kubernetes. Network management features include configuration, -counters and sampling. Development tools include plugin extensibility, -high-performance event-logging, multiple kinds of packet tracing; -debug images include extensive consistency checking. +FD.io's Vector Packet Processor (VPP) is a fast, scalable layer 2-4 +multi-platform network stack. It runs in `Linux Userspace `_ +on multiple architectures including x86, ARM, and Power architectures. +VPP is built using the `Dataplane Development Kit (DPDK) `_. -Use-cases include vSwitch, vRouter, Gateways, Firewalls and Load -Balancers, to name several. Out of the box, VPP works as a software -development kit or an appliance. +VPP benefits include high performance, proven technology, modularity, +and a rich feature set. + +VPP supports integration with OpenStack and Kubernetes. Network +management features include configuration, counters, sampling and +more. For developers, VPP includes plugin extensibility, +high-performance event-logging, and multiple kinds of packet +tracing. Development debug images include complete symbol tables, and +extensive consistency checking. + +Some VPP Use-cases include vSwitches, vRouters, Gateways, Firewalls +and Load Balancers, to name a few. Out of the box, VPP can work as a +software development kit or an appliance. + +For more details click on the links below or press next. .. toctree:: :maxdepth: 2 - overview/index + whatisvpp/index.rst gettingstarted/index links/index usecases/index diff --git a/docs/overview/features/controlplane.rst b/docs/overview/features/controlplane.rst deleted file mode 100644 index 849617ae4e6..00000000000 --- a/docs/overview/features/controlplane.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _cp: - -============= -Control Plane -============= - -This section identifies the features associated with Control Plane: - -* DHCP client/proxy - -* DHCPv6 Proxy - diff --git a/docs/overview/features/devices.rst b/docs/overview/features/devices.rst deleted file mode 100644 index f3ecd32c825..00000000000 --- a/docs/overview/features/devices.rst +++ /dev/null @@ -1,33 +0,0 @@ -.. _dev: - -======= -Devices -======= - -Hardware --------- -* `DPDK `_ - - * `Network Interfaces `_ - * `Cryptographic Devices `_ - -* `Open Data Plane `_ -* `Intel Ethernet Adaptive Virtual Function `_ - -Operating System ----------------- -* `Netmap `_ -* `af_packet `_ -* Tap V2 (FastTap) - -Virtualization: ---------------- -* SSVM -* Vhost / VirtIO - -Containers ----------- - -* Vhost-user -* MemIF - diff --git a/docs/overview/features/index.rst b/docs/overview/features/index.rst deleted file mode 100644 index dc825c4c2a9..00000000000 --- a/docs/overview/features/index.rst +++ /dev/null @@ -1,34 +0,0 @@ -.. _features: - -======== -Features -======== - -The table below identifies different features that are associated to VPP. To see more details about a specific feature, just click the hyperlink associated to the feature noted in the table below. - -.. rst-class:: center-align-table - -+-------------------------+-----------+-----------+ -| :ref:`sdn` | | | -+------------+------------+ :ref:`cp` | | -| | :ref:`l4` | | | -| +------------+-----------+ :ref:`pg` | -| :ref:`tun` | :ref:`l3` | | | -| +------------+ :ref:`tm` | | -| | :ref:`l2` | | | -+------------+------------+-----------+-----------+ -| :ref:`dev` | -+-------------------------------------------------+ - -.. toctree:: - :hidden: - - devices.rst - integrations.rst - trafficmanagement.rst - l2.rst - l3.rst - l4.rst - tunnels.rst - controlplane.rst - plugins.rst diff --git a/docs/overview/features/integrations.rst b/docs/overview/features/integrations.rst deleted file mode 100644 index 848e8648438..00000000000 --- a/docs/overview/features/integrations.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. _sdn: - -======================== -SDN & Cloud Integrations -======================== diff --git a/docs/overview/features/l2.rst b/docs/overview/features/l2.rst deleted file mode 100644 index 939afb7e8be..00000000000 --- a/docs/overview/features/l2.rst +++ /dev/null @@ -1,58 +0,0 @@ -.. _l2: - -======= -Layer 2 -======= - -This section identifies the features associated with Layer 2: - -MAC Layer ---------- -* Ethernet - -Discovery ---------- -* Cisco Discovery Protocol v2 (CDP) -* Link Layer Discovery Protocol (LLDP) - -Link Layer Control Protocol ---------------------------- -* Bit Index Explicit Replication – Link Layer Multi-cast forwarding. -* Link Layer Control (LLC) - multiplex protocols over the MAC layer. -* Spatial Reuse Protocol (SRP) -* High-Level Data Link Control (HDLC) -* Logical link control (LLC) -* Link Agg Control Protocol (Active/Active, Active/Passive) – 18.04 - -Virtual Private Networks ------------------------- -* MPLS - - * MPLS-o-Ethernet – Deep label stacks supported - -* Virtual Private LAN Service (VPLS) -* VLAN -* Q-in-Q -* Tag-rewrite (VTR) - push/pop/Translate (1:1,1:2, 2:1,2:2) -* Ethernet flow point Filtering -* Layer 2 Cross Connect - -Bridging ---------- -* Bridge Domains -* MAC Learning (50k addresses) -* Split-horizon group support -* Flooding - -ARP ---- -* Proxy -* Termination -* Bidirectional Forwarding Detection - -Integrated Routing and Bridging (IRB) -------------------------------------- -* Flexibility to both route and switch between groups of ports. -* Bridged Virtual Interface (BVI) Support, allows traffic switched traffic to be routed. - - diff --git a/docs/overview/features/l3.rst b/docs/overview/features/l3.rst deleted file mode 100644 index 57ae10ff208..00000000000 --- a/docs/overview/features/l3.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. _l3: - -======= -Layer 3 -======= - -This section identifies the features associated with Layer 3: - -IP Layer --------- -* ICMP -* IPv4 -* IPv6 -* IPSEC -* Link Local Addressing - -MultiCast ---------- -* Multicast FiB -* IGMP - -Virtual Routing and forwarding (VRF) ------------------------------------- -* VRF scaling, thousands of tables. -* Controlled cross-VRF lookups - -Multi-path ----------- -* Equal Cost Multi Path (ECMP) -* Unequal Cost Multi Path (UCMP) - -IPv4 ----- -* ARP -* ARP Proxy -* ARP Snooping - -IPv6 ----- -* Neighbour discovery (ND) -* ND Proxy -* Router Advertisement -* Segment Routing -* Distributed Virtual Routing Resolution - -Forwarding Information Base (FIB) ---------------------------------- - -* Hierarchical FIB -* Memory efficient -* Multi-million entry scalable -* Lockless/concurrent updates -* Recursive lookups -* Next hop failure detection -* Shared FIB adjacencies -* Multicast support -* MPLS support diff --git a/docs/overview/features/l4.rst b/docs/overview/features/l4.rst deleted file mode 100644 index 28e1df5f65d..00000000000 --- a/docs/overview/features/l4.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _l4: - -======= -Layer 4 -======= - -This section identifies the features associated with Layer 4: - -* Session: - - connectionless transports - - datagram reception and transmission -* TCP: congestion control -* UDP: datagram mode -* TLS async support diff --git a/docs/overview/features/plugins.rst b/docs/overview/features/plugins.rst deleted file mode 100644 index 0394a816cdb..00000000000 --- a/docs/overview/features/plugins.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. _pg: - -======= -Plugins -======= - -This section identifies the features associated with Plugins: - -* iOAM diff --git a/docs/overview/features/trafficmanagement.rst b/docs/overview/features/trafficmanagement.rst deleted file mode 100644 index e56af50a90e..00000000000 --- a/docs/overview/features/trafficmanagement.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. _tm: - -================== -Traffic Management -================== - -This section identifies the features associated with Traffic Management: - -IP Layer Input Checks ---------------------- -* Source Reverse Path Forwarding -* Time To Live expiration -* IP header checksum -* Layer 2 Length < IP Length - -Classifiers ------------ -* Multiple million Classifiers - Arbitrary N-tuple - -Policers --------- -* Colour Aware & Token Bucket -* Rounding Closest/Up/Down -* Limits in PPS/KBPS -* Types: - - * Single Rate Two Colour - * Single Rate Three Colour - * Dual Rate Three Colour - -* Action Triggers - - * Conform - * Exceed - * Violate - -* Actions Type - - * Drop - * Transmit - * Mark-and-transmit - -Switched Port Analyzer (SPAN) -* mirror traffic to another switch port - -ACLs ----- - * Stateful - * Stateless - -COP ---- - -MAC/IP Pairing --------------- -Security feature - diff --git a/docs/overview/features/tunnels.rst b/docs/overview/features/tunnels.rst deleted file mode 100644 index 0f2b2d23db0..00000000000 --- a/docs/overview/features/tunnels.rst +++ /dev/null @@ -1,34 +0,0 @@ -.. _tun: - -======= -Tunnels -======= - -This section identifies the features associated with Tunnels: - -Layer 2 -------- -* L2TP -* PPP -* VLAN - -Layer 3 -------- -* Mapping of Address and Port with Encapsulation (MAP-E) -* Lightweight IPv4 over IPv6 - - * An Extension to the Dual-Stack Lite Architecture - -* GENEVE -* VXLAN - -Segment Routing ---------------- -* IPv6 -* MPLS - -Generic Routing Encapsulation (GRE) -* GRE over IPSEC -* GRE over IP -* MPLS -* NSH diff --git a/docs/overview/index.rst b/docs/overview/index.rst deleted file mode 100644 index 8d1e434d848..00000000000 --- a/docs/overview/index.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. _overview: - -========== -Overview -========== - -This section discusses the following information: - -* What VPP is, what packet processing provides and the benefits VPP provides - - - -.. toctree:: - :maxdepth: 1 - - whatisvpp/index.rst - features/index.rst - performance/index.rst - supported.rst diff --git a/docs/overview/performance/current_ipv4_throughput.rst b/docs/overview/performance/current_ipv4_throughput.rst deleted file mode 100644 index 3a34da76ca0..00000000000 --- a/docs/overview/performance/current_ipv4_throughput.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _current_ipv4_throughput: - -.. toctree:: - -IPv4 Routed-Forwarding Performance Tests -**************************************** - -VPP NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented in the graph below. - -.. raw:: html - -