Soft Patch Panel
 help / color / mirror / Atom feed
From: ogawa.yasufumi@lab.ntt.co.jp
To: spp@dpdk.org, ferruh.yigit@intel.com, ogawa.yasufumi@lab.ntt.co.jp
Subject: [spp] [PATCH 01/20] docs: move design of SPP VF
Date: Mon, 18 Feb 2019 20:48:12 +0900	[thread overview]
Message-ID: <1550490511-31683-2-git-send-email-ogawa.yasufumi@lab.ntt.co.jp> (raw)
In-Reply-To: <1550490511-31683-1-git-send-email-ogawa.yasufumi@lab.ntt.co.jp>

From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>

To revise contents of docs, move design of chapter `SPP VF` to
`Design`.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/commands/secondary/spp_mirror.rst     |    6 +-
 docs/guides/commands/secondary/spp_vf.rst         |    4 +-
 docs/guides/design/spp_secondary.rst              |  159 +++
 docs/guides/images/spp_vf/spp_mirror_overview.svg | 1433 ---------------------
 docs/guides/spp_vf/design.rst                     |  140 --
 docs/guides/spp_vf/index.rst                      |    2 -
 docs/guides/spp_vf/overview.rst                   |  107 --
 7 files changed, 164 insertions(+), 1687 deletions(-)
 delete mode 100644 docs/guides/images/spp_vf/spp_mirror_overview.svg
 delete mode 100644 docs/guides/spp_vf/design.rst
 delete mode 100644 docs/guides/spp_vf/overview.rst

diff --git a/docs/guides/commands/secondary/spp_mirror.rst b/docs/guides/commands/secondary/spp_mirror.rst
index bb60f05..e92967a 100644
--- a/docs/guides/commands/secondary/spp_mirror.rst
+++ b/docs/guides/commands/secondary/spp_mirror.rst
@@ -199,8 +199,8 @@ by duplicating the packets.
     spp > mirror 2; port add vhost:1 tx mr1
 
 Adding port may cause component to start packet forwarding. Please see
-detail in
-:ref:`design spp_mirror<spp_vf_design_spp_mirror>`.
+details in
+:ref:`design spp_mirror<spp_design_spp_sec_mirror>`.
 
 Until one rx and two tx ports are registered, ``spp_mirror`` does not start
 forwarding. If it is requested to add more than one rx and two tx ports, it
@@ -230,7 +230,7 @@ Here is some examples.
 .. note::
 
   Deleting port may cause component to stop packet forwarding.
-  Please see detail in :ref:`design spp_mirror<spp_vf_design_spp_mirror>`.
+  Please see detail in :ref:`design spp_mirror<spp_design_spp_sec_mirror>`.
 
 exit
 ----
diff --git a/docs/guides/commands/secondary/spp_vf.rst b/docs/guides/commands/secondary/spp_vf.rst
index d31688e..7d63111 100644
--- a/docs/guides/commands/secondary/spp_vf.rst
+++ b/docs/guides/commands/secondary/spp_vf.rst
@@ -278,7 +278,7 @@ adds VLAN tag before sending packet outside.
 
 Adding port may cause component to start packet forwarding. Please see
 detail in
-:ref:`design spp_vf<spp_vf_design_spp_vf>`.
+:ref:`design spp_vf<spp_design_spp_sec_vf>`.
 
 Until one rx port and one tx port are added, forwarder does not start packet
 forwarding. If it is requested to add more than one rx and one tx port, it
@@ -315,7 +315,7 @@ Here is an example.
 .. note::
 
    Deleting port may cause component to stop packet forwarding.
-   Please see detail in :ref:`design spp_vf<spp_vf_design_spp_vf>`.
+   Please see detail in :ref:`design spp_vf<spp_design_spp_sec_vf>`.
 
 .. _commands_spp_vf_classifier_table:
 
diff --git a/docs/guides/design/spp_secondary.rst b/docs/guides/design/spp_secondary.rst
index a784e10..38c3d01 100644
--- a/docs/guides/design/spp_secondary.rst
+++ b/docs/guides/design/spp_secondary.rst
@@ -84,3 +84,162 @@ main thread accepts it.
    :width: 70%
 
    Main thread and worker thread in spp_nfv
+
+
+.. _spp_design_spp_sec_vf:
+
+spp_vf
+------
+
+``spp_vf`` provides a SR-IOV like network feature.
+
+``spp_vf`` forwards incoming packets to several destination VMs by referring
+MAC address like as a Virtual Function (VF) of SR-IOV.
+
+``spp_vf`` is a  multi-process and multi-thread application.
+Each of ``spp_vf`` has one manager thread and worker threads called as
+components.
+The manager thread provides a function for parsing a command and creating the
+components.
+The component threads have its own multiple components, ports and classifier
+tables including Virtual MAC address.
+There are three types of components, ``forwarder``,
+``merger`` and ``classifier``.
+
+This is an example of network configuration, in which one
+``classifier_mac``,
+one merger and four forwarders are running in ``spp_vf`` process
+for two destinations of vhost interface.
+Incoming packets from rx on host1 are sent to each of vhosts of VM
+by looking up destination MAC address in the packet.
+
+.. figure:: ../images/spp_vf/spp_vf_overview.*
+    :width: 72%
+
+    Classification of spp_vf for two VMs
+
+
+Forwarder
+^^^^^^^^^
+
+Simply forwards packets from rx to tx port.
+Forwarder does not start forwarding until when at least one rx and one tx are
+added.
+
+Merger
+^^^^^^
+
+Receives packets from multiple rx ports to aggregate
+packets and sends to a desctination port.
+Merger does not start forwarding until when at least two rx and one tx are
+added.
+
+Classifier
+^^^^^^^^^^
+
+Sends packets to multiple tx ports based on entries of
+MAC address and destination port in a classifier table.
+This component also supports VLAN tag.
+
+For VLAN addressing, classifier has other tables than defalut.
+Classifier prepares tables for each of VLAN ID and decides
+which of table is referred
+if TPID (Tag Protocol Indetifier) is included in a packet and
+equals to 0x8100 as defined in IEEE 802.1Q standard.
+Classifier does not start forwarding until when at least one rx and two tx
+are added.
+
+
+.. _spp_design_spp_sec_mirror:
+
+spp_mirror
+----------
+
+``spp_mirror`` is an implementation of
+`TaaS
+<https://docs.openstack.org/dragonflow/latest/specs/tap_as_a_service.html>`_
+as a SPP secondary process for port mirroring.
+TaaS stands for TAP as a Service.
+The keyword ``mirror`` means that it duplicates incoming packets and forwards
+to additional destination.
+
+Mirror
+^^^^^^
+
+``mirror`` component has one ``rx`` port and two ``tx`` ports. Incoming packets
+from ``rx`` port are duplicated and sent to each of ``tx`` ports.
+
+.. _figure_spp_mirror_design:
+
+.. figure:: ../images/spp_vf/spp_mirror_design.*
+    :width: 45%
+
+    Spp_mirror component
+
+In general, copying packet is time-consuming because it requires to make a new
+region on memory space. Considering to minimize impact for performance,
+``spp_mirror`` provides a choice of copying methods, ``shallowocopy`` or
+``deepcopy``.
+The difference between those methods is ``shallowocopy`` does not copy whole of
+packet data but share without header actually.
+``shallowcopy`` is to share mbuf between packets to get better performance
+than ``deepcopy``, but it should be used for read only for the packet.
+
+.. note::
+
+    ``shallowcopy`` calls ``rte_pktmbuf_clone()`` internally and
+    ``deepcopy`` create a new mbuf region.
+
+You should choose ``deepcopy`` if you use VLAN feature to make no change for
+original packet while copied packet is modified.
+
+
+.. _spp_design_spp_sec_pcap:
+
+spp_pcap
+--------
+
+SPP provides a connectivity between VM and NIC as a virtual patch panel.
+However, for more practical use, operator and/or developer needs to capture
+packets. For such use, spp_pcap provides packet capturing feature from
+specific port. It is aimed to capture up to 10Gbps packets.
+
+``spp_pcap`` is a SPP secondary process for capturing packets from specific
+``port``. :numref:`figure_spp_pcap_overview` shows an overview of use of
+``spp_pcap`` in which ``spp_pcap`` process receives packets from ``phy:0``
+for capturing.
+
+``spp_pcap`` provides packet capturing capability as a SPP secondary process.
+``spp_pcap`` has one manager thread like spp_vf, and has two types of worker
+threads unlike spp_vf.
+
+
+.. _figure_spp_pcap_overview:
+
+.. figure:: ../images/spp_vf/spp_pcap_overview.*
+   :width: 50%
+
+   Overview of spp_pcap
+
+``spp_pcap`` cosisits of main thread, ``receiver`` thread and one or more
+``wirter`` threads. As design policy, the number of ``receiver`` is fixed
+to 1 because to make it simple and it is enough for task of receiving.
+``spp_pcap`` requires at least three lcores, and assign to from master,
+``receiver`` and then the rest of ``writer`` threads respectively.
+
+Incoming packets are received by ``receiver`` thread and transferred to
+``writer`` threads via ring buffers between threads.
+
+Several ``writer`` work in parallel to store packets as files in LZ4
+format. You can capture a certain amount of heavy traffic by using much
+``writer`` threads.
+
+:numref:`figure_spp_pcap_design` shows an usecase of ``spp_pcap`` in which
+packets from ``phy:0`` are captured by using three ``writer`` threads.
+
+.. _figure_spp_pcap_design:
+
+.. figure:: ../images/spp_vf/spp_pcap_design.*
+    :width: 55%
+
+    spp_pcap internal structure
diff --git a/docs/guides/images/spp_vf/spp_mirror_overview.svg b/docs/guides/images/spp_vf/spp_mirror_overview.svg
deleted file mode 100644
index 9414fdf..0000000
--- a/docs/guides/images/spp_vf/spp_mirror_overview.svg
+++ /dev/null
@@ -1,1433 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="260mm"
-   height="185mm"
-   viewBox="0 0 921.25999 655.51182"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.91 r13725"
-   sodipodi:docname="spp_mirror_overview.svg">
-  <defs
-     id="defs4">
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker19529"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path19531" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker15913"
-       style="overflow:visible"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path15915"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker10517"
-       style="overflow:visible"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path10519"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5786"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path5788" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker6787"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path6789"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker6621"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path6623" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker6461"
-       style="overflow:visible"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path6463"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker6319"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path6321"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker6171"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path6173" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker6041"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path6043" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5905"
-       style="overflow:visible"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path5907"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5787"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5789"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5663"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path5665" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5545"
-       style="overflow:visible"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path5547"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5445"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5447"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5351"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5353"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5263"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5265"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5181"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5183"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5105"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5107"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5035"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5037"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker4971"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path4973"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4901"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4903" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4849"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4851" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4803"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4805" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4763"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4765" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker4673"
-       style="overflow:visible"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path4675"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4633"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4635" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lstart"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lstart"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path4250"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(1.1,0,0,1.1,1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5787-7"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5789-5"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5663-6"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path5665-2" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4849-0"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4851-9" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4849-0-6"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4851-9-0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker6621-2"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path6623-6" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5663-1"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend"
-       inkscape:collect="always">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path5665-8" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5787-0"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5789-2"
-         style="fill:#0000c8;fill-opacity:1;fill-rule:evenodd;stroke:#0000c8;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.7"
-     inkscape:cx="526.8054"
-     inkscape:cy="384.32605"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer9"
-     showgrid="false"
-     inkscape:window-width="1685"
-     inkscape:window-height="882"
-     inkscape:window-x="77"
-     inkscape:window-y="110"
-     inkscape:window-maximized="0" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Host"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0,-396.85038)">
-    <rect
-       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.16076422;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4136"
-       width="874.76562"
-       height="619.90771"
-       x="38.987026"
-       y="416.33774" />
-    <rect
-       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:0.88310295;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4218"
-       width="59.116898"
-       height="79.116898"
-       x="39.646317"
-       y="813.69037" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer12"
-     inkscape:label="Network"
-     transform="translate(0,17.716539)" />
-  <g
-     inkscape:groupmode="layer"
-     id="layer8"
-     inkscape:label="VM"
-     transform="translate(0,17.716539)">
-    <rect
-       style="opacity:1;fill:#eafdff;fill-opacity:1;stroke:#000000;stroke-width:1.03412473;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4548"
-       width="194.82837"
-       height="138.99298"
-       x="697.48883"
-       y="286.62894"
-       ry="0" />
-    <rect
-       style="opacity:1;fill:#eafdff;fill-opacity:1;stroke:#000000;stroke-width:1.06098545;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4550"
-       width="194.80276"
-       height="138.96742"
-       x="698.70312"
-       y="454.84845" />
-    <rect
-       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:1.21666884;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4552"
-       width="68.78334"
-       height="68.78334"
-       x="697.62036"
-       y="328.59973" />
-    <rect
-       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:1.17093265;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4554"
-       width="68.829086"
-       height="68.829079"
-       x="698.90717"
-       y="496.48553" />
-    <rect
-       style="opacity:1;fill:#eafdff;fill-opacity:1;stroke:#000000;stroke-width:1.14507902;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4548-9"
-       width="239.11613"
-       height="138.85497"
-       x="653.53564"
-       y="30.367794"
-       ry="0" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer3"
-     inkscape:label="Processes"
-     transform="translate(0,17.716539)">
-    <rect
-       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:2.11768031;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4174"
-       width="411.53824"
-       height="368.88412"
-       x="131.17735"
-       y="227.75409"
-       ry="21.405918" />
-    <rect
-       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:0.86535329;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4556"
-       width="78.088539"
-       height="63.050102"
-       x="798.37872"
-       y="332.40717"
-       ry="31.525051" />
-    <rect
-       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:1.28600001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4612"
-       width="77.14286"
-       height="54.285713"
-       x="800.28571"
-       y="513.50952"
-       ry="27.142857" />
-    <rect
-       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:1.02278769;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4556-2"
-       width="109.3597"
-       height="62.892681"
-       x="764.44849"
-       y="76.169632"
-       ry="31.446341" />
-    <rect
-       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:1.26175213;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4174-2"
-       width="332.19119"
-       height="162.23318"
-       x="130.66011"
-       y="46.107227"
-       ry="15.189577" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer4"
-     inkscape:label="Threads"
-     transform="translate(0,17.716539)">
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.08361697;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4534"
-       width="128.91641"
-       height="48.916386"
-       x="144.74155"
-       y="364.53329"
-       ry="24.458193" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.18673563;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4536"
-       width="128.81329"
-       height="48.813263"
-       x="140.73215"
-       y="463.6001"
-       ry="24.406631" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.11390722;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4538"
-       width="128.88611"
-       height="48.921562"
-       x="400.50293"
-       y="316.24387"
-       ry="22.773815" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.40811193;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4540"
-       width="128.5798"
-       height="48.638973"
-       x="400.65607"
-       y="387.75711"
-       ry="24.319487" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.19797981;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4542"
-       width="128.79857"
-       height="48.840809"
-       x="400.54669"
-       y="459.0282"
-       ry="24.420404" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.163082;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4544"
-       width="128.83492"
-       height="48.874329"
-       x="400.5285"
-       y="530.38336"
-       ry="24.437164" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.08361697;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4534-6"
-       width="128.91644"
-       height="48.916393"
-       x="170.68469"
-       y="116.19418"
-       ry="24.458197" />
-    <rect
-       style="opacity:1;fill:#fffdc4;fill-opacity:1;stroke:#000000;stroke-width:1.11390722;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4538-1"
-       width="128.88614"
-       height="48.92157"
-       x="400.02924"
-       y="242.73033"
-       ry="22.773819" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer7"
-     inkscape:label="DPDK-Resources"
-     transform="translate(0,17.716539)">
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:0.91584492;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4558"
-       cx="331.75546"
-       cy="341.86963"
-       rx="40.042084"
-       ry="19.542076" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.38332129;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4585"
-       cx="331.75562"
-       cy="413.12515"
-       rx="39.808346"
-       ry="19.308342" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.34181738;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4587"
-       cx="331.75562"
-       cy="484.38062"
-       rx="39.829098"
-       ry="19.329096" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.18107522;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4589"
-       cx="331.75562"
-       cy="555.63617"
-       rx="39.90947"
-       ry="19.409466" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.028548;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4591"
-       cx="615.28491"
-       cy="342.29538"
-       rx="43.985737"
-       ry="24.485731" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:0.91791457;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4593"
-       cx="615.85687"
-       cy="487.43823"
-       rx="44.04105"
-       ry="24.541048" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:0.91584492;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4558-3"
-       cx="368.85724"
-       cy="110.08095"
-       rx="40.042091"
-       ry="19.54208" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:0.91584492;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4558-3-6"
-       cx="368.00006"
-       cy="172.9381"
-       rx="40.042099"
-       ry="19.542084" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.028548;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4591-3"
-       cx="616.00012"
-       cy="399.50955"
-       rx="43.985744"
-       ry="24.485735" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.028548;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4591-3-6"
-       cx="616.00012"
-       cy="547.50958"
-       rx="43.985752"
-       ry="24.485739" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer11"
-     inkscape:label="Path"
-     transform="translate(0,17.716539)">
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4673)"
-       d="m 97.999997,414.65237 47.428573,-20"
-       id="path4623"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4633)"
-       d="M 139.71429,486.93809 97.999997,460.36666"
-       id="path4625"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4849)"
-       d="m 266.85714,373.2238 30,-22.85714"
-       id="path4713"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4803)"
-       d="m 269.71429,398.93808 22.85714,11.42858"
-       id="path4715"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5351)"
-       d="m 371.71429,413.2238 28.57142,0"
-       id="path4719"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5263)"
-       d="m 398.85714,483.2238 -27.14285,0"
-       id="path4721"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5181)"
-       d="m 402.28571,553.50951 -30,1.42858"
-       id="path4723"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4763)"
-       d="m 291.14286,484.65237 -22.85715,1.42857"
-       id="path4725"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4901)"
-       d="m 291.14286,551.79523 -30,-42.85714"
-       id="path4727"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5105)"
-       d="m 529.42857,341.50951 38.85714,-0.28571"
-       id="path4729"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4971)"
-       d="m 524.57143,424.65237 58,45.99999"
-       id="path4731"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5035)"
-       d="m 578.57143,411.79524 -54.85714,54.2857"
-       id="path4733"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5545)"
-       d="M 571.14286,548.08094 530,548.93809"
-       id="path4735"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5663)"
-       d="m 661.14286,342.65237 36.28571,0"
-       id="path4737"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6621)"
-       d="m 695.42857,377.50951 -34.28571,18"
-       id="path4739"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6319)"
-       d="m 659.71429,486.08094 37.71428,26"
-       id="path4741"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6461)"
-       d="m 699.42857,547.79523 -39.14286,0"
-       id="path4743"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5787)"
-       d="m 766,348.08094 31.42857,1.42857"
-       id="path4745"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5905)"
-       d="m 799.42857,379.2238 -31.42857,0"
-       id="path4747"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6041)"
-       d="m 767.42857,523.50951 32.85714,0"
-       id="path4749"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6171)"
-       d="m 803.71428,553.50952 -34.28571,-10e-6"
-       id="path4751"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker5663-6)"
-       d="m 603.13388,100.33612 46.28571,0"
-       id="path4737-0"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker5786)"
-       d="M 332.46712,323.19106 C 333.95667,200.23262 225.6988,294.05727 225.69551,167.62756"
-       id="path5778"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4849-0)"
-       d="m 296.92402,150.75332 33.13199,13.58958"
-       id="path4713-3"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker4849-0-6)"
-       d="m 298.34489,131.32767 31.13199,-14.41043"
-       id="path4713-3-6"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker10517)"
-       d="m 369.80215,191.89153 c -0.4245,62.70565 -6.10872,86.69137 35.37565,131.34014"
-       id="path10509"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker15913)"
-       d="m 525.36565,254.48038 c 23.79385,-23.59875 35.80283,-72.86224 34.38579,-122.10663"
-       id="path15905"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker19529)"
-       d="m 406.18795,118.1707 c 34.98079,25.29124 -1.59394,83.85895 33.51778,124.22846"
-       id="path20649"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5663-1)"
-       d="m -0.14272304,417.93813 38.28571304,0"
-       id="path4737-7"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6621-2)"
-       d="m 38.14299,458.79528 -36.2857117,0"
-       id="path4739-92"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker5787-0)"
-       d="m 722.46751,104.52397 41.42857,-0.57143"
-       id="path4745-3"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer2"
-     inkscape:label="Label-Host"
-     transform="translate(0,-396.85038)">
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="70.455467"
-       y="448.5798"
-       id="text4160"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4162"
-         x="70.455467"
-         y="448.5798">host</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="49.94928"
-       y="862.11847"
-       id="text4220"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4222"
-         x="49.94928"
-         y="862.11847">NIC</tspan></text>
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer10"
-     inkscape:label="Label-VM"
-     transform="translate(0,17.716539)">
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="712.57147"
-       y="370.65237"
-       id="text4596"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4598"
-         x="712.57147"
-         y="370.65237">NIC</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="710"
-       y="539.50952"
-       id="text4600"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4602"
-         x="710"
-         y="539.50952">NIC</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="706.85712"
-       y="482.36667"
-       id="text4604"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4606"
-         x="706.85712"
-         y="482.36667">VM2</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="705.42859"
-       y="314.93811"
-       id="text4608"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4610"
-         x="705.42859"
-         y="314.93811">VM1</tspan></text>
-    <rect
-       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:1.21666873;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="rect4552-1"
-       width="68.783356"
-       height="68.78334"
-       x="653.61139"
-       y="71.712051" />
-    <ellipse
-       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.12711251;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-       id="path4591-7"
-       cx="559.27594"
-       cy="100.97913"
-       rx="43.936462"
-       ry="29.436449" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="668.5625"
-       y="114.33612"
-       id="text4596-0"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4598-6"
-         x="668.5625"
-         y="114.33612">NIC</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="661.41962"
-       y="58.621857"
-       id="text4608-2"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4610-6"
-         x="661.41962"
-         y="58.621857">VM3</tspan></text>
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer5"
-     inkscape:label="Label-Processes"
-     transform="translate(0,17.716539)">
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="146.94424"
-       y="260.51596"
-       id="text4208"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4210"
-         x="146.94424"
-         y="260.51596">spp_vf</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="812.28571"
-       y="369.50952"
-       id="text4614"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4616"
-         x="812.28571"
-         y="369.50952">App1</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="812.28571"
-       y="546.08093"
-       id="text4618"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4620"
-         x="812.28571"
-         y="546.08093">App2</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="778.27673"
-       y="113.19327"
-       id="text4614-1"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4616-8"
-         x="778.27673"
-         y="113.19327">Monitor</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="152.66794"
-       y="78.74424"
-       id="text4208-0"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4210-2"
-         x="152.66794"
-         y="78.74424">spp_mirror</tspan></text>
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer6"
-     inkscape:label="Label-Threads"
-     transform="translate(0,17.716539)">
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="406.6297"
-       y="348.63785"
-       id="text4184"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4186"
-         x="406.6297"
-         y="348.63785">forwarder0</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="404.60938"
-       y="421.36884"
-       id="text4188"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4190"
-         x="404.60938"
-         y="421.36884">forwarder1</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="406.6297"
-       y="494.09982"
-       id="text4192"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4194"
-         x="406.6297"
-         y="494.09982">forwarder2</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="408.64984"
-       y="562.79022"
-       id="text4196"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4198"
-         x="408.64984"
-         y="562.79022">forwarde3</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="160.98486"
-       y="494.12006"
-       id="text4200"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4202"
-         x="160.98486"
-         y="494.12006">merger0</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="162.96454"
-       y="397.12512"
-       id="text4204"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4206"
-         x="162.96454"
-         y="397.12512">classifier</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="202.85202"
-       y="147.39758"
-       id="text4204-2"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4206-9"
-         x="202.85202"
-         y="147.39758">mirror</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="421.7359"
-       y="274.54684"
-       id="text4200-2"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4202-7"
-         x="421.7359"
-         y="274.54684">merger1</tspan></text>
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer9"
-     inkscape:label="Label-Resources"
-     transform="translate(0,17.716539)">
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="299.62445"
-       y="490.98001"
-       id="text4561"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4563"
-         x="299.62445"
-         y="490.98001">ring:2</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="300.80792"
-       y="418.14172"
-       id="text4565"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4567"
-         x="300.80792"
-         y="418.14172">ring:1</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="301.57806"
-       y="561.12506"
-       id="text4569"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4571"
-         x="301.57806"
-         y="561.12506">ring:3</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="300.16257"
-       y="348.63779"
-       id="text4573"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4575"
-         x="300.16257"
-         y="348.63779">ring:0</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="576.16406"
-       y="348.16635"
-       id="text4577"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4579"
-         x="576.16406"
-         y="348.16635">vhost:0</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="576.25977"
-       y="406.18378"
-       id="text4581"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4583"
-         x="576.25977"
-         y="406.18378">vhost:1</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="520.15509"
-       y="107.8501"
-       id="text4577-7"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4579-9"
-         x="520.15509"
-         y="107.8501">vhost:4</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="337.0242"
-       y="180.4696"
-       id="text4573-7"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4575-5"
-         x="337.0242"
-         y="180.4696">ring:5</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="338.73846"
-       y="117.04106"
-       id="text4573-7-3"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4575-5-5"
-         x="338.73846"
-         y="117.04106">ring:4</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="576.40454"
-       y="494.16687"
-       id="text4581-7"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4583-5"
-         x="576.40454"
-         y="494.16687">vhost:2</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.50000381px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="578.40454"
-       y="556.16687"
-       id="text4581-7-3"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4583-5-5"
-         x="578.40454"
-         y="556.16687">vhost:3</tspan></text>
-  </g>
-</svg>
diff --git a/docs/guides/spp_vf/design.rst b/docs/guides/spp_vf/design.rst
deleted file mode 100644
index b1e864a..0000000
--- a/docs/guides/spp_vf/design.rst
+++ /dev/null
@@ -1,140 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation
-
-.. _spp_vf_design:
-
-Design
-======
-
-.. _spp_vf_design_port:
-
-Ports
------
-
-Both of ``spp_vf`` and ``spp_mirror`` support three types of port,
-``phy``, ``ring`` and ``vhost``.
-``phy`` port is used to retrieve packets from specific physical NIC or sent to.
-``ring`` is basically used to connect a process or a thread to make a network
-path between them.
-``vhost`` is used to forward packets from a VM or sent to.
-
-
-.. _spp_vf_design_spp_vf:
-
-spp_vf
-------
-
-``spp_vf`` is a kind of secondary process and consists of several
-threads called component.
-There are three types of components, ``forwarder``,
-``merger`` and ``classifier``.
-
-.. figure:: ../images/spp_vf/spp_vf_overview.*
-    :width: 75%
-
-    SPP VF components
-
-Forwarder
-^^^^^^^^^
-
-Simply forwards packets from rx to tx port.
-Forwarder does not start forwarding until when at least one rx and one tx are
-added.
-
-Merger
-^^^^^^
-
-Receives packets from multiple rx ports to aggregate
-packets and sends to a desctination port.
-Merger does not start forwarding until when at least two rx and one tx are
-added.
-
-Classifier
-^^^^^^^^^^
-
-Sends packets to multiple tx ports based on entries of
-MAC address and destination port in a classifier table.
-This component also supports VLAN tag.
-
-For VLAN addressing, classifier has other tables than defalut.
-Classifier prepares tables for each of VLAN ID and decides
-which of table is referred
-if TPID (Tag Protocol Indetifier) is included in a packet and
-equals to 0x8100 as defined in IEEE 802.1Q standard.
-Classifier does not start forwarding until when at least one rx and two tx are
-added.
-
-
-.. _spp_vf_design_spp_mirror:
-
-spp_mirror
-----------
-
-``spp_mirror`` is another kind of secondary process. The keyword ``mirror``
-means that it duplicates incoming packets and forwards to additional
-destination.
-It supports only one type of component called ``mirror`` for duplicating.
-In :numref:`figure_spp_mirror_design`, incoming packets are duplicated with
-``mirror`` component and sent to original and additional destinations.
-
-.. _figure_spp_mirror_design:
-
-.. figure:: ../images/spp_vf/spp_mirror_design.*
-    :width: 45%
-
-    Spp_mirror component
-
-Mirror
-^^^^^^
-
-``mirror`` component has one ``rx`` port and two ``tx`` ports. Incoming packets
-from ``rx`` port are duplicated and sent to each of ``tx`` ports.
-
-In general, copying packet is time-consuming because it requires to make a new
-region on memory space. Considering to minimize impact for performance,
-``spp_mirror`` provides a choice of copying methods, ``shallowocopy`` or
-``deepcopy``.
-The difference between those methods is ``shallowocopy`` does not copy whole of
-packet data but share without header actually.
-``shallowcopy`` is to share mbuf between packets to get better performance
-than ``deepcopy``, but it should be used for read only for the packet.
-
-.. note::
-
-    ``shallowcopy`` calls ``rte_pktmbuf_clone()`` internally and
-    ``deepcopy`` create a new mbuf region.
-
-You should choose ``deepcopy`` if you use VLAN feature to make no change for
-original packet while copied packet is modified.
-
-
-.. _spp_vf_design_spp_pcap:
-
-spp_pcap
---------
-
-``spp_pcap`` cosisits of main thread, ``receiver`` thread and one or more
-``wirter`` threads. As design policy, the number of ``receiver`` is fixed
-to 1 because to make it simple and it is enough for task of receiving.
-``spp_pcap`` requires at least three lcores, and assign to from master,
-``receiver`` and then the rest of ``writer`` threads respectively.
-
-Incoming packets are received by ``receiver`` thread and transferred to
-``writer`` threads via ring buffers between threads.
-
-Several ``writer`` work in parallel to store packets as files in LZ4
-format. You can capture a certain amount of heavy traffic by using much
-``writer`` threads.
-
-:numref:`figure_spp_pcap_design` shows an usecase of ``spp_pcap`` in which
-packets from ``phy:0`` are captured by using three ``writer`` threads.
-
-.. _figure_spp_pcap_design:
-
-.. figure:: ../images/spp_vf/spp_pcap_design.*
-    :width: 55%
-
-    spp_pcap internal structure
-
-.. _spp_pcap_design_output_file_format:
-
diff --git a/docs/guides/spp_vf/index.rst b/docs/guides/spp_vf/index.rst
index c0ce125..e5b79ba 100644
--- a/docs/guides/spp_vf/index.rst
+++ b/docs/guides/spp_vf/index.rst
@@ -8,8 +8,6 @@ SPP VF
    :maxdepth: 2
    :numbered:
 
-   overview
-   design
    gsg/index
    use_cases/index
    explain/index
diff --git a/docs/guides/spp_vf/overview.rst b/docs/guides/spp_vf/overview.rst
deleted file mode 100644
index adaced6..0000000
--- a/docs/guides/spp_vf/overview.rst
+++ /dev/null
@@ -1,107 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2019 Nippon Telegraph and Telephone Corporation
-
-.. _spp_vf_overview:
-
-Overview
-========
-
-This section describes an overview of SPP's extensions, ``spp_vf`` , ``spp_mirror`` and ``spp_pcap``.
-SPP provides a connectivity between DPDK processes as a virtual patch panel.
-However, It is not sufficient considering more practical usecases.
-For instance, you might need a classification for incoming packets if you have
-multiple processes as destinations. You might also need to duplicate packets
-for monitoring or inspection.
-
-``spp_vf`` is a SPP secondary process for forwarding packets to multiple
-destination ports with a MAC address classification. It is also supported to
-merge from several source ports to aggregate packets to a destination port.
-
-``spp_mirror`` is an another kind of secondary process to duplicate incoming
-packets. This feature is intended to use as a
-`TaaS
-<https://docs.openstack.org/dragonflow/latest/specs/tap_as_a_service.html>`_
-feature for port mirroring introduced in OpenStack.
-
-``spp_pcap`` is an another kind of secondary process to capture incoming packets. This feature is intended to capture up to 10Gbps packets.
-
-
-spp_vf
-------
-
-``spp_vf`` provides a SR-IOV like network feature.
-
-``spp_vf`` forwards incoming packets to several destination VMs by referring
-MAC address like as a Virtual Function (VF) of SR-IOV.
-
-``spp_vf`` is a  multi-process and multi-thread application.
-Each of ``spp_vf`` has one manager thread and worker threads called as
-components.
-The manager thread provides a function for parsing a command and creating the
-components.
-The component threads have its own multiple components, ports and classifier
-tables including Virtual MAC address.
-
-This is an example of network configuration, in which one
-``classifier_mac``,
-one merger and four forwarders are running in ``spp_vf`` process
-for two destinations of vhost interface.
-Incoming packets from rx on host1 are sent to each of vhosts of VM
-by looking up destination MAC address in the packet.
-
-.. figure:: ../images/spp_vf/spp_vf_overview.*
-    :width: 70%
-
-    Overview of spp_vf
-
-
-spp_mirror
-----------
-
-``spp_mirror`` is an implementation of
-`TaaS
-<https://docs.openstack.org/dragonflow/latest/specs/tap_as_a_service.html>`_
-as a SPP secondary process for port mirroring.
-TaaS stands for TAP as a Service.
-
-``spp_mirror`` consists of one manager thread and worker threads as similar to
-``spp_vf``, but just one worker role for mirroring.
-:numref:`figure_spp_mirror_overview` shows an overview of use of ``spp_mirror``
-in which ``spp_mirror`` process receives packets from ``ring:0`` in ``spp_vf``
-for duplicating the packets for monitoring.
-Worker thread ``mirror`` has two of tx rings for forwaring the packets to the
-destination and a monitor application running on VM3.
-
-.. _figure_spp_mirror_overview:
-
-.. figure:: ../images/spp_vf/spp_mirror_overview.*
-   :width: 70%
-
-   Overview of spp_mirror
-
-
-spp_pcap
---------
-
-This section describes an overview of SPP's extensions, ``spp_pcap``.
-SPP provides a connectivity between VM and NIC as a virtual patch panel.
-However, for more practical use, operator and/or developer needs to capture
-packets. For such use, spp_pcap provides packet capturing feature from
-specific port. It is aimed to capture up to 10Gbps packets.
-
-``spp_pcap`` is a SPP secondary process for capturing packets from specific
-``port``. :numref:`figure_spp_pcap_overview` shows an overview of use of
-``spp_pcap`` in which ``spp_pcap`` process receives packets from ``phy:0``
-for capturing.
-
-``spp_pcap`` provides packet capturing capability as a SPP secondary process.
-``spp_pcap`` has one manager thread like spp_vf, and has two types of worker
-threads unlike spp_vf.
-
-
-.. _figure_spp_pcap_overview:
-
-.. figure:: ../images/spp_vf/spp_pcap_overview.*
-   :width: 50%
-
-   Overview of spp_pcap
-- 
2.7.4

  reply	other threads:[~2019-02-18 11:50 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-18 11:48 [spp] [PATCH 00/20] Remove SPP VF chapter in docs ogawa.yasufumi
2019-02-18 11:48 ` ogawa.yasufumi [this message]
2019-02-18 11:48 ` [spp] [PATCH 02/20] docs: divide getting started guide ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 03/20] docs: move libvirt setup to gsg ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 04/20] docs: move virsh setup section ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 05/20] docs: move package installation to gsg ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 06/20] docs: move descs of packet copy mode of spp_mirror ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 07/20] docs: move usecase of spp_vf ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 08/20] docs: update usecase of ssh with spp_vf ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 09/20] docs: update how to use for virsh ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 10/20] docs: update usecase of spp_mirror ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 11/20] docs: revise how to use and usecases ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 12/20] docs: move usecase of spp_pcap ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 13/20] docs: remove SPP VF ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 14/20] docs: move image of ICMP usecase of spp_vf ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 15/20] docs: revise labels of image of spp_vf usecase ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 16/20] docs: fix image of spp_mirror monitoring usecase ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 17/20] docs: move image of design of spp_vf ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 18/20] docs: move images of design of mirror and pcap ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 19/20] docs: move image of overview of spp_pcap ogawa.yasufumi
2019-02-18 11:48 ` [spp] [PATCH 20/20] docs: fix in image of spp_mirror monitor usecase ogawa.yasufumi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1550490511-31683-2-git-send-email-ogawa.yasufumi@lab.ntt.co.jp \
    --to=ogawa.yasufumi@lab.ntt.co.jp \
    --cc=ferruh.yigit@intel.com \
    --cc=spp@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).