Soft Patch Panel
 help / color / mirror / Atom feed
* [spp] [PATCH 01/28] docs: change doc structure to add spp_vf
@ 2018-02-05  2:38 ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 02/28] docs: add indexes for spp_vf ogawa.yasufumi
                   ` (20 more replies)
  0 siblings, 21 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:38 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Move documents to 'spp/' other than overview.rst and add 'spp_vf/'.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/index.rst           |  1 +
 docs/guides/spp_vf/index.rst    | 38 ++++++++++++++++++++++++++++++++++++++
 docs/guides/spp_vf/overview.rst | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+)
 create mode 100644 docs/guides/spp_vf/index.rst
 create mode 100644 docs/guides/spp_vf/overview.rst

diff --git a/docs/guides/index.rst b/docs/guides/index.rst
index fcc03f3..d0242d6 100644
--- a/docs/guides/index.rst
+++ b/docs/guides/index.rst
@@ -38,3 +38,4 @@ SPP documentation
    setup/index
    commands/index
    tools/index
+   spp_vf/index
diff --git a/docs/guides/spp_vf/index.rst b/docs/guides/spp_vf/index.rst
new file mode 100644
index 0000000..8fb66c1
--- /dev/null
+++ b/docs/guides/spp_vf/index.rst
@@ -0,0 +1,38 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Setup Guide
+===========
+
+.. toctree::
+   :maxdepth: 2
+   :numbered:
+
+   overview
diff --git a/docs/guides/spp_vf/overview.rst b/docs/guides/spp_vf/overview.rst
new file mode 100644
index 0000000..5e81656
--- /dev/null
+++ b/docs/guides/spp_vf/overview.rst
@@ -0,0 +1,37 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+SPP_VF
+==================
+
+Overview
+--------
+
+SPP_VF
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 02/28] docs: add indexes for spp_vf
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
@ 2018-02-05  2:38 ` ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 03/28] docs: add spp_vf overview ogawa.yasufumi
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:38 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/index.rst        | 32 ++++++++++++++++++++++++++++
 docs/guides/spp_vf/getting_started/index.rst | 32 ++++++++++++++++++++++++++++
 docs/guides/spp_vf/index.rst                 |  5 ++++-
 docs/guides/spp_vf/overview.rst              |  4 +---
 docs/guides/spp_vf/use_cases/index.rst       | 32 ++++++++++++++++++++++++++++
 5 files changed, 101 insertions(+), 4 deletions(-)
 create mode 100644 docs/guides/spp_vf/commands/index.rst
 create mode 100644 docs/guides/spp_vf/getting_started/index.rst
 create mode 100644 docs/guides/spp_vf/use_cases/index.rst

diff --git a/docs/guides/spp_vf/commands/index.rst b/docs/guides/spp_vf/commands/index.rst
new file mode 100644
index 0000000..42a4694
--- /dev/null
+++ b/docs/guides/spp_vf/commands/index.rst
@@ -0,0 +1,32 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+SPP VF Commands
+===============
diff --git a/docs/guides/spp_vf/getting_started/index.rst b/docs/guides/spp_vf/getting_started/index.rst
new file mode 100644
index 0000000..f8b1783
--- /dev/null
+++ b/docs/guides/spp_vf/getting_started/index.rst
@@ -0,0 +1,32 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Getting Started
+===============
diff --git a/docs/guides/spp_vf/index.rst b/docs/guides/spp_vf/index.rst
index 8fb66c1..83d2daa 100644
--- a/docs/guides/spp_vf/index.rst
+++ b/docs/guides/spp_vf/index.rst
@@ -28,7 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-Setup Guide
+SPP VF
 ===========
 
 .. toctree::
@@ -36,3 +36,6 @@ Setup Guide
    :numbered:
 
    overview
+   getting_started/index
+   use_cases/index
+   commands/index
diff --git a/docs/guides/spp_vf/overview.rst b/docs/guides/spp_vf/overview.rst
index 5e81656..e6f83ea 100644
--- a/docs/guides/spp_vf/overview.rst
+++ b/docs/guides/spp_vf/overview.rst
@@ -28,10 +28,8 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-SPP_VF
-==================
 
 Overview
---------
+========
 
 SPP_VF
diff --git a/docs/guides/spp_vf/use_cases/index.rst b/docs/guides/spp_vf/use_cases/index.rst
new file mode 100644
index 0000000..ba8c582
--- /dev/null
+++ b/docs/guides/spp_vf/use_cases/index.rst
@@ -0,0 +1,32 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Use Cases
+=========
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 03/28] docs: add spp_vf overview
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 02/28] docs: add indexes for spp_vf ogawa.yasufumi
@ 2018-02-05  2:38 ` ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 04/28] docs: add spp_vf design section ogawa.yasufumi
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:38 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 .../spp_vf/{getting_started => gsg}/index.rst      |    0
 docs/guides/spp_vf/images/spp_vf_overview.svg      | 1944 ++++++++++++++++++++
 docs/guides/spp_vf/overview.rst                    |   26 +-
 3 files changed, 1969 insertions(+), 1 deletion(-)
 rename docs/guides/spp_vf/{getting_started => gsg}/index.rst (100%)
 create mode 100644 docs/guides/spp_vf/images/spp_vf_overview.svg

diff --git a/docs/guides/spp_vf/getting_started/index.rst b/docs/guides/spp_vf/gsg/index.rst
similarity index 100%
rename from docs/guides/spp_vf/getting_started/index.rst
rename to docs/guides/spp_vf/gsg/index.rst
diff --git a/docs/guides/spp_vf/images/spp_vf_overview.svg b/docs/guides/spp_vf/images/spp_vf_overview.svg
new file mode 100644
index 0000000..3b1ae68
--- /dev/null
+++ b/docs/guides/spp_vf/images/spp_vf_overview.svg
@@ -0,0 +1,1944 @@
+<?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="172.52679mm"
+   height="120.57605mm"
+   viewBox="0 0 172.52679 120.57605"
+   version="1.1"
+   id="svg4746"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="spp_vf_overview.svg">
+  <defs
+     id="defs4740">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker6296"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path6294" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1654"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1652"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="SquareL"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1432"
+         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1383"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker9343"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path9341"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1359"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker4626"
+       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="path4624" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3618"
+       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="path3616" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1780"
+       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="path1778" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1604"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1362"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker6489"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path6487"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker8593"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8591"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker8169"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8167"
+         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="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker7739"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path7737"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5589"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker6959"
+       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="path6957" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker6583"
+       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="path6581" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker6219"
+       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="path6217" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker5849"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5586"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.8,0,0,0.8,10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2605"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2603"
+         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="marker2218"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path2216"
+         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="marker1864"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1862"
+         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="marker1516"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1514"
+         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="marker1632"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1630"
+         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="marker1626"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1624"
+         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="marker1620"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1618"
+         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="marker1614"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1612"
+         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="marker1608"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1606"
+         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="marker1560"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1558"
+         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="marker1552"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1550"
+         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="marker4611"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path4609"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker26660"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         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="path26658"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker24654"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <path
+         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="path24652"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23978"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path23976"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23136"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path23134"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <path
+         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="path22958"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path14791"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker13092"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path13090"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker12910"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path12908"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker12568"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path12566"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5180"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path5178"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4816"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4814"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4057"
+         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="Arrow1Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5293"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
+         transform="matrix(0.8,0,0,0.8,10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-4"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059-8"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4057-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-6"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-3"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-6-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-3-4"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-5"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-8"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059-8-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4057-0-9"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059-8-1-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4057-0-9-1"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0-3"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1-7-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0-0-8"
+         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)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5180-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path5178-1" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5180-9-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path5178-1-4" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lstart-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1110-1"
+         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)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-9"
+       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="path14791-9" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-5"
+       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="path14791-0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1"
+       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="path14791-4" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-6" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1560-3"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1558-3"
+         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)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-61" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-5-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-6-8" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1-4"
+       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="path14791-4-5" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-60" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1-9"
+       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="path14791-4-1" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1-9-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:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path14791-4-1-5" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-9-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-60-6" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.9899495"
+     inkscape:cx="56.883497"
+     inkscape:cy="223.84187"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="851"
+     inkscape:window-x="0"
+     inkscape:window-y="1"
+     inkscape:window-maximized="1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     viewbox-x="0"
+     scale-x="1"
+     inkscape:object-paths="false"
+     inkscape:object-nodes="false" />
+  <metadata
+     id="metadata4743">
+    <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"
+     style="display:inline;opacity:0.98999999"
+     transform="translate(22.342263,-42.641668)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.3065601;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect5291"
+       width="133.51352"
+       height="83.053703"
+       x="16.513613"
+       y="43.498409"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="17.927746"
+       y="48.597805"
+       id="text5577"><tspan
+         sodipodi:role="line"
+         id="tspan5575"
+         x="17.927746"
+         y="48.597805"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">host1</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot5610"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       transform="scale(0.26458333)"><flowRegion
+         id="flowRegion5612"><rect
+           id="rect5614"
+           width="12.857142"
+           height="94.285713"
+           x="147.14285"
+           y="89.662544" /></flowRegion><flowPara
+         id="flowPara5616" /></flowRoot>    <rect
+       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11811945;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139-1-3"
+       width="9.2134848"
+       height="16.567875"
+       x="16.552696"
+       y="78.300049" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="17.677307"
+       y="87.313164"
+       id="text2024-9-4-2"><tspan
+         sodipodi:role="line"
+         id="tspan1471"
+         x="17.677307"
+         y="87.313164"
+         style="stroke-width:0.19843748">NIC</tspan></text>
+    <rect
+       style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.13039371;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect5291-3"
+       width="67.19873"
+       height="29.854179"
+       x="15.828302"
+       y="133.1078"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.19843748"
+       x="17.12682"
+       y="138.31961"
+       id="text5577-4"><tspan
+         sodipodi:role="line"
+         id="tspan29058"
+         x="17.12682"
+         y="138.31961"
+         style="stroke-width:0.19843748">host2</tspan></text>
+    <rect
+       style="display:inline;opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.10644353;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139-1-3-3"
+       width="9.2388563"
+       height="13.417394"
+       x="15.90917"
+       y="141.81644" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.19843748"
+       x="16.710455"
+       y="149.19623"
+       id="text2024-9-4-2-1"><tspan
+         sodipodi:role="line"
+         id="tspan3496"
+         x="16.710455"
+         y="149.19623"
+         style="stroke-width:0.19843748">NIC</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.2295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6219)"
+       d="m -8.6649471,115.81761 c 0,0 2.429464,-24.597571 25.0354661,-33.266048"
+       id="path29105"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.1579186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m -0.09414816,115.70324 c 0,0 1.61663996,-17.511419 16.65936316,-23.682657"
+       id="path29105-6"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.17807341px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker8593)"
+       d="m -0.68301513,127.63222 c 0,0 1.39932195,16.54751 16.45012913,17.35664"
+       id="path3498"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.23871794px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -7.2736641,129.63943 c 0,0 1.97461,21.07376 23.2130541,22.10422"
+       id="path3498-4"
+       inkscape:connector-curvature="0" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.27899998;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4847"
+       cx="1.7476341"
+       cy="113.32741"
+       rx="8.6951685"
+       ry="5.9868374" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4849"
+       cx="-12.044732"
+       cy="122.60995"
+       rx="9.9780626"
+       ry="6.6995554" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4851"
+       cx="-9.7984133"
+       cy="112.18707"
+       rx="8.2675371"
+       ry="6.8420997" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4853"
+       cx="4.8835964"
+       cy="119.1717"
+       rx="9.5504313"
+       ry="7.269731" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4855"
+       cx="-7.9453392"
+       cy="130.14757"
+       rx="8.1249933"
+       ry="7.1271873" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4857"
+       cx="1.0349127"
+       cy="129.14975"
+       rx="8.5526247"
+       ry="6.4144688" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-14.074727"
+       y="121.59496"
+       id="text4859"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4861"
+         x="-14.074727"
+         y="121.59496">network</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="spp_vf_process"
+     style="display:inline"
+     transform="translate(22.342263,-42.641668)">
+    <rect
+       style="fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.20625183;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1763"
+       width="67.423866"
+       height="63.660942"
+       x="28.270718"
+       y="56.240303"
+       ry="3.3188167" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="31.534889"
+       y="61.07103"
+       id="text1767"><tspan
+         sodipodi:role="line"
+         id="tspan1765"
+         x="31.534889"
+         y="61.07103"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">spp_vf</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="guests"
+     style="display:inline"
+     transform="translate(22.342263,-42.641668)">
+    <rect
+       style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.17461418;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect2020"
+       width="28.352047"
+       height="33.515587"
+       x="118.85268"
+       y="48.505085"
+       ry="2.7929652" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.69781"
+       y="56.421913"
+       id="text2024"><tspan
+         sodipodi:role="line"
+         id="tspan2022"
+         x="119.69781"
+         y="56.421913"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">guest vm1</tspan></text>
+    <rect
+       style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.17601651;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect2020-5"
+       width="28.62668"
+       height="33.729359"
+       x="118.56235"
+       y="88.59964"
+       ry="2.8107796" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.40305"
+       y="93.332886"
+       id="text2024-5"><tspan
+         sodipodi:role="line"
+         id="tspan2202"
+         x="119.40305"
+         y="93.332886"
+         style="stroke-width:0.19843748">guest vm2</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11156943;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139"
+       width="10.349"
+       height="13.159518"
+       x="118.85532"
+       y="62.9557" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.4705"
+       y="70.884201"
+       id="text2024-9"><tspan
+         sodipodi:role="line"
+         id="tspan1504"
+         x="119.4705"
+         y="70.884201"
+         style="stroke-width:0.19843748">vNIC</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11284375;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139-1"
+       width="10.353926"
+       height="13.455435"
+       x="118.52364"
+       y="99.103775" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.14127"
+       y="106.98555"
+       id="text2024-9-4"><tspan
+         sodipodi:role="line"
+         id="tspan1502"
+         x="119.14127"
+         y="106.98555"
+         style="stroke-width:0.19843748">vNIC</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="spp_vf_threads"
+     style="display:inline;opacity:0.98999999"
+     transform="translate(22.342263,-42.641668)">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6296);stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 100.80696,76.449807 C 92.088084,96.087573 92.088084,96.087573 92.088084,96.087573"
+       id="path6286"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="m 89.320737,76.353127 c 9.452951,19.668818 9.452951,19.668818 9.452951,19.668818"
+       id="path6138"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1780)"
+       d="m 25.766181,78.300049 5.164281,-5.567772"
+       id="path4812"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#d7f4e3;fill-opacity:1;stroke:none;stroke-width:0.19843748"
+       x="56.913864"
+       y="66.465256"
+       id="text16968"><tspan
+         sodipodi:role="line"
+         id="tspan16966"
+         x="56.913864"
+         y="66.465256"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#d7f4e3;stroke-width:0.19843748">ring</tspan></text>
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.13431512;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769"
+       width="21.297846"
+       height="5.9898095"
+       x="30.552704"
+       y="67.062508"
+       ry="1.3525398" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="33.065685"
+       y="71.049599"
+       id="text1773"><tspan
+         sodipodi:role="line"
+         id="tspan1461"
+         x="33.065685"
+         y="71.049599"
+         style="stroke-width:0.19843748">classifier</tspan></text>
+    <g
+       id="g1969-0"
+       transform="matrix(0.74487285,0,0,2.6794736,5.5667349,-232.75776)"
+       style="fill:#dedbe3">
+      <rect
+         ry="1.8106976"
+         y="122.52335"
+         x="124.54029"
+         height="8.0187912"
+         width="18.980101"
+         id="rect1769-3-2-7-7"
+         style="fill:#eef4d7;stroke:#000000;stroke-width:0.14670815;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.21267372"
+       x="107.68398"
+       y="99.856544"
+       id="text1773-6-6-5-2-7"
+       transform="scale(0.93214046,1.0727997)"><tspan
+         y="99.856544"
+         x="107.68398"
+         sodipodi:role="line"
+         id="tspan1964-1-7"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267372">vhost</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793)"
+       d="m 112.38085,66.046195 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960)"
+       d="m 112.47118,108.69207 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker26660)"
+       d="M 35.08879,104.73064 25.534813,95.139839"
+       id="path26650"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1)"
+       d="m 112.11808,102.39221 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-5)"
+       d="m 112.7259,72.352919 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-7"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1560)"
+       d="m 91.74648,62.375041 c 6.66183,0 6.66183,0 6.66183,0"
+       id="path1556"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.23020414;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-7)"
+       d="m 92.70317,113.68427 c 5.68154,0 5.68154,0 5.68154,0"
+       id="path14783-8-2"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2218)"
+       d="m 71.365131,98.43499 c -21.806219,6.92139 -21.806219,6.92139 -21.806219,6.92139"
+       id="path2208"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2605)"
+       d="M 71.648601,114.47803 C 49.558912,106.19594 49.558912,106.19594 49.558912,106.19594"
+       id="path2595"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.12518337;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-3"
+       width="18.472155"
+       height="5.9989409"
+       x="31.086758"
+       y="102.57824"
+       ry="1.3546017" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="33.207432"
+       y="106.17302"
+       id="text1773-6"><tspan
+         sodipodi:role="line"
+         id="tspan1463"
+         x="33.207432"
+         y="106.17302"
+         style="stroke-width:0.19843748">merger</tspan></text>
+    <g
+       id="g2295"
+       transform="matrix(0.75,0,0,0.75,-8.8329671,40.613879)">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.75,0,0,0.75,-8.6426321,76.494617)"
+       style="display:inline"
+       id="g2295-3">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2-4"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6-0"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024-5"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.75,0,0,0.75,-8.8127251,55.913811)"
+       style="display:inline"
+       id="g2295-5">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2-2"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6-6"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024-9"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.75,0,0,0.75,-8.3591551,92.140786)"
+       style="display:inline"
+       id="g2295-0">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2-8"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6-8"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024-96"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       style="display:inline"
+       id="g1263-1"
+       transform="matrix(0.75,0,0,0.75,-8.4326281,-1.356976)">
+      <g
+         id="g2377-5-42-1"
+         style="display:inline;fill:#eef4d7"
+         transform="translate(-6.7279778,-3.9309553)">
+        <ellipse
+           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path1780-3-7-12-8-5"
+           cx="100.0881"
+           cy="141.425"
+           rx="6.5516987"
+           ry="3.1499126"
+           inkscape:transform-center-x="13.229167"
+           inkscape:transform-center-y="-59.720238" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+           x="102.67519"
+           y="132.96213"
+           id="text1773-6-6-5-2-7-4-3-60-6"
+           transform="scale(0.93214046,1.0727997)"><tspan
+             sodipodi:role="line"
+             id="tspan2372-8-0-1"
+             x="102.67519"
+             y="132.96213">ring</tspan></text>
+      </g>
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-4-2-8"
+         y="129.157"
+         x="95.700722"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="129.157"
+           x="95.700722"
+           id="tspan2372-2-3-6"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <g
+       style="display:inline"
+       id="g1263-52"
+       transform="matrix(0.75,0,0,0.75,-8.4326281,7.2608817)">
+      <g
+         id="g2377-5-42-19"
+         style="display:inline;fill:#eef4d7"
+         transform="translate(-6.7279778,-3.9309553)">
+        <ellipse
+           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path1780-3-7-12-8-0"
+           cx="100.0881"
+           cy="141.425"
+           rx="6.5516987"
+           ry="3.1499126"
+           inkscape:transform-center-x="13.229167"
+           inkscape:transform-center-y="-59.720238" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+           x="102.67519"
+           y="132.96213"
+           id="text1773-6-6-5-2-7-4-3-60-0"
+           transform="scale(0.93214046,1.0727997)"><tspan
+             sodipodi:role="line"
+             id="tspan2372-8-0-3"
+             x="102.67519"
+             y="132.96213">ring</tspan></text>
+      </g>
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-4-2-0"
+         y="129.157"
+         x="95.700722"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="129.157"
+           x="95.700722"
+           id="tspan2372-2-3-8"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <rect
+       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.25501901;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-5"
+       width="39.860424"
+       height="11.537248"
+       x="32.144726"
+       y="141.47868"
+       ry="2.6051891" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:3.88410258px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.09710257px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="39.476479"
+       y="139.37953"
+       id="text237"
+       transform="scale(0.93752888,1.0666338)"><tspan
+         sodipodi:role="line"
+         id="tspan235"
+         x="39.476479"
+         y="139.37953"
+         style="stroke-width:0.09710257px">traffic generator</tspan></text>
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-5-6)"
+       d="m 25.530253,151.42019 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-7-9"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-4)"
+       d="m 25.464472,144.88242 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87-8"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.11807317;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-5-6-3"
+       width="10.223983"
+       height="9.6423111"
+       x="135.23622"
+       y="100.41351"
+       ry="2.1772995" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267371"
+       x="145.62817"
+       y="99.263878"
+       id="text1773-6-6-5-2-7-8"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         y="99.263878"
+         x="145.62817"
+         sodipodi:role="line"
+         id="tspan1964-1-7-0"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267371">app2</tspan></text>
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-9)"
+       d="m 129.07059,107.59371 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-5"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-9)"
+       d="m 128.71749,103.67511 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87-5"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.11807317;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-5-6-3-4"
+       width="10.223983"
+       height="9.6423111"
+       x="135.76675"
+       y="63.378746"
+       ry="2.1772995" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267371"
+       x="146.19733"
+       y="64.742287"
+       id="text1773-6-6-5-2-7-8-7"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         y="64.742287"
+         x="146.19733"
+         sodipodi:role="line"
+         id="tspan1964-1-7-0-4"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267371">app1</tspan></text>
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-9-7)"
+       d="m 129.60112,70.558963 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-5-3"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-9-6)"
+       d="m 129.24802,66.640363 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87-5-1"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g1969"
+       transform="matrix(0.74487285,0,0,2.6794736,5.8732829,-268.99875)"
+       style="fill:#eef4d7">
+      <rect
+         ry="1.8106976"
+         y="122.52335"
+         x="124.54029"
+         height="8.0187912"
+         width="18.980101"
+         id="rect1769-3-2-7"
+         style="fill:#eef4d7;stroke:#000000;stroke-width:0.14670815;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.21267372"
+       x="108.31697"
+       y="65.916351"
+       id="text1773-6-6-5-2"
+       transform="scale(0.93214046,1.0727997)"><tspan
+         y="65.916351"
+         x="108.31697"
+         sodipodi:role="line"
+         id="tspan1964-1"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267372">vhost</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3618)"
+       d="M 51.850549,69.877318 C 71.174813,62.195833 71.174813,62.195833 71.174813,62.195833"
+       id="path3608"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4626)"
+       d="m 51.850549,69.708341 c 19.344505,7.616675 19.344505,7.616675 19.344505,7.616675"
+       id="path4616"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g1263"
+       transform="matrix(0.75,0,0,0.75,-8.8329671,-36.965737)">
+      <g
+         id="g2377-5-42"
+         style="display:inline;fill:#eef4d7"
+         transform="translate(-6.7279778,-3.9309553)">
+        <ellipse
+           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path1780-3-7-12-8"
+           cx="100.0881"
+           cy="141.425"
+           rx="6.5516987"
+           ry="3.1499126"
+           inkscape:transform-center-x="13.229167"
+           inkscape:transform-center-y="-59.720238" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+           x="102.67519"
+           y="132.96213"
+           id="text1773-6-6-5-2-7-4-3-60"
+           transform="scale(0.93214046,1.0727997)"><tspan
+             sodipodi:role="line"
+             id="tspan2372-8-0"
+             x="102.67519"
+             y="132.96213">ring</tspan></text>
+      </g>
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-4-2"
+         y="129.157"
+         x="95.700722"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="129.157"
+           x="95.700722"
+           id="tspan2372-2-3"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <g
+       style="display:inline"
+       id="g1263-5"
+       transform="matrix(0.75,0,0,0.75,-8.5494851,-29.425109)">
+      <g
+         id="g2377-5-42-7"
+         style="display:inline;fill:#eef4d7"
+         transform="translate(-6.7279778,-3.9309553)">
+        <ellipse
+           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path1780-3-7-12-8-4"
+           cx="100.0881"
+           cy="141.425"
+           rx="6.5516987"
+           ry="3.1499126"
+           inkscape:transform-center-x="13.229167"
+           inkscape:transform-center-y="-59.720238" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+           x="102.67519"
+           y="132.96213"
+           id="text1773-6-6-5-2-7-4-3-60-1"
+           transform="scale(0.93214046,1.0727997)"><tspan
+             sodipodi:role="line"
+             id="tspan2372-8-0-0"
+             x="102.67519"
+             y="132.96213">ring</tspan></text>
+      </g>
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-4-2-6"
+         y="129.157"
+         x="95.700722"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="129.157"
+           x="95.700722"
+           id="tspan2372-2-3-9"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/docs/guides/spp_vf/overview.rst b/docs/guides/spp_vf/overview.rst
index e6f83ea..f1a1714 100644
--- a/docs/guides/spp_vf/overview.rst
+++ b/docs/guides/spp_vf/overview.rst
@@ -32,4 +32,28 @@
 Overview
 ========
 
-SPP_VF
+SPP_VF provides SR-IOV like network functionality using DPDK for NFV.
+
+PP_VF distributes incoming packets to VMs with referring to virtual
+MAC address like Virtual Function(VF) of SR-IOV.
+Virtual MAC address can be defined by commands from spp
+controller(``spp_vf.py``).
+
+SPP_VF is multi-process and multi-thread applications. A SPP_VF process
+is referred to as ``spp_vf`` in this document. Each ``spp_vf`` has
+one manager thread and component threads. The manager thread provides
+function for command processing and creating the component threads.
+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.
+
+.. image:: images/spp_vf_overview.svg
+   :height: 550 em
+   :width: 550 em
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 04/28] docs: add spp_vf design section
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 02/28] docs: add indexes for spp_vf ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 03/28] docs: add spp_vf overview ogawa.yasufumi
@ 2018-02-05  2:38 ` ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 05/28] docs: add spp_vf gsg section ogawa.yasufumi
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:38 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/design.rst | 88 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)
 create mode 100644 docs/guides/spp_vf/design.rst

diff --git a/docs/guides/spp_vf/design.rst b/docs/guides/spp_vf/design.rst
new file mode 100644
index 0000000..fffaeb4
--- /dev/null
+++ b/docs/guides/spp_vf/design.rst
@@ -0,0 +1,88 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Design
+======
+
+Components
+----------
+
+``spp_vf`` supports three types of components, ``forwarder``,
+``merger`` and ``classifier``.
+
+.. image:: images/spp_vf_overview.svg
+   :height: 550 em
+   :width: 550 em
+
+Forwarder
+~~~~~~~~~
+
+This component provides function for packet processing from one port
+to one port.
+Incoming packets from port are to be transferred to specific one port.
+The direction of this transferring is specified by ``port`` command.
+The concept of port is described later of this section.
+
+Merger
+~~~~~~
+
+This component provides packet forwarding function from multiple ports
+to one port.
+Incoming packets from multiple ports are to be transferred to one
+specific port.
+The flow of this merging process is specified by `port` command.
+
+Classifier
+~~~~~~~~~~
+
+This component provides packet forwarding function from one port to
+one port.
+Classifier has table of virtual MAC address(A). According to this table,
+classifier lookups L2 destination MAC address and determines which port
+to be transferred to incoming packets.
+This component also supports vlan-tag(TPID:0x8100), and has the virtual
+MAC tables for each VID(B). If the TPID of incoming packet equals
+0x8100,
+then lookup these tables(B) and determines which port to be transferred.
+Otherwise, incoming packet is transferred according to table(A).
+
+
+Ports
+-----
+
+``spp_vf`` supports three types of PMDs, ``phy`` (Physical NIC),
+``ring`` (Ring PMD) and ``vhost`` (vhsot PMD).
+Using ``phy`` port, component can get incoming packets from outside host
+and transfer the packet to specific physical NIC.
+Using ``ring`` port, variety of combination of components can be
+configured.
+And through ``vhost`` port component can transfer packets from/to VMs.
+``port`` can also control vlan tagging and untagging.
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 05/28] docs: add spp_vf gsg section
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (2 preceding siblings ...)
  2018-02-05  2:38 ` [spp] [PATCH 04/28] docs: add spp_vf design section ogawa.yasufumi
@ 2018-02-05  2:38 ` ogawa.yasufumi
  2018-02-05  2:38 ` [spp] [PATCH 06/28] docs: add spp_vf explanation section ogawa.yasufumi
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:38 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/gsg/build.rst     | 296 +++++++++++++++++++++++++++++++++++
 docs/guides/spp_vf/gsg/howto_use.rst | 158 +++++++++++++++++++
 docs/guides/spp_vf/gsg/index.rst     |   6 +
 docs/guides/spp_vf/index.rst         |   4 +-
 4 files changed, 463 insertions(+), 1 deletion(-)
 create mode 100644 docs/guides/spp_vf/gsg/build.rst
 create mode 100644 docs/guides/spp_vf/gsg/howto_use.rst

diff --git a/docs/guides/spp_vf/gsg/build.rst b/docs/guides/spp_vf/gsg/build.rst
new file mode 100644
index 0000000..f363430
--- /dev/null
+++ b/docs/guides/spp_vf/gsg/build.rst
@@ -0,0 +1,296 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Build
+=====
+
+Environment
+-----------
+
+* Ubuntu 16.04
+* qemu-kvm 2.7 or later
+* DPDK v17.11 or later
+
+
+Edit Config
+-----------
+
+Uncomment user and group in ``/etc/libvirt/qemu.conf``.
+
+.. code-block:: console
+
+    # /etc/libvirt/qemu.conf
+
+    user = "root"
+    group = "root"
+
+Change ``KVM_HUGEPAGES`` from 0 to 1 in ``/etc/default/qemu-kvm``.
+
+.. code-block:: console
+
+    # /etc/default/qemu-kvm
+
+    KVM_HUGEPAGES=1
+
+Change grub config for hugepages and isolcpus.
+
+.. code-block:: c
+
+    # /etc/default/grub
+
+    GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2,4,6,8,10,12-18,20,22,24,26-42,44,46 hugepagesz=1G hugepages=36 default_hugepagesz=1G"
+
+For hugepages, isolcpus, refer to the dpdk documentation below.
+
+* `Use of Hugepages in the Linux Environment <http://dpdk.org/doc/guides/linux_gsg/sys_reqs.html#running-dpdk-applications>`_
+* `Using Linux Core Isolation to Reduce Context Switches <http://dpdk.org/doc/guides/linux_gsg/enable_func.html#using-linux-core-isolation-to-reduce-context-switches>`_
+* `Linux boot command line <http://dpdk.org/doc/guides/linux_gsg/nic_perf_intel_platform.html#linux-boot-command-line>`_
+
+You need to run ``update-grub`` and reboot to activate grub config.
+
+.. code-block:: console
+
+    $ sudo upadte-grub
+    $ sudo reboot
+
+
+You can check hugepage settings as following.
+
+.. code-block:: console
+
+    $ cat /proc/meminfo | grep -i huge
+    AnonHugePages:      2048 kB
+    HugePages_Total:      36		#	/etc/default/grub
+    HugePages_Free:       36
+    HugePages_Rsvd:        0
+    HugePages_Surp:        0
+    Hugepagesize:    1048576 kB		#	/etc/default/grub
+
+    $ mount | grep -i huge
+    cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb,release_agent=/run/cgmanager/agents/cgm-release-agent.hugetlb,nsroot=/)
+    hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
+    hugetlbfs-kvm on /run/hugepages/kvm type hugetlbfs (rw,relatime,mode=775,gid=117)
+    hugetlb on /run/lxcfs/controllers/hugetlb type cgroup (rw,relatime,hugetlb,release_agent=/run/cgmanager/agents/cgm-release-agent.hugetlb,nsroot=/)
+
+Finally, you unmount default hugepage.
+
+.. code-block:: console
+
+    $ sudo unmount /dev/hugepages
+
+
+Install DPDK
+------------
+
+Install DPDK in any directory. This is a simple instruction and please
+refer
+`Getting Started Guide for Linux
+<http://dpdk.org/doc/guides/linux_gsg/index.html>`_
+for details.
+
+.. code-block:: console
+
+    $ cd /path/to/any_dir
+    $ git clone http://dpdk.org/git/dpdk
+    $ cd dpdk
+    $ git checkout [TAG_NAME(e.g. v17.05)]
+    $ export RTE_SDK=`pwd`
+    $ export RTE_TARGET=x86_64-native-linuxapp-gcc
+    $ make T=x86_64-native-linuxapp-gcc install
+
+
+Install SPP
+-----------
+
+Clone SPP in any directory and compile it.
+
+.. code-block:: console
+
+    $ cd /path/to/spp_home/
+    $ git clone https://github.com/ntt-ns/Soft-Patch-Panel.git
+    export SPP_HOME=/path/to/spp_home/Soft-Patch-Panel
+    $ cd $SPP_HOME
+    $ make
+
+Setup for DPDK
+--------------
+
+Load igb_uio module.
+
+.. code-block:: console
+
+    $ sudo modprobe uio
+    $ sudo insmod $RTE_SDK/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
+    $ lsmod | grep uio
+    igb_uio                16384  0  # igb_uio is loaded
+    uio                    20480  1 igb_uio
+
+Then, bind it with PCI_Number.
+
+.. code-block:: console
+
+    $ $RTE_SDK/usertools/dpdk-devbind.py --status
+    # check your device for PCI_Number
+
+    $ sudo $RTE_SDK/usertools/dpdk-devbind.py --bind=igb_uio [PCI_Number]
+
+virsh setup
+-----------
+
+Edit VM configuration with virsh.
+
+.. code-block:: console
+
+    $ virsh edit [VM_NAME]
+
+.. code-block:: xml
+
+    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
+      <name>spp-vm1</name>
+      <uuid>d90f5420-861a-4479-8559-62d7a1545cb9</uuid>
+      <memory unit='KiB'>4194304</memory>
+      <currentMemory unit='KiB'>4194304</currentMemory>
+      <memoryBacking>
+        <hugepages/>
+      </memoryBacking>
+      <vcpu placement='static'>4</vcpu>
+      <os>
+        <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
+        <boot dev='hd'/>
+      </os>
+      <features>
+        <acpi/>
+        <apic/>
+        <pae/>
+      </features>
+      <clock offset='utc'/>
+      <on_poweroff>destroy</on_poweroff>
+      <on_reboot>restart</on_reboot>
+      <on_crash>restart</on_crash>
+      <devices>
+        <emulator>/usr/local/bin/qemu-system-x86_64</emulator>
+        <disk type='file' device='disk'>
+          <driver name='qemu' type='raw'/>
+          <source file='/var/lib/libvirt/images/spp-vm1.qcow2'/>
+          <target dev='hda' bus='ide'/>
+          <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+        </disk>
+        <disk type='block' device='cdrom'>
+          <driver name='qemu' type='raw'/>
+          <target dev='hdc' bus='ide'/>
+          <readonly/>
+          <address type='drive' controller='0' bus='1' target='0' unit='0'/>
+        </disk>
+        <controller type='usb' index='0'>
+          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+        </controller>
+        <controller type='pci' index='0' model='pci-root'/>
+        <controller type='ide' index='0'>
+          <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+        </controller>
+        <interface type='network'>
+          <mac address='52:54:00:99:aa:7f'/>
+          <source network='default'/>
+          <model type='rtl8139'/>
+          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+        </interface>
+        <serial type='pty'>
+          <target type='isa-serial' port='0'/>
+        </serial>
+        <console type='pty'>
+          <target type='serial' port='0'/>
+        </console>
+        <memballoon model='virtio'>
+          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+        </memballoon>
+      </devices>
+      <qemu:commandline>
+        <qemu:arg value='-cpu'/>
+        <qemu:arg value='host'/>
+        <qemu:arg value='-object'/>
+        <qemu:arg value='memory-backend-file,id=mem,size=4096M,mem-path=/run/hugepages/kvm,share=on'/>
+        <qemu:arg value='-numa'/>
+        <qemu:arg value='node,memdev=mem'/>
+        <qemu:arg value='-mem-prealloc'/>
+        <qemu:arg value='-chardev'/>
+        <qemu:arg value='socket,id=chr0,path=/tmp/sock0,server'/>
+        <qemu:arg value='-device'/>
+        <qemu:arg value='virtio-net-pci,netdev=vhost-net0,mac=52:54:00:12:34:56'/>
+        <qemu:arg value='-netdev'/>
+        <qemu:arg value='vhost-user,id=vhost-net0,chardev=chr0,vhostforce'/>
+        <qemu:arg value='-chardev'/>
+        <qemu:arg value='socket,id=chr1,path=/tmp/sock1,server'/>
+        <qemu:arg value='-device'/>
+        <qemu:arg value='virtio-net-pci,netdev=vhost-net1,mac=52:54:00:12:34:57'/>
+        <qemu:arg value='-netdev'/>
+        <qemu:arg value='vhost-user,id=vhost-net1,chardev=chr1,vhostforce'/>
+      </qemu:commandline>
+    </domain>
+
+
+Trouble Shooting Guide
+----------------------
+
+You might encounter a permission error for ``tmp/sockN`` because
+of appamor.
+In this case, you should try it.
+
+.. code-block:: console
+
+    $ sudo ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/usr.lib.libvirt.virt-aa-helper
+    $ sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/usr.sbin.libvirtd
+    $ sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
+    $ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
+    $ sudo service apparmor reload
+    $ sudo service apparmor restart
+    $ sudo service libvirt-bin restart
+
+Or, you remove appamor.
+
+.. code-block:: console
+
+    $ sudo apt-get remove apparmor
+
+If you use CentOS, not Ubuntu, confirm that SELinux doesn't prevent
+for permission.
+SELinux should be disabled in this case.
+
+.. code-block:: console
+
+    # /etc/selinux/config
+    SELINUX=disabled
+
+Check your SELinux configuration.
+
+.. code-block:: console
+
+    $ getenforce
+    Disabled
diff --git a/docs/guides/spp_vf/gsg/howto_use.rst b/docs/guides/spp_vf/gsg/howto_use.rst
new file mode 100644
index 0000000..1db3ebf
--- /dev/null
+++ b/docs/guides/spp_vf/gsg/howto_use.rst
@@ -0,0 +1,158 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+How to Use
+==========
+
+SPP_VF
+------
+
+``SPP_VF`` is a SR-IOV like network functionality for NFV.
+
+.. image:: images/spp_vf_overview.svg
+   :height: 550 em
+   :width: 550 em
+
+Environment
+-----------
+
+* Ubuntu 16.04
+* qemu-kvm 2.7 or later
+* DPDK v17.11 or later
+
+Launch SPP
+----------
+
+Before launching spp, you need to setup DPDK, virsh, etc. described at
+:doc:`build`.
+
+SPP Controller
+~~~~~~~~~~~~~~
+
+First, run SPP Controller with port numbers for spp primary and secondary.
+
+.. code-block:: console
+
+    $ python ./src/spp_vf.py -p 5555 -s 6666
+
+
+SPP Primary
+~~~~~~~~~~~
+
+SPP primary allocates and manages resources for secondary processes.
+You need to run SPP primary before secondary processes.
+
+SPP primary has two kinds of options for DPDK and spp.
+Before ``--`` are for DPDK is, and after ``--`` are for spp.
+
+See
+`DPDK documentation <http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html#running-a-sample-application>`_
+about options for DPDK.
+
+Options of spp primary are:
+
+  * -p : port mask
+  * -n : number of rings
+  * -s : IPv4 address and port for spp primary
+
+Then, spp primary can be launched like this.
+
+.. code-block:: console
+
+    $ sudo ./src/primary/x86_64-native-linuxapp-gcc/spp_primary \
+      -c 0x02 -n 4 --socket-mem 512,512 \
+      --huge-dir=/run/hugepages/kvm \
+      --proc-type=primary \
+      -- -p 0x03 -n 9 -s 127.0.0.1:5555
+
+SPP Secondary
+~~~~~~~~~~~~~
+
+spp secondary processes(``spp_vf``) can be launched with two kinds of
+options, like primary process.
+
+Like primary process, ``spp_vf`` has two kinds of options. One is for
+DPDK, the other is ``spp_vf``.
+
+``spp_vf`` specific options are:
+
+  * --client-id    : client id
+  * -s             : IPv4 address and port for spp secondary
+  * --vhost-client : vhost-user client enable setting
+
+``spp_vf`` can be launched like this.
+
+.. code-block:: console
+
+    $ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
+    -c 0x3ffd -n 4 --proc-type=secondary \
+    -- --client-id 1 -s 127.0.0.1:6666 --vhost-client
+
+If ``--vhost-client`` option is specified, then ``vhost-user`` act as
+the client, otherwise the server.
+For reconnect feature from SPP to VM, ``--vhost-client`` option can be
+used. This reconnect features requires QEMU 2.7 (or later).
+See also `DPDK documentation <http://dpdk.org/doc/guides/sample_app_ug/vhost.html>_.
+
+VM
+--
+
+Launch VMs with ``virsh`` command.
+
+.. code-block:: console
+
+    $ virsh start [VM]
+
+
+Additional Network Configurations
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To enable processes running on the VM to communicate through spp,
+it is required additional network configurations on host and guest VMs.
+
+Guest VMs
+"""""""""
+
+.. code-block:: console
+
+    # Interface for vhost
+    $ sudo ifconfig [IF_NAME] inet [IP_ADDR] netmask [NETMASK] up
+
+    # Disable offload for vhost interface
+    $ sudo ethtool -K [IF_NAME] tx off
+
+Host2
+"""""
+
+.. code-block:: console
+
+    # Disable offload for VM interface
+    $ ethtool -K [IF_NAME] tx off
diff --git a/docs/guides/spp_vf/gsg/index.rst b/docs/guides/spp_vf/gsg/index.rst
index f8b1783..c9028fa 100644
--- a/docs/guides/spp_vf/gsg/index.rst
+++ b/docs/guides/spp_vf/gsg/index.rst
@@ -30,3 +30,9 @@
 
 Getting Started
 ===============
+
+.. toctree::
+   :maxdepth: 2
+
+   build
+   howto_use
diff --git a/docs/guides/spp_vf/index.rst b/docs/guides/spp_vf/index.rst
index 83d2daa..e4419df 100644
--- a/docs/guides/spp_vf/index.rst
+++ b/docs/guides/spp_vf/index.rst
@@ -36,6 +36,8 @@ SPP VF
    :numbered:
 
    overview
-   getting_started/index
+   design
+   gsg/index
    use_cases/index
    commands/index
+   explain/index
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 06/28] docs: add spp_vf explanation section
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (3 preceding siblings ...)
  2018-02-05  2:38 ` [spp] [PATCH 05/28] docs: add spp_vf gsg section ogawa.yasufumi
@ 2018-02-05  2:38 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 07/28] docs: add image for sample usage ogawa.yasufumi
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:38 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/explain/functions.rst | 449 +++++++++++++++++++++++++++++++
 docs/guides/spp_vf/explain/index.rst     |  37 +++
 2 files changed, 486 insertions(+)
 create mode 100644 docs/guides/spp_vf/explain/functions.rst
 create mode 100644 docs/guides/spp_vf/explain/index.rst

diff --git a/docs/guides/spp_vf/explain/functions.rst b/docs/guides/spp_vf/explain/functions.rst
new file mode 100644
index 0000000..c69697c
--- /dev/null
+++ b/docs/guides/spp_vf/explain/functions.rst
@@ -0,0 +1,449 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Explanation
+===========
+
+The following sections provide some explanation of the code.
+
+Initializing
+------------
+
+A manager thread of ``spp_vf`` initialize eal by ``rte_eal_init()``.
+Then each of component threads are launched by
+``rte_eal_remote_launch()``.
+
+
+.. code-block:: c
+
+    /* spp_vf.c */
+    int ret_dpdk = rte_eal_init(argc, argv);
+
+    /* Start worker threads of classifier and forwarder */
+    unsigned int lcore_id = 0;
+    RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+            rte_eal_remote_launch(slave_main, NULL, lcore_id);
+    }
+
+
+Main function of slave thread
+-----------------------------
+
+``slave_main()`` is called from ``rte_eal_remote_launch()``.
+It call ``spp_classifier_mac_do()`` or ``spp_forward()`` depending
+on the component command setting.
+``spp_classifier_mac_do()`` provides function for classifier,
+and ``spp_forward()`` provides forwarder and merger.
+
+.. code-block:: c
+
+    /* spp_vf.c */
+    RTE_LOG(INFO, APP, "Core[%d] Start.\n", lcore_id);
+    set_core_status(lcore_id, SPP_CORE_IDLE);
+
+    while ((status = spp_get_core_status(lcore_id)) !=
+            SPP_CORE_STOP_REQUEST) {
+            if (status != SPP_CORE_FORWARD)
+                    continue;
+
+            if (spp_check_core_index(lcore_id)) {
+                    /* Setting with the flush command trigger. */
+                    info->ref_index = (info->upd_index+1) %
+                            SPP_INFO_AREA_MAX;
+                    core = get_core_info(lcore_id);
+            }
+
+            for (cnt = 0; cnt < core->num; cnt++) {
+                    if (spp_get_component_type(lcore_id) ==
+                                    SPP_COMPONENT_CLASSIFIER_MAC) {
+                            /* Classifier loops inside the function. */
+                            ret = spp_classifier_mac_do(core->id[cnt]);
+                            break;
+                    }
+
+                    /*
+                     * Forward / Merge returns at once.
+                     * It is for processing multiple components.
+                     */
+                    ret = spp_forward(core->id[cnt]);
+                    if (unlikely(ret != 0))
+                            break;
+            }
+            if (unlikely(ret != 0)) {
+                    RTE_LOG(ERR, APP,
+                            "Core[%d] Component Error. (id = %d)\n",
+                            lcore_id, core->id[cnt]);
+                    break;
+            }
+    }
+
+    set_core_status(lcore_id, SPP_CORE_STOP);
+    RTE_LOG(INFO, APP, "Core[%d] End.\n", lcore_id);
+
+Data structure of classifier table
+----------------------------------
+
+``spp_classifier_mac_do()`` lookup following data defined in
+``classifier_mac.c``,
+when it process the packets.
+Configuration of classifier is stored in the structure of
+``classified_data``, ``classifier_mac_info`` and
+``classifier_mac_mng_info``.
+The ``classified_data`` has member variables for expressing the port
+to be classified, ``classifier_mac_info`` has member variables
+for determining the direction of packets such as hash tables.
+Classifier manages two ``classifier_mac_info``, one is for updating by
+commands, the other is for looking up to process packets.
+Then the ``classifier_mac_mng_info`` has
+two(``NUM_CLASSIFIER_MAC_INFO``) ``classifier_mac_info``
+and index number for updating or reference.
+
+.. code-block:: c
+
+    /* classifier_mac.c */
+    /* classified data (destination port, target packets, etc) */
+    struct classified_data {
+            /* interface type (see "enum port_type") */
+            enum port_type  iface_type;
+
+            /* index of ports handled by classifier */
+            int             iface_no;
+
+            /* id for interface generated by spp_vf */
+            int             iface_no_global;
+
+            /* port id generated by DPDK */
+            uint16_t        port;
+
+            /* the number of packets in pkts[] */
+            uint16_t        num_pkt;
+
+            /* packet array to be classified */
+            struct rte_mbuf *pkts[MAX_PKT_BURST];
+    };
+
+    /* classifier information */
+    struct classifier_mac_info {
+            /* component name */
+            char name[SPP_NAME_STR_LEN];
+
+            /* hash table keeps classifier_table */
+            struct rte_hash *classifier_table;
+
+            /* number of valid classification */
+            int num_active_classified;
+
+            /* index of valid classification */
+            int active_classifieds[RTE_MAX_ETHPORTS];
+
+            /* index of default classification */
+            int default_classified;
+
+            /* number of transmission ports */
+            int n_classified_data_tx;
+
+            /* receive port handled by classifier */
+            struct classified_data classified_data_rx;
+
+            /* transmission ports handled by classifier */
+            struct classified_data classified_data_tx[RTE_MAX_ETHPORTS];
+    };
+
+    /* classifier management information */
+    struct classifier_mac_mng_info {
+            /* classifier information */
+            struct classifier_mac_info info[NUM_CLASSIFIER_MAC_INFO];
+
+            /* Reference index number for classifier information */
+            volatile int ref_index;
+
+            /* Update index number for classifier information */
+            volatile int upd_index;
+    };
+
+
+Packet processing in classifier
+-------------------------------
+
+In ``spp_classifier_mac_do()``, it receives packets from rx port and
+send them to destinations with ``classify_packet()``.
+``classifier_info`` is an argument of ``classify_packet()`` and is used
+to decide the destinations.
+
+.. code-block:: c
+
+    /* classifier_mac.c */
+        while (likely(spp_get_core_status(lcore_id) == SPP_CORE_FORWARD) &&
+                        likely(spp_check_core_index(lcore_id) == 0)) {
+                /* change index of update side */
+                change_update_index(classifier_mng_info, id);
+
+                /* decide classifier information of the current cycle */
+                classifier_info = classifier_mng_info->info +
+                                classifier_mng_info->ref_index;
+                classified_data_rx = &classifier_info->classified_data_rx;
+                classified_data_tx = classifier_info->classified_data_tx;
+
+                /* drain tx packets, if buffer is not filled for interval */
+                cur_tsc = rte_rdtsc();
+                if (unlikely(cur_tsc - prev_tsc > drain_tsc)) {
+                        for (i = 0; i < classifier_info->n_classified_data_tx;
+                                        i++) {
+                                if (likely(classified_data_tx[i].num_pkt == 0))
+                                        continue;
+
+                                RTE_LOG(DEBUG, SPP_CLASSIFIER_MAC,
+                                                "transmit packets (drain). "
+                                                "index=%d, "
+                                                "num_pkt=%hu, "
+                                                "interval=%lu\n",
+                                                i,
+                                                classified_data_tx[i].num_pkt,
+                                                cur_tsc - prev_tsc);
+                                transmit_packet(&classified_data_tx[i]);
+                        }
+                        prev_tsc = cur_tsc;
+                }
+
+                if (classified_data_rx->iface_type == UNDEF)
+                        continue;
+
+                /* retrieve packets */
+                n_rx = rte_eth_rx_burst(classified_data_rx->port, 0,
+                                rx_pkts, MAX_PKT_BURST);
+                if (unlikely(n_rx == 0))
+                        continue;
+
+    #ifdef SPP_RINGLATENCYSTATS_ENABLE
+                    if (classified_data_rx->iface_type == RING)
+                            spp_ringlatencystats_calculate_latency(
+                                            classified_data_rx->iface_no,
+                                            rx_pkts, n_rx);
+    #endif
+
+                /* classify and transmit (filled) */
+                classify_packet(rx_pkts, n_rx, classifier_info,
+                                classified_data_tx);
+        }
+
+Classifying the packets
+-----------------------
+
+``classify_packet()`` uses hash function of DPDK to determine
+destination.
+Hash has MAC address as Key, it retrieves destination information
+from destination MAC address in the packet.
+
+.. code-block:: c
+
+    for (i = 0; i < n_rx; i++) {
+            eth = rte_pktmbuf_mtod(rx_pkts[i], struct ether_hdr *);
+
+            /* find in table (by destination mac address)*/
+            ret = rte_hash_lookup_data(classifier_info->classifier_table,
+                            (const void *)&eth->d_addr, &lookup_data);
+            if (ret < 0) {
+                    /* L2 multicast(include broadcast) ? */
+                    if (unlikely(is_multicast_ether_addr(&eth->d_addr))) {
+                            RTE_LOG(DEBUG, SPP_CLASSIFIER_MAC,
+                                            "multicast mac address.\n");
+                            handle_l2multicast_packet(rx_pkts[i],
+                                            classifier_info,
+                                            classified_data);
+                            continue;
+                    }
+
+                    /* if no default, drop packet */
+                    if (unlikely(classifier_info->default_classified ==
+                                    -1)) {
+                            ether_format_addr(mac_addr_str,
+                                            sizeof(mac_addr_str),
+                                            &eth->d_addr);
+                            RTE_LOG(ERR, SPP_CLASSIFIER_MAC,
+                                            "unknown mac address. "
+                                            "ret=%d, mac_addr=%s\n",
+                                            ret, mac_addr_str);
+                            rte_pktmbuf_free(rx_pkts[i]);
+                            continue;
+                    }
+
+                    /* to default classified */
+                    RTE_LOG(DEBUG, SPP_CLASSIFIER_MAC,
+                                    "to default classified.\n");
+                    lookup_data = (void *)(long)classifier_info->
+                                    default_classified;
+            }
+
+            /*
+             * set mbuf pointer to tx buffer
+             * and transmit packet, if buffer is filled
+             */
+            push_packet(rx_pkts[i], classified_data + (long)lookup_data);
+    }
+
+
+Packet processing in forwarder and merger
+-----------------------------------------
+
+Configuration data for forwarder and merger is stored as structured
+tables ``forward_rxtx``, ``forward_path`` and ``forward_info``.
+The ``forward_rxtx`` has two member variables for expressing the port
+to be sent(tx) and to be receive(rx),
+``forward_path`` has member variables for expressing the data path.
+Like ``classifier_mac_info``, ``forward_info`` has two tables,
+one is for updating by commands, the other is for looking up to process
+packets.
+
+
+.. code-block:: c
+
+    /* spp_forward.c */
+    /* A set of port info of rx and tx */
+    struct forward_rxtx {
+            struct spp_port_info rx; /* rx port */
+            struct spp_port_info tx; /* tx port */
+    };
+
+    /* Information on the path used for forward. */
+    struct forward_path {
+            char name[SPP_NAME_STR_LEN];    /* component name */
+            volatile enum spp_component_type type;
+                                            /* component type */
+            int num;  /* number of receive ports */
+            struct forward_rxtx ports[RTE_MAX_ETHPORTS];
+                                            /* port used for transfer */
+    };
+
+    /* Information for forward. */
+    struct forward_info {
+            volatile int ref_index; /* index to reference area */
+            volatile int upd_index; /* index to update area    */
+            struct forward_path path[SPP_INFO_AREA_MAX];
+                                    /* Information of data path */
+    };
+
+
+Forward and merge the packets
+-----------------------------
+
+``spp_forward()`` defined in ``spp_forward.c`` is a main function
+for both forwarder and merger.
+``spp_forward()`` simply passes packet received from rx port to
+tx port of the pair.
+
+.. code-block:: c
+
+    /* spp_forward.c */
+            for (cnt = 0; cnt < num; cnt++) {
+                    rx = &path->ports[cnt].rx;
+                    tx = &path->ports[cnt].tx;
+
+                    /* Receive packets */
+                    nb_rx = rte_eth_rx_burst(
+                            rx->dpdk_port, 0, bufs, MAX_PKT_BURST);
+                    if (unlikely(nb_rx == 0))
+                            continue;
+
+    #ifdef SPP_RINGLATENCYSTATS_ENABLE
+                    if (rx->iface_type == RING)
+                            spp_ringlatencystats_calculate_latency(
+                                            rx->iface_no,
+                                            bufs, nb_rx);
+
+                    if (tx->iface_type == RING)
+                            spp_ringlatencystats_add_time_stamp(
+                                            tx->iface_no,
+                                            bufs, nb_rx);
+    #endif /* SPP_RINGLATENCYSTATS_ENABLE */
+
+                    /* Send packets */
+                    if (tx->dpdk_port >= 0)
+                            nb_tx = rte_eth_tx_burst(
+                                    tx->dpdk_port, 0, bufs, nb_rx);
+
+                    /* Discard remained packets to release mbuf */
+                    if (unlikely(nb_tx < nb_rx)) {
+                            for (buf = nb_tx; buf < nb_rx; buf++)
+                                    rte_pktmbuf_free(bufs[buf]);
+                    }
+            }
+
+
+L2 Multicast Support
+--------------------
+
+SPP_VF also supports multicast for resolving ARP requests.
+It is implemented as ``handle_l2multicast_packet()`` and called from
+``classify_packet()`` for incoming multicast packets.
+
+.. code-block:: c
+
+  /* classify_packet() in classifier_mac.c */
+               /* L2 multicast(include broadcast) ? */
+               if (unlikely(is_multicast_ether_addr(&eth->d_addr))) {
+                       RTE_LOG(DEBUG, SPP_CLASSIFIER_MAC,
+                                       "multicast mac address.\n");
+                       handle_l2multicast_packet(rx_pkts[i],
+                                       classifier_info,
+                                       classified_data);
+                       continue;
+               }
+
+For distributing multicast packet, it is cloned with
+``rte_mbuf_refcnt_update()``.
+
+.. code-block:: c
+
+    /* classifier_mac.c */
+    /* handle L2 multicast(include broadcast) packet */
+    static inline void
+    handle_l2multicast_packet(struct rte_mbuf *pkt,
+                    struct classifier_mac_info *classifier_info,
+                    struct classified_data *classified_data)
+    {
+            int i;
+
+            if (unlikely(classifier_info->num_active_classified == 0)) {
+                    RTE_LOG(ERR,
+                            SPP_CLASSIFIER_MAC,
+                            "No mac address.(l2 multicast packet)\n");
+                    rte_pktmbuf_free(pkt);
+                    return;
+            }
+
+            rte_mbuf_refcnt_update(pkt,
+                    (classifier_info->num_active_classified - 1));
+
+            for (i = 0; i < classifier_info->num_active_classified; i++) {
+                    push_packet(pkt, classified_data +
+                            (long)classifier_info->active_classifieds[i]);
+            }
+    }
diff --git a/docs/guides/spp_vf/explain/index.rst b/docs/guides/spp_vf/explain/index.rst
new file mode 100644
index 0000000..6a071aa
--- /dev/null
+++ b/docs/guides/spp_vf/explain/index.rst
@@ -0,0 +1,37 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Explanation
+===========
+
+.. toctree::
+   :maxdepth: 2
+
+   functions
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 07/28] docs: add image for sample usage
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (4 preceding siblings ...)
  2018-02-05  2:38 ` [spp] [PATCH 06/28] docs: add spp_vf explanation section ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 08/28] docs: fix bug spp_vf howto_use guide ogawa.yasufumi
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/images/spp_sample_config.svg | 1916 +++++++++++++++++++++++
 1 file changed, 1916 insertions(+)
 create mode 100644 docs/guides/spp_vf/images/spp_sample_config.svg

diff --git a/docs/guides/spp_vf/images/spp_sample_config.svg b/docs/guides/spp_vf/images/spp_sample_config.svg
new file mode 100644
index 0000000..f6ad3f4
--- /dev/null
+++ b/docs/guides/spp_vf/images/spp_sample_config.svg
@@ -0,0 +1,1916 @@
+<?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="172.52679mm"
+   height="120.57605mm"
+   viewBox="0 0 172.52679 120.57605"
+   version="1.1"
+   id="svg4746"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="spp_sample_config.svg">
+  <defs
+     id="defs4740">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker6296"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path6294" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1654"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1652"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="SquareL"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="SquareL"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1432"
+         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path1383"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker9343"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path9341"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1359"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker4626"
+       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="path4624" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker3618"
+       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="path3616" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker1780"
+       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="path1778" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1604"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1362"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker6489"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path6487"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker8593"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path8591"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker8169"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path8167"
+         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="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker7739"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path7737"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5589"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker6959"
+       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="path6957" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker6583"
+       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="path6581" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker6219"
+       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="path6217" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker5849"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5586"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(0.8,0,0,0.8,10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker2605"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2603"
+         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="marker2218"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path2216"
+         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="marker1864"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1862"
+         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="marker1516"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1514"
+         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="marker1632"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1630"
+         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="marker1626"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1624"
+         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="marker1620"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1618"
+         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="marker1614"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1612"
+         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="marker1608"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1606"
+         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="marker1560"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1558"
+         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="marker1552"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path1550"
+         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="marker4611"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path4609"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker26660"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         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="path26658"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker24654"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <path
+         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="path24652"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23978"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path23976"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker23136"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path23134"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <path
+         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="path22958"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path14791"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker13092"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path13090"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker12910"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path12908"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker12568"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path12566"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5180"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path5178"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4816"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4814"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4057"
+         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="Arrow1Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path5293"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
+         transform="matrix(0.8,0,0,0.8,10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-4"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059-8"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4057-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-6"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-3"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-6-2"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-3-4"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-5"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-8"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059-8-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4057-0-9"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4059-8-1-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4057-0-9-1"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1-9"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0-3"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0-0"
+         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)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend-2-4-1-7-7"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2284-6-0-0-0-8"
+         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)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5180-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path5178-1" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker5180-9-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         inkscape:connector-curvature="0"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path5178-1-4" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lstart-6"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1110-1"
+         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)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-9"
+       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="path14791-9" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-5"
+       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="path14791-0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1"
+       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="path14791-4" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-5"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-6" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker1560-3"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         inkscape:connector-curvature="0"
+         id="path1558-3"
+         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)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-61" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-5-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-6-8" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1-4"
+       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="path14791-4-5" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-9"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-60" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1-9"
+       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="path14791-4-1" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker14793-1-9-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:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+         id="path14791-4-1-5" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker22960-9-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lstart">
+      <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="path22958-60-6" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.9899495"
+     inkscape:cx="248.45306"
+     inkscape:cy="268.20932"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="851"
+     inkscape:window-x="0"
+     inkscape:window-y="1"
+     inkscape:window-maximized="1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     viewbox-x="0"
+     scale-x="1" />
+  <metadata
+     id="metadata4743">
+    <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"
+     style="display:inline;opacity:0.98999999"
+     transform="translate(22.342263,-42.641668)">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.3065601;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect5291"
+       width="133.51352"
+       height="83.053703"
+       x="16.513613"
+       y="43.498409"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="17.927746"
+       y="48.597805"
+       id="text5577"><tspan
+         sodipodi:role="line"
+         id="tspan5575"
+         x="17.927746"
+         y="48.597805"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">host1</tspan></text>
+    <flowRoot
+       xml:space="preserve"
+       id="flowRoot5610"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+       transform="scale(0.26458333)"><flowRegion
+         id="flowRegion5612"><rect
+           id="rect5614"
+           width="12.857142"
+           height="94.285713"
+           x="147.14285"
+           y="89.662544" /></flowRegion><flowPara
+         id="flowPara5616" /></flowRoot>    <rect
+       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.12471945;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139-1-3"
+       width="10.275963"
+       height="16.561275"
+       x="16.555996"
+       y="78.303352" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="17.14814"
+       y="87.313164"
+       id="text2024-9-4-2"><tspan
+         sodipodi:role="line"
+         id="tspan1377"
+         x="17.14814"
+         y="87.313164">NIC0</tspan></text>
+    <rect
+       style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.13039371;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect5291-3"
+       width="67.19873"
+       height="29.854179"
+       x="15.828302"
+       y="133.1078"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.19843748"
+       x="17.12682"
+       y="138.31961"
+       id="text5577-4"><tspan
+         sodipodi:role="line"
+         id="tspan29058"
+         x="17.12682"
+         y="138.31961"
+         style="stroke-width:0.19843748">host2</tspan></text>
+    <rect
+       style="display:inline;opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.10945041;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139-1-3-3"
+       width="9.7703886"
+       height="13.414387"
+       x="15.910673"
+       y="141.81795" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.19843748"
+       x="16.710455"
+       y="149.19623"
+       id="text2024-9-4-2-1"><tspan
+         sodipodi:role="line"
+         id="tspan1379"
+         x="16.710455"
+         y="149.19623">NIC1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.2295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6219)"
+       d="m -8.6649471,115.81761 c 0,0 2.429464,-24.597571 25.0354661,-33.266048"
+       id="path29105"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.1579186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m -0.09414816,115.70324 c 0,0 1.61663996,-17.511419 16.65936316,-23.682657"
+       id="path29105-6"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.17807341px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker8593)"
+       d="m -0.68301513,127.63222 c 0,0 1.39932195,16.54751 16.45012913,17.35664"
+       id="path3498"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.23871794px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m -7.2736641,129.63943 c 0,0 1.97461,21.07376 23.2130541,22.10422"
+       id="path3498-4"
+       inkscape:connector-curvature="0" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4841"
+       cx="-11.052653"
+       cy="115.04939"
+       rx="6.6995564"
+       ry="6.271925" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4843"
+       cx="5.2646623"
+       cy="114.58737"
+       rx="6.1293807"
+       ry="5.5592065" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4845"
+       cx="-1.5251452"
+       cy="112.76298"
+       rx="5.7017498"
+       ry="5.4166622" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4847"
+       cx="-2.0953214"
+       cy="121.45814"
+       rx="6.8420997"
+       ry="4.9890313" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4849"
+       cx="8.8633566"
+       cy="122.28472"
+       rx="6.4144683"
+       ry="4.9890313" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4851"
+       cx="-9.9352274"
+       cy="126.73225"
+       rx="7.8399057"
+       ry="5.9868374" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4853"
+       cx="-11.075576"
+       cy="122.02831"
+       rx="10.405693"
+       ry="4.7039437" />
+    <ellipse
+       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path4855"
+       cx="2.1752608"
+       cy="129.00723"
+       rx="7.6973624"
+       ry="5.1315746" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-14.074723"
+       y="121.02477"
+       id="text4857"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4859"
+         x="-14.074723"
+         y="121.02477">network</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="spp_vf_process"
+     style="display:inline"
+     transform="translate(22.342263,-42.641668)">
+    <rect
+       style="fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.20625183;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1763"
+       width="67.423866"
+       height="63.660942"
+       x="28.270718"
+       y="56.240303"
+       ry="3.3188167" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="31.534889"
+       y="61.07103"
+       id="text1767"><tspan
+         sodipodi:role="line"
+         id="tspan1765"
+         x="31.534889"
+         y="61.07103"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">spp_vf</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="guests"
+     style="display:inline"
+     transform="translate(22.342263,-42.641668)">
+    <rect
+       style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.17461418;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect2020"
+       width="28.352047"
+       height="33.515587"
+       x="118.85268"
+       y="48.505085"
+       ry="2.7929652" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.69781"
+       y="56.421913"
+       id="text2024"><tspan
+         sodipodi:role="line"
+         id="tspan2022"
+         x="119.69781"
+         y="56.421913"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">guest vm1</tspan></text>
+    <rect
+       style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.17601651;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect2020-5"
+       width="28.62668"
+       height="33.729359"
+       x="118.56235"
+       y="88.59964"
+       ry="2.8107796" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.40305"
+       y="93.332886"
+       id="text2024-5"><tspan
+         sodipodi:role="line"
+         id="tspan2202"
+         x="119.40305"
+         y="93.332886"
+         style="stroke-width:0.19843748">guest vm2</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11156943;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139"
+       width="10.349"
+       height="13.159518"
+       x="118.85532"
+       y="62.9557" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.4705"
+       y="70.884201"
+       id="text2024-9"><tspan
+         sodipodi:role="line"
+         id="tspan1504"
+         x="119.4705"
+         y="70.884201"
+         style="stroke-width:0.19843748">vNIC</tspan></text>
+    <rect
+       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11284375;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1139-1"
+       width="10.353926"
+       height="13.455435"
+       x="118.52364"
+       y="99.103775" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="119.14127"
+       y="106.98555"
+       id="text2024-9-4"><tspan
+         sodipodi:role="line"
+         id="tspan1502"
+         x="119.14127"
+         y="106.98555"
+         style="stroke-width:0.19843748">vNIC</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="spp_vf_threads"
+     style="display:inline;opacity:0.98999999"
+     transform="translate(22.342263,-42.641668)">
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6296);stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 100.80696,76.449807 C 92.088084,96.087573 92.088084,96.087573 92.088084,96.087573"
+       id="path6286"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="m 89.320737,76.353127 c 9.452951,19.668818 9.452951,19.668818 9.452951,19.668818"
+       id="path6138"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1780)"
+       d="m 25.766181,78.300049 5.164281,-5.567772"
+       id="path4812"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.13431512;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769"
+       width="21.297846"
+       height="5.9898095"
+       x="30.552704"
+       y="67.062508"
+       ry="1.3525398" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="33.065685"
+       y="71.049599"
+       id="text1773"><tspan
+         sodipodi:role="line"
+         id="tspan1461"
+         x="33.065685"
+         y="71.049599"
+         style="stroke-width:0.19843748">classifier</tspan></text>
+    <g
+       id="g1969-0"
+       transform="matrix(0.74487285,0,0,2.6794736,5.5667349,-232.75776)"
+       style="fill:#dedbe3">
+      <rect
+         ry="1.8106976"
+         y="122.52335"
+         x="124.54029"
+         height="8.0187912"
+         width="18.980101"
+         id="rect1769-3-2-7-7"
+         style="fill:#eef4d7;stroke:#000000;stroke-width:0.14670815;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.21267372"
+       x="107.11629"
+       y="99.856544"
+       id="text1773-6-6-5-2-7"
+       transform="scale(0.93214046,1.0727997)"><tspan
+         sodipodi:role="line"
+         id="tspan1459"
+         x="107.11629"
+         y="99.856544">vhost1</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793)"
+       d="m 112.38085,66.046195 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960)"
+       d="m 112.47118,108.69207 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker26660)"
+       d="M 35.08879,104.73064 25.534813,95.139839"
+       id="path26650"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1)"
+       d="m 112.11808,102.39221 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-5)"
+       d="m 112.7259,72.352919 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-7"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1560)"
+       d="m 91.74648,62.375041 c 6.66183,0 6.66183,0 6.66183,0"
+       id="path1556"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.23020414;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-7)"
+       d="m 92.70317,113.68427 c 5.68154,0 5.68154,0 5.68154,0"
+       id="path14783-8-2"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2218)"
+       d="m 71.365131,98.43499 c -21.806219,6.92139 -21.806219,6.92139 -21.806219,6.92139"
+       id="path2208"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2605)"
+       d="M 71.648601,114.47803 C 49.558912,106.19594 49.558912,106.19594 49.558912,106.19594"
+       id="path2595"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.12518337;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-3"
+       width="18.472155"
+       height="5.9989409"
+       x="31.086758"
+       y="102.57824"
+       ry="1.3546017" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
+       x="33.207432"
+       y="106.17302"
+       id="text1773-6"><tspan
+         sodipodi:role="line"
+         id="tspan1463"
+         x="33.207432"
+         y="106.17302"
+         style="stroke-width:0.19843748">merger</tspan></text>
+    <g
+       id="g2295"
+       transform="matrix(0.75,0,0,0.75,-8.8329671,40.613879)">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.75,0,0,0.75,-8.6426321,76.494617)"
+       style="display:inline"
+       id="g2295-3">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2-4"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6-0"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024-5"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.75,0,0,0.75,-8.8127251,55.913811)"
+       style="display:inline"
+       id="g2295-5">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2-2"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6-6"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024-9"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <g
+       transform="matrix(0.75,0,0,0.75,-8.3591551,92.140786)"
+       style="display:inline"
+       id="g2295-0">
+      <rect
+         ry="1.8039205"
+         y="25.020494"
+         x="106.67704"
+         height="7.9887786"
+         width="27.643539"
+         id="rect1769-3-2-8"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         id="text1773-6-6-8"
+         y="30.337786"
+         x="107.9122"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
+         xml:space="preserve"><tspan
+           id="tspan3024-96"
+           sodipodi:role="line"
+           x="107.9122"
+           y="30.337786">forwarder</tspan></text>
+    </g>
+    <rect
+       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.25501901;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-5"
+       width="39.860424"
+       height="11.537248"
+       x="32.144726"
+       y="141.47868"
+       ry="2.6051891" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:3.88410258px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.09710257px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="39.476479"
+       y="139.37953"
+       id="text237"
+       transform="scale(0.93752888,1.0666338)"><tspan
+         sodipodi:role="line"
+         id="tspan235"
+         x="39.476479"
+         y="139.37953"
+         style="stroke-width:0.09710257px">traffic generator</tspan></text>
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-5-6)"
+       d="m 25.530253,151.42019 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-7-9"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-4)"
+       d="m 25.464472,144.88242 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87-8"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.11807317;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-5-6-3"
+       width="10.223983"
+       height="9.6423111"
+       x="135.23622"
+       y="100.41351"
+       ry="2.1772995" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267371"
+       x="145.62817"
+       y="99.263878"
+       id="text1773-6-6-5-2-7-8"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         y="99.263878"
+         x="145.62817"
+         sodipodi:role="line"
+         id="tspan1964-1-7-0"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267371">app2</tspan></text>
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-9)"
+       d="m 129.07059,107.59371 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-5"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-9)"
+       d="m 128.71749,103.67511 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87-5"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.11807317;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1769-5-6-3-4"
+       width="10.223983"
+       height="9.6423111"
+       x="135.76675"
+       y="63.378746"
+       ry="2.1772995" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267371"
+       x="146.19733"
+       y="64.742287"
+       id="text1773-6-6-5-2-7-8-7"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         y="64.742287"
+         x="146.19733"
+         sodipodi:role="line"
+         id="tspan1964-1-7-0-4"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267371">app1</tspan></text>
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-9-7)"
+       d="m 129.60112,70.558963 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-8-5-3"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-9-6)"
+       d="m 129.24802,66.640363 c 6.21402,0 6.21402,0 6.21402,0"
+       id="path14783-87-5-1"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g1969"
+       transform="matrix(0.74487285,0,0,2.6794736,5.8732829,-268.99875)"
+       style="fill:#eef4d7">
+      <rect
+         ry="1.8106976"
+         y="122.52335"
+         x="124.54029"
+         height="8.0187912"
+         width="18.980101"
+         id="rect1769-3-2-7"
+         style="fill:#eef4d7;stroke:#000000;stroke-width:0.14670815;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.21267372"
+       x="107.18159"
+       y="65.916351"
+       id="text1773-6-6-5-2"
+       transform="scale(0.93214046,1.0727997)"><tspan
+         sodipodi:role="line"
+         id="tspan1457"
+         x="107.18159"
+         y="65.916351">vhost0</tspan></text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3618)"
+       d="M 51.850549,69.877318 C 71.174813,62.195833 71.174813,62.195833 71.174813,62.195833"
+       id="path3608"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4626)"
+       d="m 51.850549,69.708341 c 19.344505,7.616675 19.344505,7.616675 19.344505,7.616675"
+       id="path4616"
+       inkscape:connector-curvature="0" />
+    <g
+       transform="matrix(0.9779811,0,0,0.74420896,-36.583751,-39.321733)"
+       style="display:inline;fill:#eef4d7"
+       id="g2377-5-42">
+      <ellipse
+         inkscape:transform-center-y="-59.720238"
+         inkscape:transform-center-x="13.229167"
+         ry="3.1499126"
+         rx="6.5516987"
+         cy="141.425"
+         cx="100.0881"
+         id="path1780-3-7-12-8"
+         style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-3-60"
+         y="132.96213"
+         x="102.67519"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="132.96213"
+           x="102.67519"
+           id="tspan2372-8-0"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267372"
+       x="61.204704"
+       y="62.727623"
+       id="text1773-6-6-5-2-7-4-4-2"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         sodipodi:role="line"
+         id="tspan1387"
+         x="61.204704"
+         y="62.727623">ring0</tspan></text>
+    <g
+       transform="matrix(0.97798109,0,0,0.74420897,-36.693791,-31.801383)"
+       style="display:inline;opacity:0.98999999;fill:#eef4d7"
+       id="g2377-5-42-1">
+      <ellipse
+         inkscape:transform-center-y="-59.720238"
+         inkscape:transform-center-x="13.229167"
+         ry="3.1499126"
+         rx="6.5516987"
+         cy="141.425"
+         cx="100.0881"
+         id="path1780-3-7-12-8-7"
+         style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-3-60-5"
+         y="132.96213"
+         x="102.67519"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="132.96213"
+           x="102.67519"
+           id="tspan2372-8-0-8"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:start;display:inline;opacity:0.98999999;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267372;"
+       x="61.086658"
+       y="69.73761"
+       id="text1773-6-6-5-2-7-4-4-2-8"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         sodipodi:role="line"
+         id="tspan1451">ring1</tspan></text>
+    <g
+       transform="matrix(0.97798109,0,0,0.74420897,-36.315815,-3.8311448)"
+       style="display:inline;opacity:0.98999999;fill:#eef4d7"
+       id="g2377-5-42-7">
+      <ellipse
+         inkscape:transform-center-y="-59.720238"
+         inkscape:transform-center-x="13.229167"
+         ry="3.1499126"
+         rx="6.5516987"
+         cy="141.425"
+         cx="100.0881"
+         id="path1780-3-7-12-8-3"
+         style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-3-60-1"
+         y="132.96213"
+         x="102.67519"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="132.96213"
+           x="102.67519"
+           id="tspan2372-8-0-3"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:start;display:inline;opacity:0.98999999;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267372;"
+       x="61.492149"
+       y="95.809807"
+       id="text1773-6-6-5-2-7-4-4-2-1"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         sodipodi:role="line"
+         id="tspan1453">ring2</tspan></text>
+    <g
+       transform="matrix(0.97798109,0,0,0.74420897,-36.315815,5.8450456)"
+       style="display:inline;opacity:0.98999999;fill:#eef4d7"
+       id="g2377-5-42-6">
+      <ellipse
+         inkscape:transform-center-y="-59.720238"
+         inkscape:transform-center-x="13.229167"
+         ry="3.1499126"
+         rx="6.5516987"
+         cy="141.425"
+         cx="100.0881"
+         id="path1780-3-7-12-8-0"
+         style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none" />
+      <text
+         transform="scale(0.93214046,1.0727997)"
+         id="text1773-6-6-5-2-7-4-3-60-6"
+         y="132.96213"
+         x="102.67519"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
+         xml:space="preserve"><tspan
+           y="132.96213"
+           x="102.67519"
+           id="tspan2372-8-0-5"
+           sodipodi:role="line">ring</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416667px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:start;display:inline;opacity:0.98999999;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267372;"
+       x="61.492153"
+       y="104.82938"
+       id="text1773-6-6-5-2-7-4-4-2-3"
+       transform="scale(0.93214045,1.0727997)"><tspan
+         sodipodi:role="line"
+         id="tspan1455">ring3</tspan></text>
+  </g>
+</svg>
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 08/28] docs: fix bug spp_vf howto_use guide
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (5 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 07/28] docs: add image for sample usage ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 09/28] docs: fix link warning ogawa.yasufumi
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/gsg/howto_use.rst | 41 ++++++++----------------------------
 1 file changed, 9 insertions(+), 32 deletions(-)

diff --git a/docs/guides/spp_vf/gsg/howto_use.rst b/docs/guides/spp_vf/gsg/howto_use.rst
index 1db3ebf..e5983fb 100644
--- a/docs/guides/spp_vf/gsg/howto_use.rst
+++ b/docs/guides/spp_vf/gsg/howto_use.rst
@@ -32,30 +32,9 @@
 How to Use
 ==========
 
-SPP_VF
-------
-
-``SPP_VF`` is a SR-IOV like network functionality for NFV.
-
-.. image:: images/spp_vf_overview.svg
-   :height: 550 em
-   :width: 550 em
-
-Environment
------------
-
-* Ubuntu 16.04
-* qemu-kvm 2.7 or later
-* DPDK v17.11 or later
-
-Launch SPP
-----------
-
-Before launching spp, you need to setup DPDK, virsh, etc. described at
-:doc:`build`.
 
 SPP Controller
-~~~~~~~~~~~~~~
+--------------
 
 First, run SPP Controller with port numbers for spp primary and secondary.
 
@@ -65,7 +44,7 @@ First, run SPP Controller with port numbers for spp primary and secondary.
 
 
 SPP Primary
-~~~~~~~~~~~
+-----------
 
 SPP primary allocates and manages resources for secondary processes.
 You need to run SPP primary before secondary processes.
@@ -94,7 +73,7 @@ Then, spp primary can be launched like this.
       -- -p 0x03 -n 9 -s 127.0.0.1:5555
 
 SPP Secondary
-~~~~~~~~~~~~~
+-------------
 
 spp secondary processes(``spp_vf``) can be launched with two kinds of
 options, like primary process.
@@ -104,9 +83,9 @@ DPDK, the other is ``spp_vf``.
 
 ``spp_vf`` specific options are:
 
-  * --client-id    : client id
-  * -s             : IPv4 address and port for spp secondary
-  * --vhost-client : vhost-user client enable setting
+  * --client-id: client id
+  * -s: IPv4 address and port for spp secondary
+  * --vhost-client: vhost-user client enable setting
 
 ``spp_vf`` can be launched like this.
 
@@ -120,7 +99,7 @@ If ``--vhost-client`` option is specified, then ``vhost-user`` act as
 the client, otherwise the server.
 For reconnect feature from SPP to VM, ``--vhost-client`` option can be
 used. This reconnect features requires QEMU 2.7 (or later).
-See also `DPDK documentation <http://dpdk.org/doc/guides/sample_app_ug/vhost.html>_.
+See also `DPDK documentation <http://dpdk.org/doc/guides/sample_app_ug/vhost.html>`_.
 
 VM
 --
@@ -138,8 +117,7 @@ Additional Network Configurations
 To enable processes running on the VM to communicate through spp,
 it is required additional network configurations on host and guest VMs.
 
-Guest VMs
-"""""""""
+(1) Guest VMs
 
 .. code-block:: console
 
@@ -149,8 +127,7 @@ Guest VMs
     # Disable offload for vhost interface
     $ sudo ethtool -K [IF_NAME] tx off
 
-Host2
-"""""
+(2) Host2
 
 .. code-block:: console
 
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 09/28] docs: fix link warning
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (6 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 08/28] docs: fix bug spp_vf howto_use guide ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 10/28] docs: add overview image for spp_vf usercase1 ogawa.yasufumi
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Change titles of link for DPDK documentation because duplicated titles
are warned from sphinx compiler.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/gsg/howto_use.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/docs/guides/spp_vf/gsg/howto_use.rst b/docs/guides/spp_vf/gsg/howto_use.rst
index e5983fb..b54a25e 100644
--- a/docs/guides/spp_vf/gsg/howto_use.rst
+++ b/docs/guides/spp_vf/gsg/howto_use.rst
@@ -32,7 +32,6 @@
 How to Use
 ==========
 
-
 SPP Controller
 --------------
 
@@ -52,9 +51,9 @@ You need to run SPP primary before secondary processes.
 SPP primary has two kinds of options for DPDK and spp.
 Before ``--`` are for DPDK is, and after ``--`` are for spp.
 
-See
-`DPDK documentation <http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html#running-a-sample-application>`_
-about options for DPDK.
+See `Running a Sample Application
+<http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html#running-a-sample-application>`_
+in DPDK documentation for options.
 
 Options of spp primary are:
 
@@ -99,7 +98,8 @@ If ``--vhost-client`` option is specified, then ``vhost-user`` act as
 the client, otherwise the server.
 For reconnect feature from SPP to VM, ``--vhost-client`` option can be
 used. This reconnect features requires QEMU 2.7 (or later).
-See also `DPDK documentation <http://dpdk.org/doc/guides/sample_app_ug/vhost.html>`_.
+See also `Vhost Sample Application
+<http://dpdk.org/doc/guides/sample_app_ug/vhost.html>`_.
 
 VM
 --
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 10/28] docs: add overview image for spp_vf usercase1
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (7 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 09/28] docs: fix link warning ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 11/28] docs: add config " ogawa.yasufumi
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/images/usecase1_overview.svg | 411 ++++++++++++++++++++++++
 1 file changed, 411 insertions(+)
 create mode 100644 docs/guides/spp_vf/images/usecase1_overview.svg

diff --git a/docs/guides/spp_vf/images/usecase1_overview.svg b/docs/guides/spp_vf/images/usecase1_overview.svg
new file mode 100644
index 0000000..8a2638f
--- /dev/null
+++ b/docs/guides/spp_vf/images/usecase1_overview.svg
@@ -0,0 +1,411 @@
+<?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="172mm"
+   height="85mm"
+   viewBox="0 0 609.44882 301.1811"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="usecase1_overview.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4262"
+         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="marker4662"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4664"
+         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="marker4622"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4624"
+         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="marker4588"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4590"
+         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="marker4548"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         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="path4550"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="marker4526"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend">
+      <path
+         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="path4528"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path4265"
+         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>
+  </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="493.57143"
+     inkscape:cy="234.28571"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer6"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="851"
+     inkscape:window-x="0"
+     inkscape:window-y="1"
+     inkscape:window-maximized="1" />
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Host"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-751.1811)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.58125663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4136"
+       width="151.84288"
+       height="281.13339"
+       x="9.1119556"
+       y="764.15027" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.18252945;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4138"
+       width="387.26285"
+       height="279.12057"
+       x="214.23878"
+       y="763.56775" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="VM"
+     transform="translate(0,-88.582674)">
+    <rect
+       style="opacity:1;fill:#e6ffff;fill-opacity:1;stroke:#000000;stroke-width:1.03101707;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4162"
+       width="148.96898"
+       height="108.96899"
+       x="403.4101"
+       y="128.86969" />
+    <rect
+       style="opacity:1;fill:#e6ffff;fill-opacity:1;stroke:#000000;stroke-width:1.04687059;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4164"
+       width="148.95314"
+       height="108.95313"
+       x="404.03186"
+       y="259.73627" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="Processes"
+     transform="translate(0,-88.582674)">
+    <rect
+       style="opacity:1;fill:#ffe8cb;fill-opacity:1;stroke:#000000;stroke-width:0.71295989;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4167"
+       width="83.287041"
+       height="59.287041"
+       x="48.856339"
+       y="218.76329"
+       ry="18.798328" />
+    <rect
+       style="opacity:1;fill:#ffe8cb;fill-opacity:1;stroke:#000000;stroke-width:0.91795272;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4169"
+       width="99.082047"
+       height="39.082047"
+       x="249.03409"
+       y="179.42133"
+       ry="18.344635" />
+    <rect
+       style="opacity:1;fill:#ffe8cb;fill-opacity:1;stroke:#000000;stroke-width:0.81143534;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4173"
+       width="99.188568"
+       height="39.188564"
+       x="250.13498"
+       y="274.87012"
+       ry="18.08703" />
+    <rect
+       style="opacity:1;fill:#ffe8cb;fill-opacity:1;stroke:#000000;stroke-width:1.06322145;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4175"
+       width="82.936775"
+       height="58.936779"
+       x="437.79706"
+       y="166.99889"
+       ry="17.189894" />
+    <rect
+       style="opacity:1;fill:#ffe8cb;fill-opacity:1;stroke:#000000;stroke-width:1.00228477;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4177"
+       width="82.997719"
+       height="58.997715"
+       x="437.7666"
+       y="295.98132"
+       ry="20.059225" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Pathes"
+     transform="translate(0,-88.582674)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4526)"
+       d="M 132.85714,238.33522 250,199.76379"
+       id="path4228"
+       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(#marker4622)"
+       d="m 344.28571,189.76379 91.42858,-4.28571"
+       id="path4230"
+       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-start:url(#Arrow2Lstart)"
+       d="m 347.14286,284.04951 90,-77.14286"
+       id="path4232"
+       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(#Arrow2Lend)"
+       d="m 345.71429,211.19237 91.42856,104.28571"
+       id="path4234"
+       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(#marker4662)"
+       d="M 435.71429,335.47808 347.14286,302.62094"
+       id="path4236"
+       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(#marker4548)"
+       d="M 248.57143,294.04951 132.85714,259.76379"
+       id="path4238"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-Processes"
+     transform="translate(0,-88.582674)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="90.285713"
+       y="242.62094"
+       id="text4189"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4191"
+         x="90.285713"
+         y="242.62094"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;writing-mode:lr-tb;text-anchor:middle">SSH</tspan><tspan
+         sodipodi:role="line"
+         x="90.285713"
+         y="264.49594"
+         id="tspan4193"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;writing-mode:lr-tb;text-anchor:middle">client</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="480.85718"
+       y="191.19237"
+       id="text4195"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4197"
+         x="480.85718"
+         y="191.19237"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;writing-mode:lr-tb;text-anchor:middle">SSH</tspan><tspan
+         sodipodi:role="line"
+         x="480.85718"
+         y="213.06737"
+         id="tspan4199"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;writing-mode:lr-tb;text-anchor:middle">server1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="481.14288"
+       y="321.47809"
+       id="text4201"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4203"
+         x="481.14288"
+         y="321.47809"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;writing-mode:lr-tb;text-anchor:middle">SSH</tspan><tspan
+         sodipodi:role="line"
+         x="481.14288"
+         y="343.35309"
+         id="tspan4205"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;writing-mode:lr-tb;text-anchor:middle">server2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="268.28571"
+       y="300.90665"
+       id="text4211"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4213"
+         x="268.28571"
+         y="300.90665">Merger</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="258"
+       y="204.90665"
+       id="text4215"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4217"
+         x="258"
+         y="204.90665">Classifier</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Label-Host"
+     transform="translate(0,-88.582674)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="231.71429"
+       y="128.0495"
+       id="text4180"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4182"
+         x="231.71429"
+         y="128.0495">host2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="21.714283"
+       y="129.76379"
+       id="text4184"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4186"
+         x="21.714283"
+         y="129.76379">host1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="412.85715"
+       y="150.62094"
+       id="text4219"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4221"
+         x="412.85715"
+         y="150.62094">VM1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="413.42859"
+       y="281.19235"
+       id="text4223"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4225"
+         x="413.42859"
+         y="281.19235">VM2</tspan></text>
+  </g>
+</svg>
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 11/28] docs: add config image for spp_vf usercase1
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (8 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 10/28] docs: add overview image for spp_vf usercase1 ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-06 15:34   ` Ferruh Yigit
  2018-02-07  0:26   ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 12/28] docs: add numref attribute for sphinx ogawa.yasufumi
                   ` (10 subsequent siblings)
  20 siblings, 2 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Add an image of detailed network configuration.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/images/usecase1_nwconfig.svg | 1916 +++++++++++++++++++++++
 1 file changed, 1916 insertions(+)
 create mode 100644 docs/guides/spp_vf/images/usecase1_nwconfig.svg

diff --git a/docs/guides/spp_vf/images/usecase1_nwconfig.svg b/docs/guides/spp_vf/images/usecase1_nwconfig.svg
new file mode 100644
index 0000000..65ac3b8
--- /dev/null
+++ b/docs/guides/spp_vf/images/usecase1_nwconfig.svg
@@ -0,0 +1,1916 @@
+<?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="330mm"
+   height="160mm"
+   viewBox="0 0 1169.2911 566.92911"
+   id="svg9270"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="usecase1_nwconfig.svg"
+   inkscape:export-filename="/Users/ogawa/Pictures/usecase1_nwconfig.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs9272">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker39317"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path39319"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker38983"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path38985"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker36783"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path36785" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker36461"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path36463"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker36145"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path36147" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker35835"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path35837"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker35523"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path35525" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker35225"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path35227"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker34933"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path34935" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker34647"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path34649"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker34331"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path34333" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker33707"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path33709"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker33083"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path33085" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker30453"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path30455"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker24437"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path24439" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker24169"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path24171"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker23907"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path23909" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker23651"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path23653"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker22041"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path22043" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker21327"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path21329"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker21101"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path21103" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20877"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path20879"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker20663"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path20665" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20449"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path20451"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker20247"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path20249" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20051"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path20053"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19861"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path19863" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19677"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path19679"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19499"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path19501" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19327"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path19329"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19161"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path19163" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19001"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path19003"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker18699"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path18701"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker18557"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path18559" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker18421"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path18423"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker18289"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path18291" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker18163"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path18165"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker18045"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path18047" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17933"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17935"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17827"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17829" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17727"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17729"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17633"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17635" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17545"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17547"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17463"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17465" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17387"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17389"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17317"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17319" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17197"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17199"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17139"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17141" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker15631"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path15633"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14207"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker14505"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path14507" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path14210"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path14192"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="666.19832"
+     inkscape:cy="405.71429"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer8"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="851"
+     inkscape:window-x="30"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata9275">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Background"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-485.43308)"
+     style="display:inline"
+     sodipodi:insensitive="true" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Host"
+     transform="translate(0,-177.16534)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.6133436;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13751"
+       width="890.95874"
+       height="552.8847"
+       x="272.94727"
+       y="185.40306" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.00359738;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13753"
+       width="195.26669"
+       height="551.57568"
+       x="5.5016766"
+       y="187.01703" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.90717888;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13781"
+       width="59.092819"
+       height="79.092819"
+       x="139.98549"
+       y="295.58737" />
+    <path
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93401569;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 139.55317,581.42013 0,-39.53299 29.53299,0 29.53299,0 0,39.53299 0,39.53299 -29.53299,0 -29.53299,0 0,-39.53299 z"
+       id="path13785"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.87119967;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13849"
+       width="59.128799"
+       height="79.128799"
+       x="274.25272"
+       y="296.14145" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.84680814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13851"
+       width="59.153191"
+       height="79.153191"
+       x="275.66907"
+       y="542.12927" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.59599024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13887"
+       cx="586.10284"
+       cy="248.56296"
+       rx="29.702003"
+       ry="19.702005" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.87626642;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13893"
+       cx="585.81708"
+       cy="303.1344"
+       rx="29.561867"
+       ry="19.561867" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.97154814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895"
+       cx="585.24567"
+       cy="357.70587"
+       rx="29.514225"
+       ry="19.514225" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.74929738;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13897"
+       cx="585.81714"
+       cy="415.1344"
+       rx="29.625351"
+       ry="19.625351" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.76775968;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13899"
+       cx="586.67426"
+       cy="503.1344"
+       rx="29.616119"
+       ry="19.616119" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.87893379;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13901"
+       cx="586.38849"
+       cy="562.56299"
+       rx="29.560534"
+       ry="19.560534" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.78242588;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13903"
+       cx="586.38849"
+       cy="628.27722"
+       rx="29.608788"
+       ry="19.608788" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.94965303;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13905"
+       cx="586.38849"
+       cy="681.13446"
+       rx="29.525173"
+       ry="19.525173" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.61938131;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13907"
+       cx="856.99988"
+       cy="281.42014"
+       rx="34.690308"
+       ry="29.69031" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.62367457;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13909"
+       cx="856.99988"
+       cy="538.84869"
+       rx="34.688164"
+       ry="29.688162" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.77769536;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13911"
+       cx="856.99988"
+       cy="385.70581"
+       rx="34.611153"
+       ry="29.611153" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.8012569;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13913"
+       cx="856.99988"
+       cy="652.84869"
+       rx="34.599373"
+       ry="29.599371" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker33083);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 767.91785,575.80307 59.39696,60.81118"
+       id="path33075"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="VM"
+     transform="translate(0,-177.16534)">
+    <rect
+       style="opacity:1;fill:#ebffff;fill-opacity:1;stroke:#000000;stroke-width:0.93337435;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13777"
+       width="217.55193"
+       height="218.96613"
+       x="940.46655"
+       y="206.22203" />
+    <rect
+       style="opacity:1;fill:#ebffff;fill-opacity:1;stroke:#000000;stroke-width:1.06073654;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13779"
+       width="216.01033"
+       height="227.32404"
+       x="940.53027"
+       y="471.90094" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.85308915;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13853"
+       width="59.146908"
+       height="59.146912"
+       x="940.42645"
+       y="254.98952" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.83044261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13855"
+       width="59.169556"
+       height="59.169556"
+       x="940.4151"
+       y="354.12106" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.8089959;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13857"
+       width="59.191002"
+       height="59.191006"
+       x="940.40436"
+       y="512.68176" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.76903498;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13859"
+       width="59.230965"
+       height="59.230965"
+       x="940.3844"
+       y="625.51892" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Processes"
+     transform="translate(0,-177.16534)">
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.81312722;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13924"
+       width="109.18687"
+       height="39.186874"
+       x="393.72644"
+       y="265.10025"
+       ry="19.593437" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.71274847;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13975"
+       width="109.28725"
+       height="39.287251"
+       x="393.88773"
+       y="621.49078"
+       ry="17.46097" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.88880163;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13977"
+       width="109.1112"
+       height="39.111198"
+       x="395.51413"
+       y="365.75101"
+       ry="18.15877"
+       rx="22.00881" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.89412194;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13979"
+       width="109.10588"
+       height="39.105877"
+       x="395.72339"
+       y="507.80826"
+       ry="18.156273" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.97586316;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13981"
+       width="109.02414"
+       height="39.024136"
+       x="664.30499"
+       y="227.05092"
+       ry="16.364935" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:1.03414404;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983"
+       width="108.96586"
+       height="38.965855"
+       x="664.33417"
+       y="283.65152"
+       ry="18.091263" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.83751601;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13985"
+       width="109.16249"
+       height="39.162483"
+       x="662.80725"
+       y="340.41031"
+       ry="19.581242" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:1.00372946;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13987"
+       width="108.99627"
+       height="38.996269"
+       x="662.89044"
+       y="397.92197"
+       ry="19.498135" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.97586316;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13989"
+       width="109.02413"
+       height="39.024136"
+       x="664.30499"
+       y="484.7652"
+       ry="19.512068"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.89144975;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13991"
+       width="109.10855"
+       height="39.108551"
+       x="662.83423"
+       y="544.72296"
+       ry="19.554276"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:1.14577103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13993"
+       width="108.85423"
+       height="38.854229"
+       x="661.24713"
+       y="663.70734"
+       ry="19.427114"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93164957;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13995"
+       width="109.06834"
+       height="39.068352"
+       x="661.42572"
+       y="609.02881"
+       ry="19.534176"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.65907991;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14176"
+       width="79.340927"
+       height="59.340919"
+       x="25.659908"
+       y="426.19189"
+       ry="19.570276" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.64513224;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14178"
+       width="79.354866"
+       height="59.354866"
+       x="1048.8572"
+       y="302.94739"
+       ry="13.320185" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.67842245;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14180"
+       width="79.321571"
+       height="59.321579"
+       x="1048.5306"
+       y="565.90723"
+       ry="14.095816" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer8"
+     inkscape:label="Pathes"
+     transform="translate(0,-177.16534)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="M 48.083139,427.31064 C 48.49406,336.26236 56.83346,315.68649 138.59281,318.4162"
+       id="path14183"
+       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-start:url(#Arrow2Lstart)"
+       d="m 80.610051,424.48222 c -0.488362,-55.71646 4.616042,-76.55129 57.982759,-76.36754"
+       id="path14497"
+       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(#marker15631)"
+       d="M 138.59282,598.43048 C 60.667106,598.15102 51.055777,583.15326 49.497352,486.70761"
+       id="path15609"
+       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(#marker14505)"
+       d="m 80.610051,486.70761 c 3.121247,70.22472 26.782499,78.77937 56.568549,79.19596"
+       id="path15611"
+       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(#marker17139)"
+       d="m 199.40399,318.4162 72.12489,0"
+       id="path17129"
+       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(#marker17197)"
+       d="m 272.94309,350.94311 -72.12488,0"
+       id="path17131"
+       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(#marker17317)"
+       d="m 332.34007,318.4162 60.81118,-31.1127"
+       id="path17255"
+       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(#marker17387)"
+       d="m 395.97968,386.29845 -62.2254,-33.94113"
+       id="path17257"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17463);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 497.80305,271.74715 57.98276,-21.21321"
+       id="path17259"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17545);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 615.18278,246.2913 46.66905,0"
+       id="path17261"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17633);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 773.5747,247.70552 50.91169,24.04162"
+       id="path17267"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18163);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 825.07217,294.37457 -52.3259,63.63961"
+       id="path17269"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker17727)"
+       d="m 889.54021,268.91872 49.49748,0"
+       id="path17271"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18045);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 940.4519,297.20299 -55.15433,0"
+       id="path17273"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17827);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 998.43465,266.09029 c 94.63305,0.45774 104.16945,5.24597 107.48025,35.35534"
+       id="path17275"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17933);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 1071.1453,303.44563 c 6.6858,-10.51028 -33.019,-11.89778 -70.7107,-11.31371"
+       id="path17277"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18421);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 998.43465,376.98474 c 40.24095,0.5143 56.08195,3.05682 76.36755,-11.31371"
+       id="path17279"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18557);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 1108.7433,363.08524 c 0.564,40.58047 -33.6193,36.97478 -107.4802,38.18376"
+       id="path17281"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18699);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 888.126,375.32788 50.91169,-1.41421"
+       id="path17283"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20663);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="M 772.16048,502.26396 824.48639,401.8548"
+       id="path17287"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20877);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="M 837.2143,411.75429 767.91784,618.22947"
+       id="path17289"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20449);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 829.31481,671.96959 -59.39697,12.72792"
+       id="path17291"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker19861);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 1111.5718,625.30054 c -3.2308,26.90074 -39.1957,44.28131 -110.3087,41.01219"
+       id="path17293"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20247);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 938.20926,669.14116 -50.91169,-1.41421"
+       id="path17295"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20051);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 886.71178,636.61425 50.91169,0"
+       id="path17297"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker19677);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 1001.2631,642.2711 c 33.0296,0.8126 63.8757,1.51529 73.5391,-14.14213"
+       id="path17299"
+       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-opacity:1;marker-end:url(#marker19001);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 886.71178,526.30559 52.32591,0"
+       id="path17303"
+       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-opacity:1;marker-end:url(#marker19161);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 998.43465,527.7198 c 85.27465,-1.40183 113.99635,2.84932 113.13705,39.59799"
+       id="path17305"
+       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-opacity:1;marker-end:url(#marker19499);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 1067.7312,564.48935 c 0.2203,-10.60148 -37.0372,-9.65317 -66.4681,-11.3137"
+       id="path17307"
+       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-opacity:1;marker-end:url(#marker19327);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 938.20926,557.41829 -50.91169,-1.41422"
+       id="path17309"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18289);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 769.91784,313.34513 70.71068,197.9899"
+       id="path18281"
+       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-opacity:1;marker-end:url(#marker22041);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="M 826.48639,526.30558 767.08942,430.13907"
+       id="path18413"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker21327);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 555.78581,358.01418 -53.74012,16.97056"
+       id="path21091"
+       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-opacity:1;marker-end:url(#marker21101);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="M 557.20002,415.99693 502.04569,396.19794"
+       id="path21093"
+       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(#marker24169)"
+       d="m 197.98978,565.90357 73.5391,0"
+       id="path23635"
+       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(#marker24437)"
+       d="m 271.52888,599.84469 -69.29646,0"
+       id="path23639"
+       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(#marker23907)"
+       d="m 333.75428,565.90357 59.39697,-33.94113"
+       id="path23641"
+       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(#marker23651)"
+       d="M 393.15125,640.85689 335.1685,602.67312"
+       id="path23643"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker30453);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 939.62347,397.61216 -50.91169,0"
+       id="path30445"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker33707);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 499.21727,291.54614 56.56854,11.31371"
+       id="path33699"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker34331);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 615.76857,302.85985 46.66904,0"
+       id="path34323"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0;marker-end:url(#marker38983)"
+       d="m 661.85183,358.01418 -49.49748,0"
+       id="path34629"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker39317)"
+       d="m 663.26604,417.41115 -48.08326,0"
+       id="path34631"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker34647);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 502.04569,517.82031 53.74012,-15.55635"
+       id="path34633"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker35225);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 502.04569,534.79087 53.74012,24.04163"
+       id="path34635"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker34933);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 615.18278,502.26396 45.25483,0"
+       id="path34637"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker35523);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 615.18278,563.07514 45.25483,0"
+       id="path34639"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker36145);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 660.43761,629.54318 -45.25483,0"
+       id="path35821"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker36461);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 661.0234,683.2833 -42.42641,1.41421"
+       id="path35823"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker36783);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="M 555.78581,681.86908 499.21727,653.58481"
+       id="path35825"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker35835);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 555.78581,630.95739 -53.74012,4.24264"
+       id="path35827"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Label-Host"
+     style="display:inline"
+     transform="translate(0,-177.16534)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="14.285588"
+       y="209.80876"
+       id="text13862"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13864"
+         x="14.285588"
+         y="209.80876">host1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="281.71417"
+       y="206.95163"
+       id="text13866"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13868"
+         x="281.71417"
+         y="206.95163">host2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="150.28558"
+       y="341.80878"
+       id="text13870"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13872"
+         x="150.28558"
+         y="341.80878">NIC2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="149.42845"
+       y="582.95166"
+       id="text13874"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13876"
+         x="149.42845"
+         y="582.95166">NIC3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="282.28558"
+       y="339.52304"
+       id="text13878"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13880"
+         x="282.28558"
+         y="339.52304">NIC0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="283.14273"
+       y="588.66589"
+       id="text13882"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13884"
+         x="283.14273"
+         y="588.66589">NIC1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="564.28558"
+       y="254.38019"
+       id="text13889"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13891"
+         x="564.28558"
+         y="254.38019">ring0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.92798"
+       y="307.93091"
+       id="text14060"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14062"
+         x="563.92798"
+         y="307.93091">ring1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.09955"
+       y="362.6416"
+       id="text14064"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14066"
+         x="563.09955"
+         y="362.6416">ring2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.34216"
+       y="419.89642"
+       id="text14068"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14070"
+         x="563.34216"
+         y="419.89642">ring3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.09949"
+       y="509.92081"
+       id="text14072"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14074"
+         x="563.09949"
+         y="509.92081">ring4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.34216"
+       y="568.83252"
+       id="text14076"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14078"
+         x="563.34216"
+         y="568.83252">ring5</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="564.51373"
+       y="634.47211"
+       id="text14080"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14082"
+         x="564.51373"
+         y="634.47211">ring6</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.92798"
+       y="686.21222"
+       id="text14084"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14086"
+         x="563.92798"
+         y="686.21222">ring7</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="825.75848"
+       y="286.47507"
+       id="text14088"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14090"
+         x="825.75848"
+         y="286.47507">vhost0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="826.58698"
+       y="391.91367"
+       id="text14092"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14094"
+         x="826.58698"
+         y="391.91367">vhost1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="824.58691"
+       y="545.07513"
+       id="text14096"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14098"
+         x="824.58691"
+         y="545.07513">vhost2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="828.58691"
+       y="658.99902"
+       id="text14100"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14102"
+         x="828.58691"
+         y="658.99902">vhost3</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-VM"
+     transform="translate(0,-177.16534)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="949.42841"
+       y="230.66591"
+       id="text13915"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13917"
+         x="949.42841"
+         y="230.66591">VM1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="950.85706"
+       y="496.66589"
+       id="text13919"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13921"
+         x="950.85706"
+         y="496.66589">VM2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28558"
+       y="291.52307"
+       id="text14018"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14020"
+         x="944.28558"
+         y="291.52307">vNIC0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28564"
+       y="384.38019"
+       id="text14022"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14024"
+         x="944.28564"
+         y="384.38019">vNIC1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28564"
+       y="550.9516"
+       id="text14026"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14028"
+         x="944.28564"
+         y="550.9516">vNIC2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28564"
+       y="660.66589"
+       id="text14030"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14032"
+         x="944.28564"
+         y="660.66589">vNIC3</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer7"
+     inkscape:label="Label-Processes"
+     transform="translate(0,-177.16534)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="404.85703"
+       y="291.23734"
+       id="text13998"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14000"
+         x="404.85703"
+         y="291.23734">classifier1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="412.28558"
+       y="390.66592"
+       id="text14002"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14004"
+         x="412.28558"
+         y="390.66592">merger1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="407.99988"
+       y="533.80878"
+       id="text14006"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14008"
+         x="407.99988"
+         y="533.80878">classifier2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="410.57132"
+       y="647.52307"
+       id="text14010"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14012"
+         x="410.57132"
+         y="647.52307">merger2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="670.85699"
+       y="253.80878"
+       id="text14014"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14016"
+         x="670.85699"
+         y="253.80878">forwarder1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="65.396843"
+       y="452.23956"
+       id="text14034"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14036"
+         x="65.396843"
+         y="452.23956">SSH</tspan><tspan
+         sodipodi:role="line"
+         x="65.396843"
+         y="474.11456"
+         id="tspan14038">client</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1089.9149"
+       y="327.58777"
+       id="text14040"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14056"
+         x="1089.9149"
+         y="327.58777">SSH</tspan><tspan
+         sodipodi:role="line"
+         id="tspan14058"
+         x="1089.9149"
+         y="349.46277">server1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1089.2286"
+       y="591.35944"
+       id="text14046"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14052"
+         x="1089.2286"
+         y="591.35944">SSH</tspan><tspan
+         sodipodi:role="line"
+         id="tspan14054"
+         x="1089.2286"
+         y="613.23444">Server2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="669.85181"
+       y="310.4162"
+       id="text14148"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14150"
+         x="669.85181"
+         y="310.4162">forwarder2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="667.85181"
+       y="365.22739"
+       id="text14152"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14154"
+         x="667.85181"
+         y="365.22739">forwarder3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="666.43756"
+       y="422.72485"
+       id="text14156"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14158"
+         x="666.43756"
+         y="422.72485">forwarder4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="670.68024"
+       y="509.67819"
+       id="text14160"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14162"
+         x="670.68024"
+         y="509.67819">forwarder5</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="669.26605"
+       y="569.07513"
+       id="text14164"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14166"
+         x="669.26605"
+         y="569.07513">forwarder6</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="669.50867"
+       y="633.88635"
+       id="text14168"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14170"
+         x="669.50867"
+         y="633.88635">forwarder7</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="668.92291"
+       y="687.52594"
+       id="text14172"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14174"
+         x="668.92291"
+         y="687.52594">forwarder8</tspan></text>
+  </g>
+</svg>
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 12/28] docs: add numref attribute for sphinx
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (9 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 11/28] docs: add config " ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 13/28] docs: add usecase section in spp_vf ogawa.yasufumi
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

To enable to embed a reference for a figure with a number such as
'Fig. 1.1', add 'numfig = True' in conf.py.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/conf.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/guides/conf.py b/docs/guides/conf.py
index 5a645fb..e65f867 100644
--- a/docs/guides/conf.py
+++ b/docs/guides/conf.py
@@ -44,6 +44,8 @@ source_suffix = '.rst'
 # The master toctree document.
 master_doc = 'index'
 
+numfig = True
+
 # General information about the project.
 project = u'Soft Patch Panel'
 copyright = u'2018, Yasufumi Ogawa'
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 13/28] docs: add usecase section in spp_vf
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (10 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 12/28] docs: add numref attribute for sphinx ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 14/28] docs: add ssh login usecase for spp_vf ogawa.yasufumi
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/use_cases/index.rst    |   5 +
 docs/guides/spp_vf/use_cases/usecase1.rst | 361 ++++++++++++++++++++++++++++++
 2 files changed, 366 insertions(+)
 create mode 100644 docs/guides/spp_vf/use_cases/usecase1.rst

diff --git a/docs/guides/spp_vf/use_cases/index.rst b/docs/guides/spp_vf/use_cases/index.rst
index ba8c582..302085f 100644
--- a/docs/guides/spp_vf/use_cases/index.rst
+++ b/docs/guides/spp_vf/use_cases/index.rst
@@ -30,3 +30,8 @@
 
 Use Cases
 =========
+
+.. toctree::
+   :maxdepth: 2
+
+   usecase1
diff --git a/docs/guides/spp_vf/use_cases/usecase1.rst b/docs/guides/spp_vf/use_cases/usecase1.rst
new file mode 100644
index 0000000..05dc86c
--- /dev/null
+++ b/docs/guides/spp_vf/use_cases/usecase1.rst
@@ -0,0 +1,361 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Simple SSH Login
+================
+
+This section describes a usecase for simple SSH login through SPP VF.
+Incoming packets are classified based on destination addresses defined
+in ``classifier``.
+Reterned packets are aggregated to ``merger`` to send it an outgoing
+port.
+
+.. _figure_simple_ssh_login:
+
+.. figure:: ../images/usecase1_overview.*
+    :height: 400 em
+    :width: 400 em
+
+    Simple SSH Login
+
+
+Launch SPP VF
+~~~~~~~~~~~~~
+
+Change directory to spp and confirm that it is already compiled.
+
+.. code-block:: console
+
+    $ cd /path/to/spp
+
+As spp, launch controller first. You notice that SPP VF has its own
+controller ``spp_vf.py`` and do not use ``spp.py``.
+
+.. code-block:: console
+
+    # Launch spp_vf.py
+    $ python ./src/spp_vf.py -p 5555 -s 6666
+
+Then, run ``spp_primary``.
+
+.. code-block:: console
+
+    $ sudo ./src/primary/x86_64-native-linuxapp-gcc/spp_primary \
+        -c 0x02 -n 4 \
+        --socket-mem 512,512 \
+        --huge-dir=/run/hugepages/kvm \
+        --proc-type=primary \
+        -- \
+        -p 0x03 -n 8 -s 127.0.0.1:5555
+
+After ``spp_primary`` is launched, run secondary process ``spp_vf``.
+
+.. code-block:: console
+
+    $ sudo ./src/vf/x86_64-native-linuxapp-gcc/spp_vf \
+        -c 0x00fe -n 4 --proc-type=secondary \
+        -- \
+        --client-id 1 \
+        -s 127.0.0.1:6666 \
+        --vhost-client
+
+
+Network Configuration
+~~~~~~~~~~~~~~~~~~~~~
+
+Detailed configuration of :numref:`figure_simple_ssh_login` is
+described below.
+
+.. _figure_network_config:
+
+.. figure:: ../images/usecase1_nwconfig.*
+    :height: 720 em
+    :width: 720 em
+
+    Network Configuration
+
+First, start the ``component`` of classifier, forwarders, and merge
+in ``spp_vf``.
+
+.. code-block:: console
+
+    # Start component to spp_vf
+    spp > sec 1;component start classifier1 2 classifier_mac
+    spp > sec 1;component start forward1 3 forward
+    spp > sec 1;component start forward2 4 forward
+    spp > sec 1;component start forward3 5 forward
+    spp > sec 1;component start forward4 6 forward
+    spp > sec 1;component start merge1 7 merge
+
+Second, add ``port`` to each component in ``spp_vf``.
+
+.. code-block:: console
+
+    # Add port to component
+    spp > sec 1;port add phy:0 rx classifier1
+    spp > sec 1;port add ring:0 tx classifier1
+    spp > sec 1;port add ring:1 tx classifier1
+    spp > sec 1;port add ring:0 rx forward1
+    spp > sec 1;port add vhost:0 tx forward1
+    spp > sec 1;port add vhost:0 rx forward2
+    spp > sec 1;port add ring:2 tx forward2
+    spp > sec 1;port add ring:1 rx forward3
+    spp > sec 1;port add vhost:2 rx forward3
+    spp > sec 1;port add vhost:2 tx forward4
+    spp > sec 1;port add ring:3 rx forward4
+    spp > sec 1;port add ring:2 rx merge1
+    spp > sec 1;port add ring:3 rx merge1
+    spp > sec 1;port add phy:0 tx merge1
+
+To communicate remote node and VM via NIC0, each of packets from
+remote node is required to be routed to specific VM according
+to its MAC address.
+This configuration is done by ``classfier_table`` command.
+
+.. code-block:: console
+
+    # Register MAC address to classifier
+    spp > classifier_table add mac 52:54:00:12:34:56 ring:0
+    spp > classifier_table add mac 52:54:00:12:34:58 ring:1
+
+
+For NIC1, also setup ``component``, ``port`` and ``classifier_table``,
+as following steps.
+
+.. code-block:: console
+
+    # Start component to spp_vf
+    spp > sec 1;component start classifier2 8 classifier_mac
+    spp > sec 1;component start forward5 9 forward
+    spp > sec 1;component start forward6 10 forward
+    spp > sec 1;component start forward7 11 forward
+    spp > sec 1;component start forward8 12 forward
+    spp > sec 1;component start merge2 13 merge
+
+.. code-block:: console
+
+    # Add port to component
+    spp > sec 1;port add phy:1 rx classifier2
+    spp > sec 1;port add ring:4 tx classifier2
+    spp > sec 1;port add ring:5 tx classifier2
+    spp > sec 1;port add ring:4 rx forward5
+    spp > sec 1;port add vhost:1 tx forward5
+    spp > sec 1;port add vhost:1 rx forward6
+    spp > sec 1;port add ring:6 tx forward6
+    spp > sec 1;port add ring:5 rx forward7
+    spp > sec 1;port add vhost:3 rx forward7
+    spp > sec 1;port add vhost:3 tx forward8
+    spp > sec 1;port add ring:7 rx forward8
+    spp > sec 1;port add ring:6 rx merge2
+    spp > sec 1;port add ring:7 rx merge2
+    spp > sec 1;port add phy:1 tx merge2
+
+.. code-block:: console
+
+    # Register MAC address to classifier
+    spp > classifier_table add mac 52:54:00:12:34:57 ring:4
+    spp > classifier_table add mac 52:54:00:12:34:59 ring:5
+
+To activate above settings, input the `flush` command.
+
+.. code-block:: console
+
+    spp > sec 1;flush
+
+Setup for VMs
+~~~~~~~~~~~~~
+
+Start two VMs.
+
+.. code-block:: console
+
+    $ virsh start spp-vm1
+    $ virsh start spp-vm2
+
+Login to ``spp-vm1`` for network configuration.
+To not ask for unknown keys while login VMs,
+set ``-oStrictHostKeyChecking=no`` option for ssh.
+
+.. code-block:: console
+
+    $ ssh -oStrictHostKeyChecking=no sppuser@192.168.122.31
+
+Up interfaces for vhost inside ``spp-vm1``.
+In addition, you have to disable TCP offload function, or ssh is failed
+after configuration is done.
+
+.. code-block:: console
+
+    # up interfaces
+    $ sudo ifconfig ens4 inet 192.168.140.21 netmask 255.255.255.0 up
+    $ sudo ifconfig ens5 inet 192.168.150.22 netmask 255.255.255.0 up
+
+    # disable TCP offload
+    $ sudo ethtool -K ens4 tx off
+    $ sudo ethtool -K ens5 tx off
+
+Configurations for ``spp-vm2`` is same as ``spp-vm1``.
+
+.. code-block:: console
+
+    $ ssh -oStrictHostKeyChecking=no sppuser@192.168.122.32
+
+    # up interfaces
+    $ sudo ifconfig ens4 inet 192.168.140.31 netmask 255.255.255.0 up
+    $ sudo ifconfig ens5 inet 192.168.150.32 netmask 255.255.255.0 up
+
+    # disable TCP offload
+    $ sudo ethtool -K ens4 tx off
+    $ sudo ethtool -K ens5 tx off
+
+
+Login to VMs
+~~~~~~~~~~~~
+
+Now, you can login to VMs.
+
+.. code-block:: console
+
+    # spp-vm1 via NIC0
+    $ ssh sppuser@192.168.140.21
+
+    # spp-vm1 via NIC1
+    $ ssh sppuser@192.168.150.22
+
+    # spp-vm2 via NIC0
+    $ ssh sppuser@192.168.140.31
+
+    # spp-vm2 via NIC1
+    $ ssh sppuser@192.168.150.32
+
+Close Applications
+~~~~~~~~~~~~~~~~~~
+
+Describe the procedure to close the applications.
+
+(1) Stop and delete command
+
+By following commands from `spp_vf.py`, you can delete `classifier_table`
+and ports, and stop components.
+The `flush` command is required to reflect this deletion and stopping.
+If you close the applications by `Ctrl+C` or `bye all` command,
+all settings will be deleted, following steps are not mandatory.
+
+First, delete the configuration between NIC-1 and VM and stop related components.
+
+.. code-block:: console
+
+    # Delete MAC address from Classifier
+    spp > classifier_table del mac 51:54:00:12:34:56 ring:0
+    spp > classifier_table del mac 51:54:00:12:34:58 ring:1
+
+.. code-block:: console
+
+    # Delete port to component
+    spp > sec 0;port del phy:0 rx classifier1
+    spp > sec 0;port del ring:0 tx classifier1
+    spp > sec 0;port del ring:1 tx classifier1
+    spp > sec 0;port del ring:0 rx forward1
+    spp > sec 0;port del vhost:0 tx forward1
+    spp > sec 0;port del vhost:0 rx forward2
+    spp > sec 0;port del ring:2 tx forward2
+    spp > sec 0;port del ring:1 rx forward3
+    spp > sec 0;port del vhost:2 rx forward3
+    spp > sec 0;port del vhost:2 tx forward4
+    spp > sec 0;port del ring:3 rx forward4
+    spp > sec 0;port del ring:2 rx merge1
+    spp > sec 0;port del ring:3 rx merge1
+    spp > sec 0;port del phy:0 tx merge1
+
+.. code-block:: console
+
+    # Stop component to spp_vf
+    spp > sec 0;component stop classifier1
+    spp > sec 0;component stop forward1
+    spp > sec 0;component stop forward2
+    spp > sec 0;component stop forward3
+    spp > sec 0;component stop forward4
+    spp > sec 0;component stop merge1
+
+Second, delete the configuration between NIC0 and VM and stop related components.
+
+.. code-block:: console
+
+    # Delete MAC address from Classifier
+    spp > classifier_table del mac 51:54:00:12:34:57 ring:4
+    spp > classifier_table del mac 51:54:00:12:34:59 ring:5
+
+.. code-block:: console
+
+    # Delete port to component
+    spp > sec 0;port del phy:1 rx classifier2
+    spp > sec 0;port del ring:4 tx classifier2
+    spp > sec 0;port del ring:5 tx classifier2
+    spp > sec 0;port del ring:4 rx forward5
+    spp > sec 0;port del vhost:1 tx forward5
+    spp > sec 0;port del vhost:1 rx forward6
+    spp > sec 0;port del ring:6 tx forward6
+    spp > sec 0;port del ring:5 rx forward7
+    spp > sec 0;port del vhost:3 rx forward7
+    spp > sec 0;port del vhost:3 tx forward8
+    spp > sec 0;port del ring:7 rx forward8
+    spp > sec 0;port del ring:6 rx merge2
+    spp > sec 0;port del ring:7 rx merge2
+    spp > sec 0;port del phy:1 tx merge2
+
+.. code-block:: console
+
+    # Stop component to spp_vf
+    spp > sec 0;component stop classifier2 8 classifier_mac
+    spp > sec 0;component stop forward5 9 forward
+    spp > sec 0;component stop forward6 10 forward
+    spp > sec 0;component stop forward7 11 forward
+    spp > sec 0;component stop forward8 12 forward
+    spp > sec 0;component stop merge2 13 merge
+
+To activate above settings, input the ``flush`` command.
+
+.. code-block:: console
+
+    spp > sec 0;flush
+
+
+(2) Close SPP VF
+
+Simply, ``spp_vf`` and primary process can be closed
+by ``Ctrl+C`` or ``bye all`` command from ``spp_vf.py``.
+Also ``spp_vf.py`` can be closed by the ``bye`` command.
+
+.. code-block:: console
+
+    # stop controller
+    spp > bye all
+    spp > bye
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 14/28] docs: add ssh login usecase for spp_vf
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (11 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 13/28] docs: add usecase section in spp_vf ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 15/28] docs: add labels for using sphinx ref directive ogawa.yasufumi
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/use_cases/usecase1.rst | 311 ++++++++++++++++++------------
 1 file changed, 186 insertions(+), 125 deletions(-)

diff --git a/docs/guides/spp_vf/use_cases/usecase1.rst b/docs/guides/spp_vf/use_cases/usecase1.rst
index 05dc86c..d45011e 100644
--- a/docs/guides/spp_vf/use_cases/usecase1.rst
+++ b/docs/guides/spp_vf/use_cases/usecase1.rst
@@ -28,6 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+.. _spp_vf_use_cases_usecase1:
 
 Simple SSH Login
 ================
@@ -93,6 +94,15 @@ Network Configuration
 
 Detailed configuration of :numref:`figure_simple_ssh_login` is
 described below.
+In this usecase, there are two NICs on host1 and host2 to duplicate
+login path. Each of combination of classifier and merger responds
+to each of pathes.
+
+Incoming packets from NIC0 are classified based on destionation address.
+For example, classifier1 sends packets to forwarder1 for vNIC0 and
+to forwarder2 for vNIC2.
+Outgoing packets from SSH server1 and 2 are aggregated to merger1 and
+sent to SSH clinet via NIC0.
 
 .. _figure_network_config:
 
@@ -102,43 +112,74 @@ described below.
 
     Network Configuration
 
-First, start the ``component`` of classifier, forwarders, and merge
-in ``spp_vf``.
+You need to input a little bit large amount of commands for the
+configuration, or use ``playback`` command to load from a file.
+You can get a series of files from
+`here <http://dpdk.org/browse/apps/spp/tree/docs/spp_vf>`_
+for loading commands used in this usecase.
+
+First, lanch threads of SPP VF called ``component`` with its core ID
+and a directive for behaviour.
+It is launched from ``component`` subcommand with options.
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];component start [NAME] [CORE_ID] [BEHAVIOUR]
+
+In this usecase, spp_vf is launched with ID=1. Let's start components
+for the first login path.
+Directive for classifier ``classifier_mac`` means to classify with MAC
+address.
+Core ID from 2 to 7 are assigned to each of components.
 
 .. code-block:: console
 
     # Start component to spp_vf
     spp > sec 1;component start classifier1 2 classifier_mac
-    spp > sec 1;component start forward1 3 forward
-    spp > sec 1;component start forward2 4 forward
-    spp > sec 1;component start forward3 5 forward
-    spp > sec 1;component start forward4 6 forward
-    spp > sec 1;component start merge1 7 merge
+    spp > sec 1;component start forwarder1 3 forward
+    spp > sec 1;component start forwarder2 4 forward
+    spp > sec 1;component start forwarder3 5 forward
+    spp > sec 1;component start forwarder4 6 forward
+    spp > sec 1;component start merger1 7 merge
 
-Second, add ``port`` to each component in ``spp_vf``.
+Each of components must have rx and tx ports for forwarding.
+Add ports for each of components as following.
+You might notice that classifier has two tx ports and
+merger has two rx ports.
 
 .. code-block:: console
 
-    # Add port to component
+    # classifier1
     spp > sec 1;port add phy:0 rx classifier1
     spp > sec 1;port add ring:0 tx classifier1
     spp > sec 1;port add ring:1 tx classifier1
-    spp > sec 1;port add ring:0 rx forward1
-    spp > sec 1;port add vhost:0 tx forward1
-    spp > sec 1;port add vhost:0 rx forward2
-    spp > sec 1;port add ring:2 tx forward2
-    spp > sec 1;port add ring:1 rx forward3
-    spp > sec 1;port add vhost:2 rx forward3
-    spp > sec 1;port add vhost:2 tx forward4
-    spp > sec 1;port add ring:3 rx forward4
-    spp > sec 1;port add ring:2 rx merge1
-    spp > sec 1;port add ring:3 rx merge1
-    spp > sec 1;port add phy:0 tx merge1
-
-To communicate remote node and VM via NIC0, each of packets from
-remote node is required to be routed to specific VM according
-to its MAC address.
-This configuration is done by ``classfier_table`` command.
+    # forwarder1
+    spp > sec 1;port add ring:0 rx forwarder1
+    spp > sec 1;port add vhost:0 tx forwarder1
+    # forwarder2
+    spp > sec 1;port add vhost:0 rx forwarder2
+    spp > sec 1;port add ring:2 tx forwarder2
+    # forwarder3
+    spp > sec 1;port add ring:1 rx forwarder3
+    spp > sec 1;port add vhost:2 rx forwarder3
+    # forwarder4
+    spp > sec 1;port add vhost:2 tx forwarder4
+    spp > sec 1;port add ring:3 rx forwarder4
+    # merger1
+    spp > sec 1;port add ring:2 rx merger1
+    spp > sec 1;port add ring:3 rx merger1
+    spp > sec 1;port add phy:0 tx merger1
+
+As given ``classifier_mac``, classifier component decides
+the destination with MAC address by referring ``classifier_table``.
+MAC address and corresponging port is registered to the table with
+``classifier_table add mac`` command.
+
+.. code-block:: console
+
+    spp > classifier_table add mac [MACADDRESS] [PORT]
+
+In this usecase, you need to register two MAC addresses for merger1.
 
 .. code-block:: console
 
@@ -147,36 +188,46 @@ This configuration is done by ``classfier_table`` command.
     spp > classifier_table add mac 52:54:00:12:34:58 ring:1
 
 
-For NIC1, also setup ``component``, ``port`` and ``classifier_table``,
-as following steps.
+Configuration for the second login path is almost similar to the first
+path.
+
+Start components with core ID 8-13 and directives.
 
 .. code-block:: console
 
-    # Start component to spp_vf
     spp > sec 1;component start classifier2 8 classifier_mac
-    spp > sec 1;component start forward5 9 forward
-    spp > sec 1;component start forward6 10 forward
-    spp > sec 1;component start forward7 11 forward
-    spp > sec 1;component start forward8 12 forward
-    spp > sec 1;component start merge2 13 merge
+    spp > sec 1;component start forwarder5 9 forward
+    spp > sec 1;component start forwarder6 10 forward
+    spp > sec 1;component start forwarder7 11 forward
+    spp > sec 1;component start forwarder8 12 forward
+    spp > sec 1;component start merger2 13 merge
+
+Add ports to each of components.
 
 .. code-block:: console
 
-    # Add port to component
+    # classifier2
     spp > sec 1;port add phy:1 rx classifier2
     spp > sec 1;port add ring:4 tx classifier2
     spp > sec 1;port add ring:5 tx classifier2
-    spp > sec 1;port add ring:4 rx forward5
-    spp > sec 1;port add vhost:1 tx forward5
-    spp > sec 1;port add vhost:1 rx forward6
-    spp > sec 1;port add ring:6 tx forward6
-    spp > sec 1;port add ring:5 rx forward7
-    spp > sec 1;port add vhost:3 rx forward7
-    spp > sec 1;port add vhost:3 tx forward8
-    spp > sec 1;port add ring:7 rx forward8
-    spp > sec 1;port add ring:6 rx merge2
-    spp > sec 1;port add ring:7 rx merge2
-    spp > sec 1;port add phy:1 tx merge2
+    # forwarder5
+    spp > sec 1;port add ring:4 rx forwarder5
+    spp > sec 1;port add vhost:1 tx forwarder5
+    # forwarder6
+    spp > sec 1;port add vhost:1 rx forwarder6
+    spp > sec 1;port add ring:6 tx forwarder6
+    # forwarder7
+    spp > sec 1;port add ring:5 rx forwarder7
+    spp > sec 1;port add vhost:3 rx forwarder7
+    # forwarder8
+    spp > sec 1;port add vhost:3 tx forwarder8
+    spp > sec 1;port add ring:7 rx forwarder8
+    # merger2
+    spp > sec 1;port add ring:6 rx merger2
+    spp > sec 1;port add ring:7 rx merger2
+    spp > sec 1;port add phy:1 tx merger2
+
+Register entries to classifier_table for classifier2.
 
 .. code-block:: console
 
@@ -184,29 +235,40 @@ as following steps.
     spp > classifier_table add mac 52:54:00:12:34:57 ring:4
     spp > classifier_table add mac 52:54:00:12:34:59 ring:5
 
-To activate above settings, input the `flush` command.
+Finally, activate all of settings by doign `flush` subcommand.
 
 .. code-block:: console
 
     spp > sec 1;flush
 
+.. note::
+
+    Commands for SPP VF Controller are accepted but not activated until
+    user inputs ``flush`` subcommand.
+    You can cancel all of commands before doing ``flush``.
+
+
 Setup for VMs
 ~~~~~~~~~~~~~
 
-Start two VMs.
+Launch VM1 and VM2 with virsh command.
+Setup for virsh is described in :ref:`spp_vf_gsg_build`.
 
 .. code-block:: console
 
-    $ virsh start spp-vm1
-    $ virsh start spp-vm2
+    $ virsh start spp-vm1  # VM1
+    $ virsh start spp-vm2  # VM2
 
-Login to ``spp-vm1`` for network configuration.
-To not ask for unknown keys while login VMs,
-set ``-oStrictHostKeyChecking=no`` option for ssh.
+After launched, login to ``spp-vm1`` for configuration inside the VM.
 
-.. code-block:: console
+.. note::
+
+    To avoid asked for unknown keys while login VMs,
+    use ``-oStrictHostKeyChecking=no`` option for ssh.
 
-    $ ssh -oStrictHostKeyChecking=no sppuser@192.168.122.31
+    .. code-block:: console
+
+        $ ssh -oStrictHostKeyChecking=no sppuser@192.168.122.31
 
 Up interfaces for vhost inside ``spp-vm1``.
 In addition, you have to disable TCP offload function, or ssh is failed
@@ -222,7 +284,7 @@ after configuration is done.
     $ sudo ethtool -K ens4 tx off
     $ sudo ethtool -K ens5 tx off
 
-Configurations for ``spp-vm2`` is same as ``spp-vm1``.
+Configurations also for ``spp-vm2`` as ``spp-vm1``.
 
 .. code-block:: console
 
@@ -240,7 +302,7 @@ Configurations for ``spp-vm2`` is same as ``spp-vm1``.
 Login to VMs
 ~~~~~~~~~~~~
 
-Now, you can login to VMs.
+Now, you can login to VMs from the remote host1.
 
 .. code-block:: console
 
@@ -256,20 +318,16 @@ Now, you can login to VMs.
     # spp-vm2 via NIC1
     $ ssh sppuser@192.168.150.32
 
-Close Applications
-~~~~~~~~~~~~~~~~~~
-
-Describe the procedure to close the applications.
 
-(1) Stop and delete command
+Shutdown SPP VF Components
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-By following commands from `spp_vf.py`, you can delete `classifier_table`
-and ports, and stop components.
-The `flush` command is required to reflect this deletion and stopping.
-If you close the applications by `Ctrl+C` or `bye all` command,
-all settings will be deleted, following steps are not mandatory.
+Basically, you can shutdown all of SPP processes with ``bye all``
+command.
+This section describes graceful shutting down for SPP VF components.
 
-First, delete the configuration between NIC-1 and VM and stop related components.
+First, delete entries of ``classifier_table`` and ports of components
+for the first SSH login path.
 
 .. code-block:: console
 
@@ -279,33 +337,42 @@ First, delete the configuration between NIC-1 and VM and stop related components
 
 .. code-block:: console
 
-    # Delete port to component
-    spp > sec 0;port del phy:0 rx classifier1
-    spp > sec 0;port del ring:0 tx classifier1
-    spp > sec 0;port del ring:1 tx classifier1
-    spp > sec 0;port del ring:0 rx forward1
-    spp > sec 0;port del vhost:0 tx forward1
-    spp > sec 0;port del vhost:0 rx forward2
-    spp > sec 0;port del ring:2 tx forward2
-    spp > sec 0;port del ring:1 rx forward3
-    spp > sec 0;port del vhost:2 rx forward3
-    spp > sec 0;port del vhost:2 tx forward4
-    spp > sec 0;port del ring:3 rx forward4
-    spp > sec 0;port del ring:2 rx merge1
-    spp > sec 0;port del ring:3 rx merge1
-    spp > sec 0;port del phy:0 tx merge1
+    # classifier1
+    spp > sec 1;port del phy:0 rx classifier1
+    spp > sec 1;port del ring:0 tx classifier1
+    spp > sec 1;port del ring:1 tx classifier1
+    # forwarder1
+    spp > sec 1;port del ring:0 rx forward1
+    spp > sec 1;port del vhost:0 tx forward1
+    # forwarder2
+    spp > sec 1;port del vhost:0 rx forward2
+    spp > sec 1;port del ring:2 tx forward2
+    # forwarder3
+    spp > sec 1;port del ring:1 rx forward3
+    spp > sec 1;port del vhost:2 rx forward3
+    # forwarder4
+    spp > sec 1;port del vhost:2 tx forward4
+    spp > sec 1;port del ring:3 rx forward4
+    # merger1
+    spp > sec 1;port del ring:2 rx merge1
+    spp > sec 1;port del ring:3 rx merge1
+    spp > sec 1;port del phy:0 tx merge1
+
+Then, stop components.
 
 .. code-block:: console
 
     # Stop component to spp_vf
-    spp > sec 0;component stop classifier1
-    spp > sec 0;component stop forward1
-    spp > sec 0;component stop forward2
-    spp > sec 0;component stop forward3
-    spp > sec 0;component stop forward4
-    spp > sec 0;component stop merge1
+    spp > sec 1;component stop classifier1
+    spp > sec 1;component stop forward1
+    spp > sec 1;component stop forward2
+    spp > sec 1;component stop forward3
+    spp > sec 1;component stop forward4
+    spp > sec 1;component stop merge1
 
-Second, delete the configuration between NIC0 and VM and stop related components.
+Second, do termination for the second path.
+Delete entries from ``classifier_table`` and ports from each of
+components.
 
 .. code-block:: console
 
@@ -315,47 +382,41 @@ Second, delete the configuration between NIC0 and VM and stop related components
 
 .. code-block:: console
 
-    # Delete port to component
-    spp > sec 0;port del phy:1 rx classifier2
-    spp > sec 0;port del ring:4 tx classifier2
-    spp > sec 0;port del ring:5 tx classifier2
-    spp > sec 0;port del ring:4 rx forward5
-    spp > sec 0;port del vhost:1 tx forward5
-    spp > sec 0;port del vhost:1 rx forward6
-    spp > sec 0;port del ring:6 tx forward6
-    spp > sec 0;port del ring:5 rx forward7
-    spp > sec 0;port del vhost:3 rx forward7
-    spp > sec 0;port del vhost:3 tx forward8
-    spp > sec 0;port del ring:7 rx forward8
-    spp > sec 0;port del ring:6 rx merge2
-    spp > sec 0;port del ring:7 rx merge2
-    spp > sec 0;port del phy:1 tx merge2
+    # classifier2
+    spp > sec 1;port del phy:1 rx classifier2
+    spp > sec 1;port del ring:4 tx classifier2
+    spp > sec 1;port del ring:5 tx classifier2
+    # forwarder5
+    spp > sec 1;port del ring:4 rx forwarder5
+    spp > sec 1;port del vhost:1 tx forwarder5
+    # forwarder6
+    spp > sec 1;port del vhost:1 rx forwarder6
+    spp > sec 1;port del ring:6 tx forwarder6
+    # forwarder7
+    spp > sec 1;port del ring:5 rx forwarder7
+    spp > sec 1;port del vhost:3 rx forwarder7
+    # forwarder8
+    spp > sec 1;port del vhost:3 tx forwarder8
+    spp > sec 1;port del ring:7 rx forwarder8
+    # merger2
+    spp > sec 1;port del ring:6 rx merger2
+    spp > sec 1;port del ring:7 rx merger2
+    spp > sec 1;port del phy:1 tx merger2
+
+Then, stop components.
 
 .. code-block:: console
 
     # Stop component to spp_vf
-    spp > sec 0;component stop classifier2 8 classifier_mac
-    spp > sec 0;component stop forward5 9 forward
-    spp > sec 0;component stop forward6 10 forward
-    spp > sec 0;component stop forward7 11 forward
-    spp > sec 0;component stop forward8 12 forward
-    spp > sec 0;component stop merge2 13 merge
+    spp > sec 1;component stop classifier2 8 classifier_mac
+    spp > sec 1;component stop forward5 9 forward
+    spp > sec 1;component stop forward6 10 forward
+    spp > sec 1;component stop forward7 11 forward
+    spp > sec 1;component stop forward8 12 forward
+    spp > sec 1;component stop merge2 13 merge
 
-To activate above settings, input the ``flush`` command.
+Finally, run ``flush`` subcommand.
 
 .. code-block:: console
 
-    spp > sec 0;flush
-
-
-(2) Close SPP VF
-
-Simply, ``spp_vf`` and primary process can be closed
-by ``Ctrl+C`` or ``bye all`` command from ``spp_vf.py``.
-Also ``spp_vf.py`` can be closed by the ``bye`` command.
-
-.. code-block:: console
-
-    # stop controller
-    spp > bye all
-    spp > bye
+    spp > sec 1;flush
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 15/28] docs: add labels for using sphinx ref directive
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (12 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 14/28] docs: add ssh login usecase for spp_vf ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 16/28] docs: update spp_vf overview image ogawa.yasufumi
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/design.rst            | 1 +
 docs/guides/spp_vf/explain/functions.rst | 1 +
 docs/guides/spp_vf/gsg/build.rst         | 1 +
 docs/guides/spp_vf/gsg/howto_use.rst     | 1 +
 docs/guides/spp_vf/overview.rst          | 1 +
 5 files changed, 5 insertions(+)

diff --git a/docs/guides/spp_vf/design.rst b/docs/guides/spp_vf/design.rst
index fffaeb4..5938518 100644
--- a/docs/guides/spp_vf/design.rst
+++ b/docs/guides/spp_vf/design.rst
@@ -28,6 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+.. _spp_vf_design:
 
 Design
 ======
diff --git a/docs/guides/spp_vf/explain/functions.rst b/docs/guides/spp_vf/explain/functions.rst
index c69697c..0602df3 100644
--- a/docs/guides/spp_vf/explain/functions.rst
+++ b/docs/guides/spp_vf/explain/functions.rst
@@ -28,6 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+.. _spp_vf_explain_functions:
 
 Explanation
 ===========
diff --git a/docs/guides/spp_vf/gsg/build.rst b/docs/guides/spp_vf/gsg/build.rst
index f363430..a37f86a 100644
--- a/docs/guides/spp_vf/gsg/build.rst
+++ b/docs/guides/spp_vf/gsg/build.rst
@@ -28,6 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+.. _spp_vf_gsg_build:
 
 Build
 =====
diff --git a/docs/guides/spp_vf/gsg/howto_use.rst b/docs/guides/spp_vf/gsg/howto_use.rst
index b54a25e..fc40377 100644
--- a/docs/guides/spp_vf/gsg/howto_use.rst
+++ b/docs/guides/spp_vf/gsg/howto_use.rst
@@ -28,6 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+.. _spp_vf_gsg_howto_use:
 
 How to Use
 ==========
diff --git a/docs/guides/spp_vf/overview.rst b/docs/guides/spp_vf/overview.rst
index f1a1714..d951d19 100644
--- a/docs/guides/spp_vf/overview.rst
+++ b/docs/guides/spp_vf/overview.rst
@@ -28,6 +28,7 @@
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+.. _spp_vf_overview:
 
 Overview
 ========
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 16/28] docs: update spp_vf overview image
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (13 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 15/28] docs: add labels for using sphinx ref directive ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 17/28] docs: update spp_vf command index ogawa.yasufumi
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/images/spp_vf_overview.svg | 2281 ++++++++-----------------
 1 file changed, 743 insertions(+), 1538 deletions(-)

diff --git a/docs/guides/spp_vf/images/spp_vf_overview.svg b/docs/guides/spp_vf/images/spp_vf_overview.svg
index 3b1ae68..a172403 100644
--- a/docs/guides/spp_vf/images/spp_vf_overview.svg
+++ b/docs/guides/spp_vf/images/spp_vf_overview.svg
@@ -9,268 +9,112 @@
    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="172.52679mm"
-   height="120.57605mm"
-   viewBox="0 0 172.52679 120.57605"
+   width="260mm"
+   height="180mm"
+   viewBox="0 0 921.25999 637.79527"
+   id="svg2"
    version="1.1"
-   id="svg4746"
    inkscape:version="0.91 r13725"
    sodipodi:docname="spp_vf_overview.svg">
   <defs
-     id="defs4740">
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible;"
-       id="marker6296"
-       refX="0.0"
-       refY="0.0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         transform="scale(1.1) rotate(180) translate(1,0)"
-         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         id="path6294" />
-    </marker>
+     id="defs4">
     <marker
        inkscape:stockid="Arrow2Lend"
        orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="marker1654"
-       style="overflow:visible;"
-       inkscape:isstock="true">
-      <path
-         id="path1652"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
-         transform="scale(1.1) rotate(180) translate(1,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareL"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="SquareL"
+       refY="0"
+       refX="0"
+       id="marker6947"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1432"
-         d="M -5.0,-5.0 L -5.0,5.0 L 5.0,5.0 L 5.0,-5.0 L -5.0,-5.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         transform="scale(0.8)" />
+         id="path6949"
+         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.0"
-       refX="0.0"
-       id="Arrow2Lend"
-       style="overflow:visible;"
-       inkscape:isstock="true"
-       inkscape:collect="always">
-      <path
-         id="path1383"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
-         transform="scale(1.1) rotate(180) translate(1,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lstart"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="marker9343"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path9341"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
-         transform="scale(1.1) translate(1,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lstart"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow2Lstart"
+       refY="0"
+       refX="0"
+       id="marker6787"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1359"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
-         transform="scale(1.1) translate(1,0)" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker4626"
-       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"
+         id="path6789"
          style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path4624" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker3618"
-       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="path3616" />
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
     </marker>
     <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker1780"
+       id="marker6621"
        refX="0"
        refY="0"
        orient="auto"
-       inkscape:stockid="Arrow2Lend">
+       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="path1778" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="marker1604"
-       style="overflow:visible;"
-       inkscape:isstock="true">
-      <path
-         id="path1362"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
-         transform="scale(1.1) rotate(180) translate(1,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker6489"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path6487"
-         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)" />
+         id="path6623" />
     </marker>
     <marker
        inkscape:stockid="Arrow2Lend"
        orient="auto"
        refY="0"
        refX="0"
-       id="marker8593"
+       id="marker6461"
        style="overflow:visible"
-       inkscape:isstock="true">
+       inkscape:isstock="true"
+       inkscape:collect="always">
       <path
-         inkscape:connector-curvature="0"
-         id="path8591"
+         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)" />
+         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="marker8169"
+       id="marker6319"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path8167"
+         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:stockid="Arrow1Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker7739"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path7737"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Lend"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5589"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker6959"
-       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="path6957" />
-    </marker>
-    <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker6583"
+       id="marker6171"
        refX="0"
        refY="0"
        orient="auto"
-       inkscape:stockid="Arrow2Lend">
+       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="path6581" />
+         id="path6173" />
     </marker>
     <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker6219"
+       id="marker6041"
        refX="0"
        refY="0"
        orient="auto"
@@ -280,34 +124,19 @@
          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="path6217" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Lstart"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker5849"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5586"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         transform="matrix(0.8,0,0,0.8,10,0)"
-         inkscape:connector-curvature="0" />
+         id="path6043" />
     </marker>
     <marker
        inkscape:stockid="Arrow2Lend"
        orient="auto"
        refY="0"
        refX="0"
-       id="marker2605"
+       id="marker5905"
        style="overflow:visible"
        inkscape:isstock="true"
        inkscape:collect="always">
       <path
-         id="path2603"
+         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)"
@@ -318,41 +147,43 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker2218"
+       id="marker5787"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path2216"
+         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:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker1864"
+       inkscape:isstock="true"
        style="overflow:visible"
-       inkscape:isstock="true">
+       id="marker5663"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
       <path
-         id="path1862"
-         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"
+         inkscape:connector-curvature="0"
          transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="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="marker1516"
+       id="marker5545"
        style="overflow:visible"
-       inkscape:isstock="true">
+       inkscape:isstock="true"
+       inkscape:collect="always">
       <path
-         id="path1514"
+         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)"
@@ -363,11 +194,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1632"
+       id="marker5445"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1630"
+         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)"
@@ -378,11 +209,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1626"
+       id="marker5351"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1624"
+         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)"
@@ -393,11 +224,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1620"
+       id="marker5263"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1618"
+         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)"
@@ -408,11 +239,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1614"
+       id="marker5181"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1612"
+         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)"
@@ -423,11 +254,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1608"
+       id="marker5105"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1606"
+         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)"
@@ -438,11 +269,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1560"
+       id="marker5035"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1558"
+         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)"
@@ -453,11 +284,11 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker1552"
+       id="marker4971"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path1550"
+         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)"
@@ -466,182 +297,109 @@
     <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker4611"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         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="path4609"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker26660"
+       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="path26658"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker24654"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <path
-         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="path24652"
-         inkscape:connector-curvature="0" />
+         id="path4903" />
     </marker>
     <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker23978"
+       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="path23976"
-         inkscape:connector-curvature="0" />
+         id="path4851" />
     </marker>
     <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker23136"
+       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="path23134"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker22960"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <path
-         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="path22958"
-         inkscape:connector-curvature="0" />
+         id="path4805" />
     </marker>
     <marker
        inkscape:isstock="true"
        style="overflow:visible"
-       id="marker14793"
+       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="path14791"
-         inkscape:connector-curvature="0" />
+         id="path4765" />
     </marker>
     <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker13092"
-       refX="0"
-       refY="0"
+       inkscape:stockid="Arrow2Lend"
        orient="auto"
-       inkscape:stockid="Arrow2Lend">
-      <path
-         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="path13090"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker12910"
-       refX="0"
        refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lend">
+       refX="0"
+       id="marker4673"
+       style="overflow:visible"
+       inkscape:isstock="true"
+       inkscape:collect="always">
       <path
-         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"
+         id="path4675"
          style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path12908"
+         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="marker12568"
+       id="marker4633"
        refX="0"
        refY="0"
        orient="auto"
-       inkscape:stockid="Arrow2Lend">
+       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="path12566"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5180"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow1Lend">
-      <path
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         id="path5178"
-         inkscape:connector-curvature="0" />
+         id="path4635" />
     </marker>
     <marker
-       inkscape:stockid="Arrow1Lend"
+       inkscape:stockid="Arrow2Lstart"
        orient="auto"
        refY="0"
        refX="0"
-       id="marker4816"
+       id="Arrow2Lstart"
        style="overflow:visible"
        inkscape:isstock="true">
       <path
-         id="path4814"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         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
@@ -649,467 +407,17 @@
        orient="auto"
        refY="0"
        refX="0"
-       id="marker4059"
+       id="Arrow2Lend"
        style="overflow:visible"
-       inkscape:isstock="true">
+       inkscape:isstock="true"
+       inkscape:collect="always">
       <path
-         id="path4057"
+         id="path4253"
          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="Arrow1Lstart"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Lstart"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         id="path5293"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
-         transform="matrix(0.8,0,0,0.8,10,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-4"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-4"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker4059-8"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4057-0"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-4"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-0"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-2"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-6"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-6"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-3"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-6-2"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-3-4"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-5"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-8"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker4059-8-1"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4057-0-9"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker4059-8-1-6"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4057-0-9-1"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-4-1"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-0-0"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-4-1-9"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-0-0-3"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-4-1-7"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-0-0-0"
-         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)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-2-4-1-7-7"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path2284-6-0-0-0-8"
-         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)" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5180-9"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow1Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         id="path5178-1" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker5180-9-9"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow1Lend">
-      <path
-         inkscape:connector-curvature="0"
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
-         d="M 0,0 5,-5 -12.5,0 5,5 Z"
-         id="path5178-1-4" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lstart"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lstart-6"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path1110-1"
-         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)" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker14793-9"
-       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="path14791-9" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker14793-5"
-       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="path14791-0" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker14793-1"
-       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="path14791-4" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker22960-5"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <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="path22958-6" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker1560-3"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path1558-3"
-         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)" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker22960-7"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <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="path22958-61" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker22960-5-6"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <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="path22958-6-8" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker14793-1-4"
-       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="path14791-4-5" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker22960-9"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <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="path22958-60" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker14793-1-9"
-       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="path14791-4-1" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker14793-1-9-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:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
-         id="path14791-4-1-5" />
-    </marker>
-    <marker
-       inkscape:isstock="true"
-       style="overflow:visible"
-       id="marker22960-9-7"
-       refX="0"
-       refY="0"
-       orient="auto"
-       inkscape:stockid="Arrow2Lstart">
-      <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="path22958-60-6" />
-    </marker>
   </defs>
   <sodipodi:namedview
      id="base"
@@ -1118,27 +426,19 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="0.9899495"
-     inkscape:cx="56.883497"
-     inkscape:cy="223.84187"
-     inkscape:document-units="mm"
-     inkscape:current-layer="layer1"
+     inkscape:zoom="0.7"
+     inkscape:cx="90.890587"
+     inkscape:cy="358.37559"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer5"
      showgrid="false"
      inkscape:window-width="1440"
      inkscape:window-height="851"
-     inkscape:window-x="0"
-     inkscape:window-y="1"
-     inkscape:window-maximized="1"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     viewbox-x="0"
-     scale-x="1"
-     inkscape:object-paths="false"
-     inkscape:object-nodes="false" />
+     inkscape:window-x="94"
+     inkscape:window-y="15"
+     inkscape:window-maximized="0" />
   <metadata
-     id="metadata4743">
+     id="metadata7">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -1150,795 +450,700 @@
     </rdf:RDF>
   </metadata>
   <g
-     inkscape:label="host"
+     inkscape:label="Host"
      inkscape:groupmode="layer"
      id="layer1"
-     style="display:inline;opacity:0.98999999"
-     transform="translate(22.342263,-42.641668)">
-    <rect
-       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.3065601;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect5291"
-       width="133.51352"
-       height="83.053703"
-       x="16.513613"
-       y="43.498409"
-       ry="0" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="17.927746"
-       y="48.597805"
-       id="text5577"><tspan
-         sodipodi:role="line"
-         id="tspan5575"
-         x="17.927746"
-         y="48.597805"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">host1</tspan></text>
-    <flowRoot
-       xml:space="preserve"
-       id="flowRoot5610"
-       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       transform="scale(0.26458333)"><flowRegion
-         id="flowRegion5612"><rect
-           id="rect5614"
-           width="12.857142"
-           height="94.285713"
-           x="147.14285"
-           y="89.662544" /></flowRegion><flowPara
-         id="flowPara5616" /></flowRoot>    <rect
-       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11811945;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1139-1-3"
-       width="9.2134848"
-       height="16.567875"
-       x="16.552696"
-       y="78.300049" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="17.677307"
-       y="87.313164"
-       id="text2024-9-4-2"><tspan
-         sodipodi:role="line"
-         id="tspan1471"
-         x="17.677307"
-         y="87.313164"
-         style="stroke-width:0.19843748">NIC</tspan></text>
+     transform="translate(0,-414.56693)">
     <rect
-       style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.13039371;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect5291-3"
-       width="67.19873"
-       height="29.854179"
-       x="15.828302"
-       y="133.1078"
-       ry="0" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.76249981px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.19843748"
-       x="17.12682"
-       y="138.31961"
-       id="text5577-4"><tspan
-         sodipodi:role="line"
-         id="tspan29058"
-         x="17.12682"
-         y="138.31961"
-         style="stroke-width:0.19843748">host2</tspan></text>
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.59598911;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4136"
+       width="763.90179"
+       height="387.28101"
+       x="152.41895"
+       y="427.24677" />
     <rect
-       style="display:inline;opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.10644353;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1139-1-3-3"
-       width="9.2388563"
-       height="13.417394"
-       x="15.90917"
-       y="141.81644" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.19843748"
-       x="16.710455"
-       y="149.19623"
-       id="text2024-9-4-2-1"><tspan
-         sodipodi:role="line"
-         id="tspan3496"
-         x="16.710455"
-         y="149.19623"
-         style="stroke-width:0.19843748">NIC</tspan></text>
-    <path
-       style="fill:none;stroke:#000000;stroke-width:0.2295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6219)"
-       d="m -8.6649471,115.81761 c 0,0 2.429464,-24.597571 25.0354661,-33.266048"
-       id="path29105"
-       inkscape:connector-curvature="0" />
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.1579186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="m -0.09414816,115.70324 c 0,0 1.61663996,-17.511419 16.65936316,-23.682657"
-       id="path29105-6"
-       inkscape:connector-curvature="0" />
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.96978432;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4138"
+       width="509.1748"
+       height="178.26108"
+       x="151.26903"
+       y="865.11639" />
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.17807341px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker8593)"
-       d="m -0.68301513,127.63222 c 0,0 1.39932195,16.54751 16.45012913,17.35664"
-       id="path3498"
-       inkscape:connector-curvature="0" />
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart)"
+       d="M 149.84776,935.10329 C 95.154229,926.38034 76.496817,863.03298 75.096469,793.68193 77.521574,714.83007 108.31409,656.50793 151.86807,650.24027"
+       id="path4164"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
     <path
-       style="display:inline;opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.23871794px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       d="m -7.2736641,129.63943 c 0,0 1.97461,21.07376 23.2130541,22.10422"
-       id="path3498-4"
-       inkscape:connector-curvature="0" />
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="M 151.86807,977.52969 C 82.287679,958.09275 36.422683,905.8191 36.710678,789.64132 45.826372,682.60407 86.900979,626.70108 149.84776,605.79357"
+       id="path4166"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <rect
+       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:1.00081313;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4216"
+       width="68.999184"
+       height="78.999184"
+       x="151.50212"
+       y="922.89648"
+       ry="0" />
+    <rect
+       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:0.95396042;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4218"
+       width="69.046043"
+       height="79.046043"
+       x="153.68175"
+       y="589.72577" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer12"
+     inkscape:label="Network">
     <ellipse
-       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.27899998;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path4847"
-       cx="1.7476341"
-       cy="113.32741"
-       rx="8.6951685"
-       ry="5.9868374" />
+       style="opacity:1;fill:#ffee93;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path7870"
+       cx="86.428581"
+       cy="334.79523"
+       rx="40.714283"
+       ry="37.85714" />
     <ellipse
-       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path4849"
-       cx="-12.044732"
-       cy="122.60995"
-       rx="9.9780626"
-       ry="6.6995554" />
+       style="opacity:1;fill:#ffee93;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path7872"
+       cx="105.71429"
+       cy="376.36664"
+       rx="35.714283"
+       ry="25.714285" />
     <ellipse
-       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path4851"
-       cx="-9.7984133"
-       cy="112.18707"
-       rx="8.2675371"
-       ry="6.8420997" />
+       style="opacity:1;fill:#ffee93;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path7874"
+       cx="43.571438"
+       cy="317.79523"
+       rx="34.999996"
+       ry="29.999994" />
     <ellipse
-       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path4853"
-       cx="4.8835964"
-       cy="119.1717"
-       rx="9.5504313"
-       ry="7.269731" />
+       style="opacity:1;fill:#ffee93;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path7876"
+       cx="51.428577"
+       cy="382.7952"
+       rx="32.857143"
+       ry="19.285709" />
     <ellipse
-       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path4855"
-       cx="-7.9453392"
-       cy="130.14757"
-       rx="8.1249933"
-       ry="7.1271873" />
+       style="opacity:1;fill:#ffee93;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path7878"
+       cx="39.285732"
+       cy="359.22379"
+       rx="36.428562"
+       ry="18.571426" />
     <ellipse
-       style="opacity:1;fill:#f8f8b8;fill-opacity:0.99215686;stroke:none;stroke-width:0.98858267;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path4857"
-       cx="1.0349127"
-       cy="129.14975"
-       rx="8.5526247"
-       ry="6.4144688" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="-14.074727"
-       y="121.59496"
-       id="text4859"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan4861"
-         x="-14.074727"
-         y="121.59496">network</tspan></text>
+       style="opacity:1;fill:#ffee93;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path7880"
+       cx="106.42857"
+       cy="346.36667"
+       rx="34.999996"
+       ry="22.857141" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer8"
+     inkscape:label="VM">
+    <rect
+       style="opacity:1;fill:#eafdff;fill-opacity:1;stroke:#000000;stroke-width:1.05192161;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4548"
+       width="176.35168"
+       height="158.88628"
+       x="725.49805"
+       y="50.699303"
+       ry="0" />
+    <rect
+       style="opacity:1;fill:#eafdff;fill-opacity:1;stroke:#000000;stroke-width:1.07923639;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4550"
+       width="176.32716"
+       height="158.85583"
+       x="726.59851"
+       y="224.95058" />
+    <rect
+       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:1.30062246;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4552"
+       width="68.699387"
+       height="78.699394"
+       x="725.66235"
+       y="96.641693" />
+    <rect
+       style="opacity:1;fill:#ffffaa;fill-opacity:1;stroke:#000000;stroke-width:1.25173223;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4554"
+       width="68.748283"
+       height="78.748283"
+       x="726.94757"
+       y="264.52594" />
   </g>
   <g
      inkscape:groupmode="layer"
      id="layer3"
-     inkscape:label="spp_vf_process"
-     style="display:inline"
-     transform="translate(22.342263,-42.641668)">
+     inkscape:label="Processes">
     <rect
-       style="fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.20625183;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1763"
-       width="67.423866"
-       height="63.660942"
-       x="28.270718"
-       y="56.240303"
-       ry="3.3188167" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="31.534889"
-       y="61.07103"
-       id="text1767"><tspan
-         sodipodi:role="line"
-         id="tspan1765"
-         x="31.534889"
-         y="61.07103"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">spp_vf</tspan></text>
+       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:1.86694288;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4174"
+       width="387.50327"
+       height="304.48511"
+       x="229.05197"
+       y="68.278496"
+       ry="28.508348" />
+    <rect
+       style="opacity:1;fill:#ffefde;fill-opacity:1;stroke:#000000;stroke-width:1.15089643;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4176"
+       width="231.5318"
+       height="78.926994"
+       x="266.57211"
+       y="510.42819"
+       ry="24.251741" />
+    <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="812.37872"
+       y="102.40716"
+       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="814.28571"
+       y="283.50952"
+       ry="27.142857" />
   </g>
   <g
      inkscape:groupmode="layer"
      id="layer4"
-     inkscape:label="guests"
-     style="display:inline"
-     transform="translate(22.342263,-42.641668)">
+     inkscape:label="Threads">
     <rect
-       style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.17461418;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect2020"
-       width="28.352047"
-       height="33.515587"
-       x="118.85268"
-       y="48.505085"
-       ry="2.7929652" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="119.69781"
-       y="56.421913"
-       id="text2024"><tspan
-         sodipodi:role="line"
-         id="tspan2022"
-         x="119.69781"
-         y="56.421913"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.19843748">guest vm1</tspan></text>
+       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="242.74155"
+       y="140.53328"
+       ry="24.458193" />
     <rect
-       style="fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.17601651;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect2020-5"
-       width="28.62668"
-       height="33.729359"
-       x="118.56235"
-       y="88.59964"
-       ry="2.8107796" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="119.40305"
-       y="93.332886"
-       id="text2024-5"><tspan
-         sodipodi:role="line"
-         id="tspan2202"
-         x="119.40305"
-         y="93.332886"
-         style="stroke-width:0.19843748">guest vm2</tspan></text>
+       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="238.73215"
+       y="239.60008"
+       ry="24.406631" />
     <rect
-       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11156943;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1139"
-       width="10.349"
-       height="13.159518"
-       x="118.85532"
-       y="62.9557" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="119.4705"
-       y="70.884201"
-       id="text2024-9"><tspan
-         sodipodi:role="line"
-         id="tspan1504"
-         x="119.4705"
-         y="70.884201"
-         style="stroke-width:0.19843748">vNIC</tspan></text>
+       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="476.50293"
+       y="92.243843"
+       ry="22.773815" />
     <rect
-       style="opacity:1;fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:0.11284375;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1139-1"
-       width="10.353926"
-       height="13.455435"
-       x="118.52364"
-       y="99.103775" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="119.14127"
-       y="106.98555"
-       id="text2024-9-4"><tspan
-         sodipodi:role="line"
-         id="tspan1502"
-         x="119.14127"
-         y="106.98555"
-         style="stroke-width:0.19843748">vNIC</tspan></text>
+       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="476.65607"
+       y="163.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="476.54666"
+       y="235.02818"
+       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="476.5285"
+       y="306.38336"
+       ry="24.437164" />
   </g>
   <g
      inkscape:groupmode="layer"
-     id="layer2"
-     inkscape:label="spp_vf_threads"
-     style="display:inline;opacity:0.98999999"
-     transform="translate(22.342263,-42.641668)">
+     id="layer7"
+     inkscape:label="DPDK-Resources">
+    <ellipse
+       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:0.78877908;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4558"
+       cx="419.25562"
+       cy="117.86962"
+       rx="29.605616"
+       ry="19.605614" />
+    <ellipse
+       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.19182909;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4585"
+       cx="419.25562"
+       cy="189.12515"
+       rx="29.404091"
+       ry="19.404089" />
+    <ellipse
+       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.15603304;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4587"
+       cx="419.25562"
+       cy="260.38062"
+       rx="29.421989"
+       ry="19.421988" />
+    <ellipse
+       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.01741946;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4589"
+       cx="419.25562"
+       cy="331.63614"
+       rx="29.491297"
+       ry="19.491293" />
+    <circle
+       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.23429596;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4591"
+       cx="664.78558"
+       cy="135.29536"
+       r="39.382858" />
+    <circle
+       style="opacity:1;fill:#ecffe7;fill-opacity:1;stroke:#000000;stroke-width:1.10145283;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4593"
+       cx="665.35706"
+       cy="304.43823"
+       r="39.44928" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer11"
+     inkscape:label="Path">
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6296);stroke-miterlimit:4;stroke-dasharray:none"
-       d="M 100.80696,76.449807 C 92.088084,96.087573 92.088084,96.087573 92.088084,96.087573"
-       id="path6286"
+       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 222,190.65237 21.42857,-20"
+       id="path4623"
        inkscape:connector-curvature="0" />
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
-       d="m 89.320737,76.353127 c 9.452951,19.668818 9.452951,19.668818 9.452951,19.668818"
-       id="path6138"
+       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 237.71429,264.93809 222,236.36666"
+       id="path4625"
        inkscape:connector-curvature="0" />
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1780)"
-       d="m 25.766181,78.300049 5.164281,-5.567772"
-       id="path4812"
+       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 364.85714,149.2238 30,-22.85714"
+       id="path4713"
        inkscape:connector-curvature="0" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#d7f4e3;fill-opacity:1;stroke:none;stroke-width:0.19843748"
-       x="56.913864"
-       y="66.465256"
-       id="text16968"><tspan
-         sodipodi:role="line"
-         id="tspan16966"
-         x="56.913864"
-         y="66.465256"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#d7f4e3;stroke-width:0.19843748">ring</tspan></text>
-    <rect
-       style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.13431512;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1769"
-       width="21.297846"
-       height="5.9898095"
-       x="30.552704"
-       y="67.062508"
-       ry="1.3525398" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="33.065685"
-       y="71.049599"
-       id="text1773"><tspan
-         sodipodi:role="line"
-         id="tspan1461"
-         x="33.065685"
-         y="71.049599"
-         style="stroke-width:0.19843748">classifier</tspan></text>
-    <g
-       id="g1969-0"
-       transform="matrix(0.74487285,0,0,2.6794736,5.5667349,-232.75776)"
-       style="fill:#dedbe3">
-      <rect
-         ry="1.8106976"
-         y="122.52335"
-         x="124.54029"
-         height="8.0187912"
-         width="18.980101"
-         id="rect1769-3-2-7-7"
-         style="fill:#eef4d7;stroke:#000000;stroke-width:0.14670815;stroke-miterlimit:4;stroke-dasharray:none" />
-    </g>
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.21267372"
-       x="107.68398"
-       y="99.856544"
-       id="text1773-6-6-5-2-7"
-       transform="scale(0.93214046,1.0727997)"><tspan
-         y="99.856544"
-         x="107.68398"
-         sodipodi:role="line"
-         id="tspan1964-1-7"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267372">vhost</tspan></text>
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793)"
-       d="m 112.38085,66.046195 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783"
+       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 367.71429,174.93808 22.85714,11.42858"
+       id="path4715"
        inkscape:connector-curvature="0" />
     <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960)"
-       d="m 112.47118,108.69207 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-8"
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5445)"
+       d="m 448.28571,114.93808 27.14286,0"
+       id="path4717"
        inkscape:connector-curvature="0" />
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker26660)"
-       d="M 35.08879,104.73064 25.534813,95.139839"
-       id="path26650"
+       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 447.71429,189.2238 28.57142,0"
+       id="path4719"
        inkscape:connector-curvature="0" />
     <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1)"
-       d="m 112.11808,102.39221 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-87"
+       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 474.85714,259.2238 -27.14285,0"
+       id="path4721"
        inkscape:connector-curvature="0" />
     <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-5)"
-       d="m 112.7259,72.352919 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-8-7"
+       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 476.28571,333.50951 -30,1.42858"
+       id="path4723"
        inkscape:connector-curvature="0" />
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1560)"
-       d="m 91.74648,62.375041 c 6.66183,0 6.66183,0 6.66183,0"
-       id="path1556"
+       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 389.14286,260.65237 -22.85715,1.42857"
+       id="path4725"
        inkscape:connector-curvature="0" />
     <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.23020414;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-7)"
-       d="m 92.70317,113.68427 c 5.68154,0 5.68154,0 5.68154,0"
-       id="path14783-8-2"
+       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 389.14286,327.79523 -30,-42.85714"
+       id="path4727"
        inkscape:connector-curvature="0" />
     <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2218)"
-       d="m 71.365131,98.43499 c -21.806219,6.92139 -21.806219,6.92139 -21.806219,6.92139"
-       id="path2208"
+       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 603.42857,113.50951 22.85714,5.71429"
+       id="path4729"
        inkscape:connector-curvature="0" />
     <path
-       style="fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2605)"
-       d="M 71.648601,114.47803 C 49.558912,106.19594 49.558912,106.19594 49.558912,106.19594"
-       id="path2595"
+       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 600.57143,200.65237 40,70"
+       id="path4731"
        inkscape:connector-curvature="0" />
-    <rect
-       style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.12518337;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1769-3"
-       width="18.472155"
-       height="5.9989409"
-       x="31.086758"
-       y="102.57824"
-       ry="1.3546017" />
+    <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 640.57143,167.79523 -42.85714,74.28571"
+       id="path4733"
+       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(#marker5545)"
+       d="M 629.14286,322.08094 602,324.93809"
+       id="path4735"
+       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(#marker5663)"
+       d="m 699.14286,120.65237 24.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 723.42857,153.50951 -24.28571,0"
+       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 701.71429,288.08094 25.71428,0"
+       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 727.42857,323.79523 -27.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 794,118.08094 21.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 815.42857,149.2238 -21.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 795.42857,293.50951 22.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 819.71428,323.50952 -24.28571,-1e-5"
+       id="path4751"
+       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(#marker6787)"
+       d="m 219.14286,526.36666 45.71428,0"
+       id="path4753"
+       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(#marker6947)"
+       d="m 266.28571,569.2238 -45.71428,0"
+       id="path4755"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Label-Host"
+     transform="translate(0,-414.56693)">
     <text
        xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.19843748"
-       x="33.207432"
-       y="106.17302"
-       id="text1773-6"><tspan
+       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="168.45547"
+       y="460.5798"
+       id="text4160"
+       sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
-         id="tspan1463"
-         x="33.207432"
-         y="106.17302"
-         style="stroke-width:0.19843748">merger</tspan></text>
-    <g
-       id="g2295"
-       transform="matrix(0.75,0,0,0.75,-8.8329671,40.613879)">
-      <rect
-         ry="1.8039205"
-         y="25.020494"
-         x="106.67704"
-         height="7.9887786"
-         width="27.643539"
-         id="rect1769-3-2"
-         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
-      <text
-         id="text1773-6-6"
-         y="30.337786"
-         x="107.9122"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
-         xml:space="preserve"><tspan
-           id="tspan3024"
-           sodipodi:role="line"
-           x="107.9122"
-           y="30.337786">forwarder</tspan></text>
-    </g>
-    <g
-       transform="matrix(0.75,0,0,0.75,-8.6426321,76.494617)"
-       style="display:inline"
-       id="g2295-3">
-      <rect
-         ry="1.8039205"
-         y="25.020494"
-         x="106.67704"
-         height="7.9887786"
-         width="27.643539"
-         id="rect1769-3-2-4"
-         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
-      <text
-         id="text1773-6-6-0"
-         y="30.337786"
-         x="107.9122"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
-         xml:space="preserve"><tspan
-           id="tspan3024-5"
-           sodipodi:role="line"
-           x="107.9122"
-           y="30.337786">forwarder</tspan></text>
-    </g>
-    <g
-       transform="matrix(0.75,0,0,0.75,-8.8127251,55.913811)"
-       style="display:inline"
-       id="g2295-5">
-      <rect
-         ry="1.8039205"
-         y="25.020494"
-         x="106.67704"
-         height="7.9887786"
-         width="27.643539"
-         id="rect1769-3-2-2"
-         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
-      <text
-         id="text1773-6-6-6"
-         y="30.337786"
-         x="107.9122"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
-         xml:space="preserve"><tspan
-           id="tspan3024-9"
-           sodipodi:role="line"
-           x="107.9122"
-           y="30.337786">forwarder</tspan></text>
-    </g>
-    <g
-       transform="matrix(0.75,0,0,0.75,-8.3591551,92.140786)"
-       style="display:inline"
-       id="g2295-0">
-      <rect
-         ry="1.8039205"
-         y="25.020494"
-         x="106.67704"
-         height="7.9887786"
-         width="27.643539"
-         id="rect1769-3-2-8"
-         style="fill:#ffe6d5;fill-opacity:1;stroke:#000000;stroke-width:0.17672074;stroke-miterlimit:4;stroke-dasharray:none" />
-      <text
-         id="text1773-6-6-8"
-         y="30.337786"
-         x="107.9122"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.26458332"
-         xml:space="preserve"><tspan
-           id="tspan3024-96"
-           sodipodi:role="line"
-           x="107.9122"
-           y="30.337786">forwarder</tspan></text>
-    </g>
-    <g
-       style="display:inline"
-       id="g1263-1"
-       transform="matrix(0.75,0,0,0.75,-8.4326281,-1.356976)">
-      <g
-         id="g2377-5-42-1"
-         style="display:inline;fill:#eef4d7"
-         transform="translate(-6.7279778,-3.9309553)">
-        <ellipse
-           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
-           id="path1780-3-7-12-8-5"
-           cx="100.0881"
-           cy="141.425"
-           rx="6.5516987"
-           ry="3.1499126"
-           inkscape:transform-center-x="13.229167"
-           inkscape:transform-center-y="-59.720238" />
-        <text
-           xml:space="preserve"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-           x="102.67519"
-           y="132.96213"
-           id="text1773-6-6-5-2-7-4-3-60-6"
-           transform="scale(0.93214046,1.0727997)"><tspan
-             sodipodi:role="line"
-             id="tspan2372-8-0-1"
-             x="102.67519"
-             y="132.96213">ring</tspan></text>
-      </g>
-      <text
-         transform="scale(0.93214046,1.0727997)"
-         id="text1773-6-6-5-2-7-4-4-2-8"
-         y="129.157"
-         x="95.700722"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-         xml:space="preserve"><tspan
-           y="129.157"
-           x="95.700722"
-           id="tspan2372-2-3-6"
-           sodipodi:role="line">ring</tspan></text>
-    </g>
-    <g
-       style="display:inline"
-       id="g1263-52"
-       transform="matrix(0.75,0,0,0.75,-8.4326281,7.2608817)">
-      <g
-         id="g2377-5-42-19"
-         style="display:inline;fill:#eef4d7"
-         transform="translate(-6.7279778,-3.9309553)">
-        <ellipse
-           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
-           id="path1780-3-7-12-8-0"
-           cx="100.0881"
-           cy="141.425"
-           rx="6.5516987"
-           ry="3.1499126"
-           inkscape:transform-center-x="13.229167"
-           inkscape:transform-center-y="-59.720238" />
-        <text
-           xml:space="preserve"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-           x="102.67519"
-           y="132.96213"
-           id="text1773-6-6-5-2-7-4-3-60-0"
-           transform="scale(0.93214046,1.0727997)"><tspan
-             sodipodi:role="line"
-             id="tspan2372-8-0-3"
-             x="102.67519"
-             y="132.96213">ring</tspan></text>
-      </g>
-      <text
-         transform="scale(0.93214046,1.0727997)"
-         id="text1773-6-6-5-2-7-4-4-2-0"
-         y="129.157"
-         x="95.700722"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-         xml:space="preserve"><tspan
-           y="129.157"
-           x="95.700722"
-           id="tspan2372-2-3-8"
-           sodipodi:role="line">ring</tspan></text>
-    </g>
-    <rect
-       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.25501901;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1769-5"
-       width="39.860424"
-       height="11.537248"
-       x="32.144726"
-       y="141.47868"
-       ry="2.6051891" />
+         id="tspan4162"
+         x="168.45547"
+         y="460.5798">host1</tspan></text>
     <text
        xml:space="preserve"
-       style="font-style:normal;font-weight:normal;font-size:3.88410258px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.09710257px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-       x="39.476479"
-       y="139.37953"
-       id="text237"
-       transform="scale(0.93752888,1.0666338)"><tspan
+       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="169.90868"
+       y="894.6972"
+       id="text4168"
+       sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
-         id="tspan235"
-         x="39.476479"
-         y="139.37953"
-         style="stroke-width:0.09710257px">traffic generator</tspan></text>
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-5-6)"
-       d="m 25.530253,151.42019 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-8-7-9"
-       inkscape:connector-curvature="0" />
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-4)"
-       d="m 25.464472,144.88242 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-87-8"
-       inkscape:connector-curvature="0" />
-    <rect
-       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.11807317;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1769-5-6-3"
-       width="10.223983"
-       height="9.6423111"
-       x="135.23622"
-       y="100.41351"
-       ry="2.1772995" />
+         id="tspan4170"
+         x="169.90868"
+         y="894.6972">host2</tspan></text>
     <text
        xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267371"
-       x="145.62817"
-       y="99.263878"
-       id="text1773-6-6-5-2-7-8"
-       transform="scale(0.93214045,1.0727997)"><tspan
-         y="99.263878"
-         x="145.62817"
+       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="169.94928"
+       y="638.11847"
+       id="text4220"
+       sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
-         id="tspan1964-1-7-0"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267371">app2</tspan></text>
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-9)"
-       d="m 129.07059,107.59371 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-8-5"
-       inkscape:connector-curvature="0" />
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-9)"
-       d="m 128.71749,103.67511 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-87-5"
-       inkscape:connector-curvature="0" />
-    <rect
-       style="display:inline;fill:#ffccaa;fill-opacity:1;stroke:#000000;stroke-width:0.11807317;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1769-5-6-3-4"
-       width="10.223983"
-       height="9.6423111"
-       x="135.76675"
-       y="63.378746"
-       ry="2.1772995" />
+         id="tspan4222"
+         x="169.94928"
+         y="638.11847">NIC</tspan></text>
     <text
        xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21267371"
-       x="146.19733"
-       y="64.742287"
-       id="text1773-6-6-5-2-7-8-7"
-       transform="scale(0.93214045,1.0727997)"><tspan
-         y="64.742287"
-         x="146.19733"
+       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="161.96959"
+       y="969.36731"
+       id="text4224"
+       sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
-         id="tspan1964-1-7-0-4"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416665px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267371">app1</tspan></text>
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker22960-9-7)"
-       d="m 129.60112,70.558963 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-8-5-3"
-       inkscape:connector-curvature="0" />
-    <path
-       style="display:inline;fill:none;stroke:#000000;stroke-width:0.24075001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker14793-1-9-6)"
-       d="m 129.24802,66.640363 c 6.21402,0 6.21402,0 6.21402,0"
-       id="path14783-87-5-1"
-       inkscape:connector-curvature="0" />
-    <g
-       id="g1969"
-       transform="matrix(0.74487285,0,0,2.6794736,5.8732829,-268.99875)"
-       style="fill:#eef4d7">
-      <rect
-         ry="1.8106976"
-         y="122.52335"
-         x="124.54029"
-         height="8.0187912"
-         width="18.980101"
-         id="rect1769-3-2-7"
-         style="fill:#eef4d7;stroke:#000000;stroke-width:0.14670815;stroke-miterlimit:4;stroke-dasharray:none" />
-    </g>
+         id="tspan4226"
+         x="161.96959"
+         y="969.36731">NIC</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer10"
+     inkscape:label="Label-VM">
     <text
        xml:space="preserve"
-       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings: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:0.21267372"
-       x="108.31697"
-       y="65.916351"
-       id="text1773-6-6-5-2"
-       transform="scale(0.93214046,1.0727997)"><tspan
-         y="65.916351"
-         x="108.31697"
+       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="740.57147"
+       y="140.65236"
+       id="text4596"
+       sodipodi:linespacing="125%"><tspan
          sodipodi:role="line"
-         id="tspan1964-1"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.70416689px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21267372">vhost</tspan></text>
-    <path
-       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3618)"
-       d="M 51.850549,69.877318 C 71.174813,62.195833 71.174813,62.195833 71.174813,62.195833"
-       id="path3608"
-       inkscape:connector-curvature="0" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:0.241;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4626)"
-       d="m 51.850549,69.708341 c 19.344505,7.616675 19.344505,7.616675 19.344505,7.616675"
-       id="path4616"
-       inkscape:connector-curvature="0" />
-    <g
-       id="g1263"
-       transform="matrix(0.75,0,0,0.75,-8.8329671,-36.965737)">
-      <g
-         id="g2377-5-42"
-         style="display:inline;fill:#eef4d7"
-         transform="translate(-6.7279778,-3.9309553)">
-        <ellipse
-           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
-           id="path1780-3-7-12-8"
-           cx="100.0881"
-           cy="141.425"
-           rx="6.5516987"
-           ry="3.1499126"
-           inkscape:transform-center-x="13.229167"
-           inkscape:transform-center-y="-59.720238" />
-        <text
-           xml:space="preserve"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-           x="102.67519"
-           y="132.96213"
-           id="text1773-6-6-5-2-7-4-3-60"
-           transform="scale(0.93214046,1.0727997)"><tspan
-             sodipodi:role="line"
-             id="tspan2372-8-0"
-             x="102.67519"
-             y="132.96213">ring</tspan></text>
-      </g>
-      <text
-         transform="scale(0.93214046,1.0727997)"
-         id="text1773-6-6-5-2-7-4-4-2"
-         y="129.157"
-         x="95.700722"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-         xml:space="preserve"><tspan
-           y="129.157"
-           x="95.700722"
-           id="tspan2372-2-3"
-           sodipodi:role="line">ring</tspan></text>
-    </g>
-    <g
-       style="display:inline"
-       id="g1263-5"
-       transform="matrix(0.75,0,0,0.75,-8.5494851,-29.425109)">
-      <g
-         id="g2377-5-42-7"
-         style="display:inline;fill:#eef4d7"
-         transform="translate(-6.7279778,-3.9309553)">
-        <ellipse
-           style="display:inline;fill:#eef4d7;fill-opacity:1;stroke:#000000;stroke-width:0.35376999;stroke-miterlimit:4;stroke-dasharray:none"
-           id="path1780-3-7-12-8-4"
-           cx="100.0881"
-           cy="141.425"
-           rx="6.5516987"
-           ry="3.1499126"
-           inkscape:transform-center-x="13.229167"
-           inkscape:transform-center-y="-59.720238" />
-        <text
-           xml:space="preserve"
-           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#eef4d7;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-           x="102.67519"
-           y="132.96213"
-           id="text1773-6-6-5-2-7-4-3-60-1"
-           transform="scale(0.93214046,1.0727997)"><tspan
-             sodipodi:role="line"
-             id="tspan2372-8-0-0"
-             x="102.67519"
-             y="132.96213">ring</tspan></text>
-      </g>
-      <text
-         transform="scale(0.93214046,1.0727997)"
-         id="text1773-6-6-5-2-7-4-4-2-6"
-         y="129.157"
-         x="95.700722"
-         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28356495"
-         xml:space="preserve"><tspan
-           y="129.157"
-           x="95.700722"
-           id="tspan2372-2-3-9"
-           sodipodi:role="line">ring</tspan></text>
-    </g>
+         id="tspan4598"
+         x="740.57147"
+         y="140.65236">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="738"
+       y="309.50952"
+       id="text4600"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4602"
+         x="738"
+         y="309.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="734.85712"
+       y="248.36665"
+       id="text4604"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4606"
+         x="734.85712"
+         y="248.36665">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="733.42859"
+       y="74.938087"
+       id="text4608"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4610"
+         x="733.42859"
+         y="74.938087">VM1</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="24.285728"
+       y="356.36667"
+       id="text7882"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan7884"
+         x="24.285728"
+         y="356.36667">Network</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-Processes">
+    <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="244.94424"
+       y="104.51596"
+       id="text4208"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4210"
+         x="244.94424"
+         y="104.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.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="290.7818"
+       y="556.86127"
+       id="text4212"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4214"
+         x="290.7818"
+         y="556.86127">Traffic Generator</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="826.28571"
+       y="139.50951"
+       id="text4614"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4616"
+         x="826.28571"
+         y="139.50951">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="826.28571"
+       y="316.08093"
+       id="text4618"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4620"
+         x="826.28571"
+         y="316.08093">App2</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Label-Threads">
+    <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="486.6297"
+       y="124.63783"
+       id="text4184"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4186"
+         x="486.6297"
+         y="124.63783">forwarder</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="484.60934"
+       y="197.36884"
+       id="text4188"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4190"
+         x="484.60934"
+         y="197.36884">forwarder</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="486.6297"
+       y="270.09982"
+       id="text4192"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4194"
+         x="486.6297"
+         y="270.09982">forwarder</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="488.64984"
+       y="338.79022"
+       id="text4196"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4198"
+         x="488.64984"
+         y="338.79022">forwarder</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="260.98486"
+       y="270.12006"
+       id="text4200"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4202"
+         x="260.98486"
+         y="270.12006">merger</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="256.96454"
+       y="173.12512"
+       id="text4204"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4206"
+         x="256.96454"
+         y="173.12512">classifier</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer9"
+     inkscape:label="Label-Resources">
+    <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="395.62445"
+       y="268.98001"
+       id="text4561"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4563"
+         x="395.62445"
+         y="268.98001">ring</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="396.80792"
+       y="192.14172"
+       id="text4565"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4567"
+         x="396.80792"
+         y="192.14172">ring</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="397.57806"
+       y="335.12506"
+       id="text4569"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4571"
+         x="397.57806"
+         y="335.12506">ring</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="398.16257"
+       y="124.63779"
+       id="text4573"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4575"
+         x="398.16257"
+         y="124.63779">ring</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="632.16406"
+       y="142.16635"
+       id="text4577"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4579"
+         x="632.16406"
+         y="142.16635">vhost</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="632.25977"
+       y="312.18378"
+       id="text4581"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4583"
+         x="632.25977"
+         y="312.18378">vhost</tspan></text>
   </g>
 </svg>
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 17/28] docs: update spp_vf command index
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (14 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 16/28] docs: update spp_vf overview image ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 18/28] docs: add spp_vf primary command section ogawa.yasufumi
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/index.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/guides/spp_vf/commands/index.rst b/docs/guides/spp_vf/commands/index.rst
index 42a4694..7991d30 100644
--- a/docs/guides/spp_vf/commands/index.rst
+++ b/docs/guides/spp_vf/commands/index.rst
@@ -30,3 +30,14 @@
 
 SPP VF Commands
 ===============
+
+SPP VF provides commands for managing primary, secondary processes and
+SPP controller.
+
+.. toctree::
+   :maxdepth: 2
+   :numbered:
+
+   primary
+   secondary
+   common
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 18/28] docs: add spp_vf primary command section
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (15 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 17/28] docs: update spp_vf command index ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 19/28] docs: add spp_vf secondary " ogawa.yasufumi
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/primary.rst | 77 +++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 docs/guides/spp_vf/commands/primary.rst

diff --git a/docs/guides/spp_vf/commands/primary.rst b/docs/guides/spp_vf/commands/primary.rst
new file mode 100644
index 0000000..d4f13a8
--- /dev/null
+++ b/docs/guides/spp_vf/commands/primary.rst
@@ -0,0 +1,77 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Primary Commands
+====================
+
+Primary process is managed with ``pri`` command.
+
+
+status
+------
+
+Show status of primary.
+
+.. code-block:: console
+
+    spp > pri status
+    recv:('127.0.0.1', 50524):{Server Running}
+
+
+exit
+----
+
+Terminate primary.
+
+.. code-block:: console
+
+    spp > pri exit
+    closing:('127.0.0.1', 50524)
+
+.. note::
+
+    You should not use this command because terminating primary before
+    secondaries may cause an error.
+    You shold use ``bye`` command instead of ``pri exit``.
+
+clear
+-----
+
+Clear statistics.
+
+.. note::
+
+    This command is not supported currently.
+
+.. code-block:: console
+
+    spp > pri clear
+    recv:('127.0.0.1', 50524):{clear stats}
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 19/28] docs: add spp_vf secondary command section
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (16 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 18/28] docs: add spp_vf primary command section ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 20/28] docs: add spp_vf common " ogawa.yasufumi
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/secondary.rst | 386 ++++++++++++++++++++++++++++++
 1 file changed, 386 insertions(+)
 create mode 100644 docs/guides/spp_vf/commands/secondary.rst

diff --git a/docs/guides/spp_vf/commands/secondary.rst b/docs/guides/spp_vf/commands/secondary.rst
new file mode 100644
index 0000000..44c7248
--- /dev/null
+++ b/docs/guides/spp_vf/commands/secondary.rst
@@ -0,0 +1,386 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+.. _spp_vf_commands_spp_vf_secondary:
+
+Secondary Commands
+======================
+
+Each of secondary processes is managed with ``sec`` command.
+It is for sending sub commands to secondary with specific ID called
+secondary ID.
+
+``sec`` command takes an secondary ID and a sub command. They must be
+separated with delimiter ``;``.
+Some of sub commands take additional arguments for speicfying resource
+owned by secondary process.
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];[SUB_CMD]
+
+
+status
+------
+
+Show running status and resources.
+
+.. code-block:: console
+
+    spp > sec 1;status
+    recv:7:{Client ID 1 Idling
+    1
+    port id: 0,on,PHY,outport: none
+    port id: 1,on,PHY,outport: none
+    }
+
+
+component
+---------
+
+.. note::
+    This command is only supported for spp_vf.
+
+Start or stop a component. SPP VF provides three types of components,
+``forwarder``, ``classifier`` and ``merger``.
+
+``component start`` command creates and starts a component with given
+options.
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];component start [NAME] [CORE_ID] [DIRECTIVE]
+
+* ``NAME`` is used as an identifier of the component.
+* ``DIRECTIVE`` is a role of the component and corresponds to three types
+  of components.
+
+  * forward
+  * merge
+  * classifier_mac
+
+This is an example for starting three types of components.
+
+.. code-block:: console
+
+    spp > sec 1;component start forwarder1 2 forward
+    spp > sec 1;component start merger1 3 merge
+    spp > sec 1;component start classifier1 4 classifier_mac
+
+``component stop`` command terminates a component with given options
+same as ``component start`` command..
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];component stop [NAME] [CORE_ID] [DIRECTIVE]
+
+This is an example for stopping three types of components.
+
+.. code-block:: console
+
+    spp > sec 1;component stop forwarder1 2 forward
+    spp > sec 1;component stop merger1 3 merge
+    spp > sec 1;component stop classifier1 4 classifier_mac
+
+
+port
+----
+
+.. note::
+    This command is only supported for spp_vf.
+
+Add a port to a component or delete it from.
+SPP VF is able to treat VLAN tag by adding port with VLAN options.
+
+``port add`` command adds a port to a component with given options.
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];port add [RES_ID] [PORT_TYPE] [NAME]
+
+* ``RES_ID`` is a resource ID and defined as a combination of resource
+  type and number separated with delimiter ``:``.
+  There are three types of resources.
+
+  * ``phy`` for physical NIC
+  * ``vhost`` for vhost PMD
+  * ``ring`` for ring PMD
+
+* ``PORT_TYPE`` is ``rx`` or ``tx``.
+* ``NAME`` is used as an identifier of the component.
+
+This is an example for adding port ``phy:0`` to ``classifier1`` as
+``rx`` and to ``merger1`` as ``tx``.
+
+.. code-block:: console
+
+    spp > sec 1;port add phy:0 rx classifier1
+    spp > sec 1;port add phy:0 tx merger1
+
+For VLAN support, you need to add options for ``port add`` command.
+To add VLAN tag, additional option ``add_vlantag`` with its options
+``VLAN_ID`` and ``PCP`` are required.
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];port add [RES_ID] [PORT_TYPE] [NAME] add_vlantag [VLAN_ID] [PCP]
+
+* ``PCP`` (Priority Code Point) is an attribute for priority defined in
+  IEEE 802.1p standard. It is ranged from 0 to 7 and
+  7 is the highest priority.
+
+Or to delete VLAN tag, ``del_vlantag`` option is required.
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];port add [RES_ID] [PORT_TYPE] [NAME] del_vlantag
+
+This is an example for adding a port with ``add_vlantag`` or
+``del_vlantag``.
+In this case, add rx port to append VLAN tag 101 with PCP 3 and
+tx port to append VLAN tag 102 with PCP3.
+
+(1) Add VLAN tag
+
+.. code-block:: console
+
+    spp > sec 1;port add phy:0 rx classifier1 add_vlantag 101 3
+    spp > sec 1;port add phy:0 tx merger1 add_vlantag 102 3
+
+(2) Delete VLAN tag
+
+.. code-block:: console
+
+    spp > sec 1;port add phy:0 rx classifier1 del_vlantag
+    spp > sec 1;port add phy:0 tx merger1 del_vlantag
+
+``port del`` command deletes a port from a component with given options
+same as ``port add`` command..
+
+.. code-block:: console
+
+    spp > sec [SEC_ID];port del [RES_ID] [PORT_TYPE] [NAME]
+
+This is an example for deleting port added in previous example.
+
+.. code-block:: console
+
+    spp > sec 1;port del phy:0 rx classifier1
+    spp > sec 1;port del phy:0 tx merger1
+
+
+classifier_table
+----------------
+
+.. note::
+    This command is only supported for spp_vf.
+
+Register an entry as a combination of MAC address and resource ID
+to classifier table.
+
+.. code-block:: console
+
+    spp > sec 1;classifier_table add mac [MAC_ADDRESS] [RES_ID]
+
+This is an example to register an entry for port ``ring:0``.
+
+.. code-block:: console
+
+    spp > sec 1;classifier_table add mac 52:54:00:01:00:01 ring:0
+
+Register an entry with a VLAN tag to classifier table.
+
+.. code-block:: console
+
+    spp > sec 1;classifier_table add vlan [VLAN_ID] [MAC_ADDRESS] [RES_ID]
+
+This is an example to register an entry with VLAN tag 101
+for port ``ring:0``.
+
+.. code-block:: console
+
+    spp > sec 0;classifier_table add vlan 101 52:54:00:01:00:01 ring:0
+
+Delete an entry.
+
+.. code-block:: console
+
+    spp > sec 1;classifier_table add del [MAC_ADDRESS] [RES_ID]
+
+This is an example to delete an entry for port ``ring:0``.
+
+.. code-block:: console
+
+    spp > sec 1;classifier_table del mac 52:54:00:01:00:01 ring:0
+
+Delete an entry with a VLAN tag.
+
+.. code-block:: console
+
+    spp > sec 1;classifier_table add del [MAC_ADDRESS] [RES_ID]
+
+This is an example to delete an entry with VLAN tag 101.
+
+.. code-block:: console
+
+    spp > sec 0;classifier_table del vlan 101 52:54:00:01:00:01 ring:0
+
+
+flush
+-----
+
+.. note::
+    This command is only supported for spp_vf.
+
+Activate series of commands for a SPP VF secondary process
+(``component``, ``port`` or ``classifier`` command).
+
+You can cancel commands any time until
+before running ``cancel`` command.
+
+.. code-block:: console
+
+    spp > sec 1;flush
+
+
+cancel
+------
+
+.. note::
+    This command is only supported for spp_vf.
+
+Cancel all of commands for a SPP VF secondary process
+before running ``flush`` command.
+
+.. code-block:: console
+
+    spp > sec 1;cancel
+
+
+add
+---
+
+Add a PMD to the secondary with resource ID.
+
+Adding ring 0 by
+
+.. code-block:: console
+
+    spp> sec 1;add ring 0
+    recv:7:{addring0}
+
+Or adding vhost 0 by
+
+.. code-block:: console
+
+    spp> sec 1;add vhost 0
+    recv:7:{addvhost0}
+
+
+patch
+------
+
+Create a path between two ports, source and destination ports.
+Port ID is referred by status sub commnad.
+This command just creates path and does not start forwarding.
+
+.. code-block:: console
+
+    spp > sec 1;patch 0 2
+    recv:7:{patch02}
+
+
+forward
+-------
+
+Start forwarding.
+
+.. code-block:: console
+
+    spp > sec 1;forward
+    recv:7:{start forwarding}
+
+Running status is changed from ``Idling`` to ``Running`` by
+executing it.
+
+.. code-block:: console
+
+    spp > sec 1;status
+    recv:7:{Client ID 1 Running
+    1
+    port id: 0,on,PHY,outport: none
+    port id: 1,on,PHY,outport: none
+    }
+
+
+stop
+----
+
+Stop forwarding.
+
+.. code-block:: console
+
+    spp > sec 1;stop
+    recv:7:{start forwarding}
+
+Running status is changed from ``Running`` to ``Idling`` by
+executing it.
+
+.. code-block:: console
+
+    spp > sec 1;status
+    recv:7:{Client ID 1 Running
+    1
+    port id: 0,on,PHY,outport: none
+    port id: 1,on,PHY,outport: none
+    }
+
+
+del
+---
+
+Delete PMD added by ``add`` subcommand from the secondary.
+
+.. code-block:: console
+
+    spp> sec 1;del ring 0
+    recv:7:{delring0}
+
+
+exit
+----
+
+Terminate the secondary. For terminating all secondaries, use ``bye sec``
+command instead of it.
+
+.. code-block:: console
+
+    spp> sec 1;exit
+    recv:7:{delring0}
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 20/28] docs: add spp_vf common command section
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (17 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 19/28] docs: add spp_vf secondary " ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-05  2:39 ` [spp] [PATCH 21/28] docs: fix bug spp_vf command index ogawa.yasufumi
  2018-02-07 15:44 ` [spp] [PATCH 01/28] docs: change doc structure to add spp_vf Ferruh Yigit
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/common.rst | 131 +++++++++++++++++++++++++++++++++
 1 file changed, 131 insertions(+)
 create mode 100644 docs/guides/spp_vf/commands/common.rst

diff --git a/docs/guides/spp_vf/commands/common.rst b/docs/guides/spp_vf/commands/common.rst
new file mode 100644
index 0000000..438d345
--- /dev/null
+++ b/docs/guides/spp_vf/commands/common.rst
@@ -0,0 +1,131 @@
+..  BSD LICENSE
+    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+.. _spp_vf_commands_spp_vf_common:
+
+Common Commands
+====================
+
+status
+------
+
+Show the number of connected primary and secondary processes.
+It also show a list of secondary IDs
+
+.. code-block:: console
+
+    spp > status
+    Soft Patch Panel Status :
+    primary: 1
+    secondary count: 4
+    Connected secondary id: 1
+    Connected secondary id: 2
+
+
+record
+------
+
+Start recording user's input and create a history file for ``playback``
+commnad.
+Recording is stopped by executing ``exit`` or ``playback`` command.
+
+.. code-block:: console
+
+    spp > record 2nfv_uni.config
+
+.. note::
+
+    It is not supported to stop recording without ``exit`` or ``playback``
+    command.
+    It is planned to support ``stop`` command for stopping record in
+    next relase.
+
+
+playback
+--------
+
+Restore configuration from a config file.
+Content of config file is just a series of SPP commnad.
+You prepare a config file by using ``record`` command or editing a text
+file by hand.
+
+It is recommended to use extension ``.config`` to be self-sxplanatory
+as a config, although you can use any of extensions such as ``.txt`` or
+``.log``.
+
+.. code-block:: console
+
+    spp> playback 2nfv_uni.config
+
+
+bye
+---
+
+``bye`` command is for terminating SPP processes.
+It supports two types of termination as sub commands.
+
+  - sec
+  - all
+
+First one is for terminating only secondary processes at once.
+
+.. code-block:: console
+
+    spp > bye sec
+    closing:<socket._socketobject object at 0x105750910>
+    closing:<socket._socketobject object at 0x105750a60>
+
+Second one is for all SPP processes other than controller.
+
+.. code-block:: console
+
+    spp > bye all
+    closing:<socket._socketobject object at 0x10bd95910>
+    closing:<socket._socketobject object at 0x10bd95a60>
+    closing:('127.0.0.1', 53620)
+
+
+help
+----
+
+Show help message for SPP commands.
+
+.. code-block:: console
+
+    spp > help
+
+    Documented commands (type help <topic>):
+    ========================================
+    bye  help  playback  pri  record  sec  status
+
+    spp > help status
+    Display Soft Patch Panel Status
+    spp > help sec
+    Send command to secondary process
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 21/28] docs: fix bug spp_vf command index
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (18 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 20/28] docs: add spp_vf common " ogawa.yasufumi
@ 2018-02-05  2:39 ` ogawa.yasufumi
  2018-02-07 15:44 ` [spp] [PATCH 01/28] docs: change doc structure to add spp_vf Ferruh Yigit
  20 siblings, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-05  2:39 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Remove numbered attribute from toctree directive to avoid nested
warning.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/commands/index.rst | 1 -
 1 file changed, 1 deletion(-)

diff --git a/docs/guides/spp_vf/commands/index.rst b/docs/guides/spp_vf/commands/index.rst
index 7991d30..620d4e0 100644
--- a/docs/guides/spp_vf/commands/index.rst
+++ b/docs/guides/spp_vf/commands/index.rst
@@ -36,7 +36,6 @@ SPP controller.
 
 .. toctree::
    :maxdepth: 2
-   :numbered:
 
    primary
    secondary
-- 
2.13.1

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [spp] [PATCH 11/28] docs: add config image for spp_vf usercase1
  2018-02-05  2:39 ` [spp] [PATCH 11/28] docs: add config " ogawa.yasufumi
@ 2018-02-06 15:34   ` Ferruh Yigit
  2018-02-07  0:10     ` Yasufumi Ogawa
  2018-02-07  0:26   ` ogawa.yasufumi
  1 sibling, 1 reply; 26+ messages in thread
From: Ferruh Yigit @ 2018-02-06 15:34 UTC (permalink / raw)
  To: ogawa.yasufumi, spp, nakamura.hiroyuki

On 2/5/2018 2:39 AM, ogawa.yasufumi@lab.ntt.co.jp wrote:
> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
> 
> Add an image of detailed network configuration.

Getting error while trying to apply the patch [1], this can be similar issue
previously we had in image file.

[1]
Applying: docs: add config image for spp_vf usercase1
error: corrupt patch at line 1930


> 
> Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
<...>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [spp] [PATCH 11/28] docs: add config image for spp_vf usercase1
  2018-02-06 15:34   ` Ferruh Yigit
@ 2018-02-07  0:10     ` Yasufumi Ogawa
  2018-02-07 15:42       ` Ferruh Yigit
  0 siblings, 1 reply; 26+ messages in thread
From: Yasufumi Ogawa @ 2018-02-07  0:10 UTC (permalink / raw)
  To: Ferruh Yigit, spp, nakamura.hiroyuki

On 2018/02/07 0:34, Ferruh Yigit wrote:
> On 2/5/2018 2:39 AM, ogawa.yasufumi@lab.ntt.co.jp wrote:
>> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
>>
>> Add an image of detailed network configuration.
> 
> Getting error while trying to apply the patch [1], this can be similar issue
> previously we had in image file.
> 
> [1]
> Applying: docs: add config image for spp_vf usercase1
> error: corrupt patch at line 1930
Sorry about that, but it is weird because I had sent patches to me and 
checked be merged without any of errors before sent to ML. In addition, 
previous error was caused because of violation for maximum 998 chars 
limits in RFC 2822. Maximum line of my patches is around 500.

I checked patches with sent to spp ML and latest repo again, and merged 
successfully. However, I would like to make and send errored patch.

> 
> 
>>
>> Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
> <...>
> 
> 
> 


-- 
Yasufumi Ogawa
NTT Network Service Systems Labs

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [spp] [PATCH 11/28] docs: add config image for spp_vf usercase1
  2018-02-05  2:39 ` [spp] [PATCH 11/28] docs: add config " ogawa.yasufumi
  2018-02-06 15:34   ` Ferruh Yigit
@ 2018-02-07  0:26   ` ogawa.yasufumi
  1 sibling, 0 replies; 26+ messages in thread
From: ogawa.yasufumi @ 2018-02-07  0:26 UTC (permalink / raw)
  To: ferruh.yigit, spp, nakamura.hiroyuki; +Cc: Yasufumi Ogawa

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

Add an image of detailed network configuration.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
---
 docs/guides/spp_vf/images/usecase1_nwconfig.svg | 1916 +++++++++++++++++++++++
 1 file changed, 1916 insertions(+)
 create mode 100644 docs/guides/spp_vf/images/usecase1_nwconfig.svg

diff --git a/docs/guides/spp_vf/images/usecase1_nwconfig.svg b/docs/guides/spp_vf/images/usecase1_nwconfig.svg
new file mode 100644
index 0000000..65ac3b8
--- /dev/null
+++ b/docs/guides/spp_vf/images/usecase1_nwconfig.svg
@@ -0,0 +1,1916 @@
+<?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="330mm"
+   height="160mm"
+   viewBox="0 0 1169.2911 566.92911"
+   id="svg9270"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="usecase1_nwconfig.svg"
+   inkscape:export-filename="/Users/ogawa/Pictures/usecase1_nwconfig.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs9272">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker39317"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path39319"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker38983"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path38985"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker36783"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path36785" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker36461"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path36463"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker36145"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path36147" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker35835"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path35837"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker35523"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path35525" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker35225"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path35227"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker34933"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path34935" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker34647"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path34649"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker34331"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path34333" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker33707"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path33709"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker33083"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path33085" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker30453"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path30455"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker24437"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path24439" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker24169"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path24171"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker23907"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path23909" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker23651"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path23653"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker22041"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path22043" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker21327"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path21329"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker21101"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path21103" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20877"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path20879"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker20663"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path20665" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20449"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path20451"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker20247"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path20249" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker20051"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path20053"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19861"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         id="path19863" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19677"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path19679"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#e26f00;stroke-opacity:1;fill:#e26f00;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19499"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path19501" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19327"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path19329"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker19161"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path19163" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker19001"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path19003"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker18699"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path18701"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker18557"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         id="path18559" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker18421"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path18423"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#007800;stroke-opacity:1;fill:#007800;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker18289"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#0000c8;stroke-opacity:1;fill:#0000c8;fill-opacity:1"
+         id="path18291" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker18163"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path18165"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker18045"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path18047" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17933"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17935"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17827"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17829" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17727"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17729"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17633"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17635" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17545"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17547"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17463"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17465" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17387"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17389"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17317"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17319" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker17197"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path17199"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker17139"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path17141" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker15631"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path15633"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path14207"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker14505"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         id="path14507" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path14210"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path14192"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.70710678"
+     inkscape:cx="666.19832"
+     inkscape:cy="405.71429"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer8"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="851"
+     inkscape:window-x="30"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata9275">
+    <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Background"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-485.43308)"
+     style="display:inline"
+     sodipodi:insensitive="true" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Host"
+     transform="translate(0,-177.16534)">
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.6133436;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13751"
+       width="890.95874"
+       height="552.8847"
+       x="272.94727"
+       y="185.40306" />
+    <rect
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.00359738;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13753"
+       width="195.26669"
+       height="551.57568"
+       x="5.5016766"
+       y="187.01703" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.90717888;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13781"
+       width="59.092819"
+       height="79.092819"
+       x="139.98549"
+       y="295.58737" />
+    <path
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.93401569;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 139.55317,581.42013 0,-39.53299 29.53299,0 29.53299,0 0,39.53299 0,39.53299 -29.53299,0 -29.53299,0 0,-39.53299 z"
+       id="path13785"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.87119967;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13849"
+       width="59.128799"
+       height="79.128799"
+       x="274.25272"
+       y="296.14145" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.84680814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13851"
+       width="59.153191"
+       height="79.153191"
+       x="275.66907"
+       y="542.12927" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.59599024;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13887"
+       cx="586.10284"
+       cy="248.56296"
+       rx="29.702003"
+       ry="19.702005" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.87626642;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13893"
+       cx="585.81708"
+       cy="303.1344"
+       rx="29.561867"
+       ry="19.561867" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.97154814;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13895"
+       cx="585.24567"
+       cy="357.70587"
+       rx="29.514225"
+       ry="19.514225" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.74929738;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13897"
+       cx="585.81714"
+       cy="415.1344"
+       rx="29.625351"
+       ry="19.625351" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.76775968;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13899"
+       cx="586.67426"
+       cy="503.1344"
+       rx="29.616119"
+       ry="19.616119" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.87893379;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13901"
+       cx="586.38849"
+       cy="562.56299"
+       rx="29.560534"
+       ry="19.560534" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.78242588;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13903"
+       cx="586.38849"
+       cy="628.27722"
+       rx="29.608788"
+       ry="19.608788" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.94965303;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13905"
+       cx="586.38849"
+       cy="681.13446"
+       rx="29.525173"
+       ry="19.525173" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.61938131;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13907"
+       cx="856.99988"
+       cy="281.42014"
+       rx="34.690308"
+       ry="29.69031" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.62367457;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13909"
+       cx="856.99988"
+       cy="538.84869"
+       rx="34.688164"
+       ry="29.688162" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.77769536;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13911"
+       cx="856.99988"
+       cy="385.70581"
+       rx="34.611153"
+       ry="29.611153" />
+    <ellipse
+       style="opacity:1;fill:#d9ffc4;fill-opacity:1;stroke:#000000;stroke-width:0.8012569;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path13913"
+       cx="856.99988"
+       cy="652.84869"
+       rx="34.599373"
+       ry="29.599371" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker33083);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 767.91785,575.80307 59.39696,60.81118"
+       id="path33075"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="VM"
+     transform="translate(0,-177.16534)">
+    <rect
+       style="opacity:1;fill:#ebffff;fill-opacity:1;stroke:#000000;stroke-width:0.93337435;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13777"
+       width="217.55193"
+       height="218.96613"
+       x="940.46655"
+       y="206.22203" />
+    <rect
+       style="opacity:1;fill:#ebffff;fill-opacity:1;stroke:#000000;stroke-width:1.06073654;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13779"
+       width="216.01033"
+       height="227.32404"
+       x="940.53027"
+       y="471.90094" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.85308915;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13853"
+       width="59.146908"
+       height="59.146912"
+       x="940.42645"
+       y="254.98952" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.83044261;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13855"
+       width="59.169556"
+       height="59.169556"
+       x="940.4151"
+       y="354.12106" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.8089959;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13857"
+       width="59.191002"
+       height="59.191006"
+       x="940.40436"
+       y="512.68176" />
+    <rect
+       style="opacity:1;fill:#ffff90;fill-opacity:1;stroke:#000000;stroke-width:0.76903498;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13859"
+       width="59.230965"
+       height="59.230965"
+       x="940.3844"
+       y="625.51892" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer6"
+     inkscape:label="Processes"
+     transform="translate(0,-177.16534)">
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.81312722;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13924"
+       width="109.18687"
+       height="39.186874"
+       x="393.72644"
+       y="265.10025"
+       ry="19.593437" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.71274847;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13975"
+       width="109.28725"
+       height="39.287251"
+       x="393.88773"
+       y="621.49078"
+       ry="17.46097" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.88880163;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13977"
+       width="109.1112"
+       height="39.111198"
+       x="395.51413"
+       y="365.75101"
+       ry="18.15877"
+       rx="22.00881" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.89412194;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13979"
+       width="109.10588"
+       height="39.105877"
+       x="395.72339"
+       y="507.80826"
+       ry="18.156273" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.97586316;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13981"
+       width="109.02414"
+       height="39.024136"
+       x="664.30499"
+       y="227.05092"
+       ry="16.364935" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:1.03414404;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13983"
+       width="108.96586"
+       height="38.965855"
+       x="664.33417"
+       y="283.65152"
+       ry="18.091263" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.83751601;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13985"
+       width="109.16249"
+       height="39.162483"
+       x="662.80725"
+       y="340.41031"
+       ry="19.581242" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:1.00372946;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13987"
+       width="108.99627"
+       height="38.996269"
+       x="662.89044"
+       y="397.92197"
+       ry="19.498135" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.97586316;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13989"
+       width="109.02413"
+       height="39.024136"
+       x="664.30499"
+       y="484.7652"
+       ry="19.512068"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.89144975;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13991"
+       width="109.10855"
+       height="39.108551"
+       x="662.83423"
+       y="544.72296"
+       ry="19.554276"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:1.14577103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13993"
+       width="108.85423"
+       height="38.854229"
+       x="661.24713"
+       y="663.70734"
+       ry="19.427114"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.93164957;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect13995"
+       width="109.06834"
+       height="39.068352"
+       x="661.42572"
+       y="609.02881"
+       ry="19.534176"
+       rx="0" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.65907991;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14176"
+       width="79.340927"
+       height="59.340919"
+       x="25.659908"
+       y="426.19189"
+       ry="19.570276" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.64513224;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14178"
+       width="79.354866"
+       height="59.354866"
+       x="1048.8572"
+       y="302.94739"
+       ry="13.320185" />
+    <rect
+       style="opacity:1;fill:#ffedd1;fill-opacity:1;stroke:#000000;stroke-width:0.67842245;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect14180"
+       width="79.321571"
+       height="59.321579"
+       x="1048.5306"
+       y="565.90723"
+       ry="14.095816" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer8"
+     inkscape:label="Pathes"
+     transform="translate(0,-177.16534)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+       d="M 48.083139,427.31064 C 48.49406,336.26236 56.83346,315.68649 138.59281,318.4162"
+       id="path14183"
+       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-start:url(#Arrow2Lstart)"
+       d="m 80.610051,424.48222 c -0.488362,-55.71646 4.616042,-76.55129 57.982759,-76.36754"
+       id="path14497"
+       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(#marker15631)"
+       d="M 138.59282,598.43048 C 60.667106,598.15102 51.055777,583.15326 49.497352,486.70761"
+       id="path15609"
+       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(#marker14505)"
+       d="m 80.610051,486.70761 c 3.121247,70.22472 26.782499,78.77937 56.568549,79.19596"
+       id="path15611"
+       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(#marker17139)"
+       d="m 199.40399,318.4162 72.12489,0"
+       id="path17129"
+       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(#marker17197)"
+       d="m 272.94309,350.94311 -72.12488,0"
+       id="path17131"
+       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(#marker17317)"
+       d="m 332.34007,318.4162 60.81118,-31.1127"
+       id="path17255"
+       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(#marker17387)"
+       d="m 395.97968,386.29845 -62.2254,-33.94113"
+       id="path17257"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17463);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 497.80305,271.74715 57.98276,-21.21321"
+       id="path17259"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17545);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 615.18278,246.2913 46.66905,0"
+       id="path17261"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17633);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 773.5747,247.70552 50.91169,24.04162"
+       id="path17267"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18163);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 825.07217,294.37457 -52.3259,63.63961"
+       id="path17269"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker17727)"
+       d="m 889.54021,268.91872 49.49748,0"
+       id="path17271"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18045);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 940.4519,297.20299 -55.15433,0"
+       id="path17273"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17827);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 998.43465,266.09029 c 94.63305,0.45774 104.16945,5.24597 107.48025,35.35534"
+       id="path17275"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker17933);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 1071.1453,303.44563 c 6.6858,-10.51028 -33.019,-11.89778 -70.7107,-11.31371"
+       id="path17277"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18421);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 998.43465,376.98474 c 40.24095,0.5143 56.08195,3.05682 76.36755,-11.31371"
+       id="path17279"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18557);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 1108.7433,363.08524 c 0.564,40.58047 -33.6193,36.97478 -107.4802,38.18376"
+       id="path17281"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18699);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 888.126,375.32788 50.91169,-1.41421"
+       id="path17283"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20663);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="M 772.16048,502.26396 824.48639,401.8548"
+       id="path17287"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20877);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="M 837.2143,411.75429 767.91784,618.22947"
+       id="path17289"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20449);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 829.31481,671.96959 -59.39697,12.72792"
+       id="path17291"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker19861);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 1111.5718,625.30054 c -3.2308,26.90074 -39.1957,44.28131 -110.3087,41.01219"
+       id="path17293"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20247);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 938.20926,669.14116 -50.91169,-1.41421"
+       id="path17295"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker20051);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 886.71178,636.61425 50.91169,0"
+       id="path17297"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker19677);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 1001.2631,642.2711 c 33.0296,0.8126 63.8757,1.51529 73.5391,-14.14213"
+       id="path17299"
+       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-opacity:1;marker-end:url(#marker19001);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 886.71178,526.30559 52.32591,0"
+       id="path17303"
+       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-opacity:1;marker-end:url(#marker19161);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 998.43465,527.7198 c 85.27465,-1.40183 113.99635,2.84932 113.13705,39.59799"
+       id="path17305"
+       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-opacity:1;marker-end:url(#marker19499);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 1067.7312,564.48935 c 0.2203,-10.60148 -37.0372,-9.65317 -66.4681,-11.3137"
+       id="path17307"
+       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-opacity:1;marker-end:url(#marker19327);stroke-miterlimit:4;stroke-dasharray:2, 2;stroke-dashoffset:0"
+       d="m 938.20926,557.41829 -50.91169,-1.41422"
+       id="path17309"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker18289);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 769.91784,313.34513 70.71068,197.9899"
+       id="path18281"
+       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-opacity:1;marker-end:url(#marker22041);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="M 826.48639,526.30558 767.08942,430.13907"
+       id="path18413"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker21327);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 555.78581,358.01418 -53.74012,16.97056"
+       id="path21091"
+       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-opacity:1;marker-end:url(#marker21101);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="M 557.20002,415.99693 502.04569,396.19794"
+       id="path21093"
+       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(#marker24169)"
+       d="m 197.98978,565.90357 73.5391,0"
+       id="path23635"
+       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(#marker24437)"
+       d="m 271.52888,599.84469 -69.29646,0"
+       id="path23639"
+       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(#marker23907)"
+       d="m 333.75428,565.90357 59.39697,-33.94113"
+       id="path23641"
+       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(#marker23651)"
+       d="M 393.15125,640.85689 335.1685,602.67312"
+       id="path23643"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker30453);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 939.62347,397.61216 -50.91169,0"
+       id="path30445"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker33707);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 499.21727,291.54614 56.56854,11.31371"
+       id="path33699"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker34331);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 615.76857,302.85985 46.66904,0"
+       id="path34323"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0;marker-end:url(#marker38983)"
+       d="m 661.85183,358.01418 -49.49748,0"
+       id="path34629"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#0000c8;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker39317)"
+       d="m 663.26604,417.41115 -48.08326,0"
+       id="path34631"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker34647);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 502.04569,517.82031 53.74012,-15.55635"
+       id="path34633"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker35225);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 502.04569,534.79087 53.74012,24.04163"
+       id="path34635"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker34933);stroke-miterlimit:4;stroke-dasharray:8, 4;stroke-dashoffset:0"
+       d="m 615.18278,502.26396 45.25483,0"
+       id="path34637"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker35523);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 615.18278,563.07514 45.25483,0"
+       id="path34639"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker36145);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 660.43761,629.54318 -45.25483,0"
+       id="path35821"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker36461);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="m 661.0234,683.2833 -42.42641,1.41421"
+       id="path35823"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#e26f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker36783);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0"
+       d="M 555.78581,681.86908 499.21727,653.58481"
+       id="path35825"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#007800;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker35835);stroke-miterlimit:4;stroke-dasharray:8,4;stroke-dashoffset:0"
+       d="m 555.78581,630.95739 -53.74012,4.24264"
+       id="path35827"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="Label-Host"
+     style="display:inline"
+     transform="translate(0,-177.16534)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="14.285588"
+       y="209.80876"
+       id="text13862"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13864"
+         x="14.285588"
+         y="209.80876">host1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="281.71417"
+       y="206.95163"
+       id="text13866"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13868"
+         x="281.71417"
+         y="206.95163">host2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="150.28558"
+       y="341.80878"
+       id="text13870"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13872"
+         x="150.28558"
+         y="341.80878">NIC2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="149.42845"
+       y="582.95166"
+       id="text13874"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13876"
+         x="149.42845"
+         y="582.95166">NIC3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="282.28558"
+       y="339.52304"
+       id="text13878"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13880"
+         x="282.28558"
+         y="339.52304">NIC0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="283.14273"
+       y="588.66589"
+       id="text13882"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13884"
+         x="283.14273"
+         y="588.66589">NIC1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="564.28558"
+       y="254.38019"
+       id="text13889"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13891"
+         x="564.28558"
+         y="254.38019">ring0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.92798"
+       y="307.93091"
+       id="text14060"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14062"
+         x="563.92798"
+         y="307.93091">ring1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.09955"
+       y="362.6416"
+       id="text14064"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14066"
+         x="563.09955"
+         y="362.6416">ring2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.34216"
+       y="419.89642"
+       id="text14068"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14070"
+         x="563.34216"
+         y="419.89642">ring3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.09949"
+       y="509.92081"
+       id="text14072"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14074"
+         x="563.09949"
+         y="509.92081">ring4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.34216"
+       y="568.83252"
+       id="text14076"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14078"
+         x="563.34216"
+         y="568.83252">ring5</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="564.51373"
+       y="634.47211"
+       id="text14080"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14082"
+         x="564.51373"
+         y="634.47211">ring6</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="563.92798"
+       y="686.21222"
+       id="text14084"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14086"
+         x="563.92798"
+         y="686.21222">ring7</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="825.75848"
+       y="286.47507"
+       id="text14088"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14090"
+         x="825.75848"
+         y="286.47507">vhost0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="826.58698"
+       y="391.91367"
+       id="text14092"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14094"
+         x="826.58698"
+         y="391.91367">vhost1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="824.58691"
+       y="545.07513"
+       id="text14096"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14098"
+         x="824.58691"
+         y="545.07513">vhost2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="828.58691"
+       y="658.99902"
+       id="text14100"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14102"
+         x="828.58691"
+         y="658.99902">vhost3</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Label-VM"
+     transform="translate(0,-177.16534)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="949.42841"
+       y="230.66591"
+       id="text13915"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13917"
+         x="949.42841"
+         y="230.66591">VM1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="950.85706"
+       y="496.66589"
+       id="text13919"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan13921"
+         x="950.85706"
+         y="496.66589">VM2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28558"
+       y="291.52307"
+       id="text14018"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14020"
+         x="944.28558"
+         y="291.52307">vNIC0</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28564"
+       y="384.38019"
+       id="text14022"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14024"
+         x="944.28564"
+         y="384.38019">vNIC1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28564"
+       y="550.9516"
+       id="text14026"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14028"
+         x="944.28564"
+         y="550.9516">vNIC2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="944.28564"
+       y="660.66589"
+       id="text14030"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14032"
+         x="944.28564"
+         y="660.66589">vNIC3</tspan></text>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer7"
+     inkscape:label="Label-Processes"
+     transform="translate(0,-177.16534)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="404.85703"
+       y="291.23734"
+       id="text13998"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14000"
+         x="404.85703"
+         y="291.23734">classifier1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="412.28558"
+       y="390.66592"
+       id="text14002"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14004"
+         x="412.28558"
+         y="390.66592">merger1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="407.99988"
+       y="533.80878"
+       id="text14006"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14008"
+         x="407.99988"
+         y="533.80878">classifier2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="410.57132"
+       y="647.52307"
+       id="text14010"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14012"
+         x="410.57132"
+         y="647.52307">merger2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="670.85699"
+       y="253.80878"
+       id="text14014"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14016"
+         x="670.85699"
+         y="253.80878">forwarder1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="65.396843"
+       y="452.23956"
+       id="text14034"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14036"
+         x="65.396843"
+         y="452.23956">SSH</tspan><tspan
+         sodipodi:role="line"
+         x="65.396843"
+         y="474.11456"
+         id="tspan14038">client</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1089.9149"
+       y="327.58777"
+       id="text14040"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14056"
+         x="1089.9149"
+         y="327.58777">SSH</tspan><tspan
+         sodipodi:role="line"
+         id="tspan14058"
+         x="1089.9149"
+         y="349.46277">server1</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="1089.2286"
+       y="591.35944"
+       id="text14046"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14052"
+         x="1089.2286"
+         y="591.35944">SSH</tspan><tspan
+         sodipodi:role="line"
+         id="tspan14054"
+         x="1089.2286"
+         y="613.23444">Server2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="669.85181"
+       y="310.4162"
+       id="text14148"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14150"
+         x="669.85181"
+         y="310.4162">forwarder2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="667.85181"
+       y="365.22739"
+       id="text14152"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14154"
+         x="667.85181"
+         y="365.22739">forwarder3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="666.43756"
+       y="422.72485"
+       id="text14156"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14158"
+         x="666.43756"
+         y="422.72485">forwarder4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="670.68024"
+       y="509.67819"
+       id="text14160"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14162"
+         x="670.68024"
+         y="509.67819">forwarder5</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="669.26605"
+       y="569.07513"
+       id="text14164"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14166"
+         x="669.26605"
+         y="569.07513">forwarder6</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="669.50867"
+       y="633.88635"
+       id="text14168"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14170"
+         x="669.50867"
+         y="633.88635">forwarder7</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:17.5px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="668.92291"
+       y="687.52594"
+       id="text14172"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan14174"
+         x="668.92291"
+         y="687.52594">forwarder8</tspan></text>
+  </g>
+</svg>
-- 
2.7.4

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [spp] [PATCH 11/28] docs: add config image for spp_vf usercase1
  2018-02-07  0:10     ` Yasufumi Ogawa
@ 2018-02-07 15:42       ` Ferruh Yigit
  0 siblings, 0 replies; 26+ messages in thread
From: Ferruh Yigit @ 2018-02-07 15:42 UTC (permalink / raw)
  To: Yasufumi Ogawa, spp, nakamura.hiroyuki

On 2/7/2018 12:10 AM, Yasufumi Ogawa wrote:
> On 2018/02/07 0:34, Ferruh Yigit wrote:
>> On 2/5/2018 2:39 AM, ogawa.yasufumi@lab.ntt.co.jp wrote:
>>> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
>>>
>>> Add an image of detailed network configuration.
>>
>> Getting error while trying to apply the patch [1], this can be similar issue
>> previously we had in image file.
>>
>> [1]
>> Applying: docs: add config image for spp_vf usercase1
>> error: corrupt patch at line 1930
> Sorry about that, but it is weird because I had sent patches to me and 
> checked be merged without any of errors before sent to ML. In addition, 
> previous error was caused because of violation for maximum 998 chars 
> limits in RFC 2822. Maximum line of my patches is around 500.
> 
> I checked patches with sent to spp ML and latest repo again, and merged 
> successfully. However, I would like to make and send errored patch.

Copy-paste of new 11/28 worked for me, pushing the set, thanks.

> 
>>
>>
>>>
>>> Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
>> <...>
>>
>>
>>
> 
> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [spp] [PATCH 01/28] docs: change doc structure to add spp_vf
  2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
                   ` (19 preceding siblings ...)
  2018-02-05  2:39 ` [spp] [PATCH 21/28] docs: fix bug spp_vf command index ogawa.yasufumi
@ 2018-02-07 15:44 ` Ferruh Yigit
  20 siblings, 0 replies; 26+ messages in thread
From: Ferruh Yigit @ 2018-02-07 15:44 UTC (permalink / raw)
  To: ogawa.yasufumi, spp, nakamura.hiroyuki; +Cc: Thomas Monjalon

On 2/5/2018 2:38 AM, ogawa.yasufumi@lab.ntt.co.jp wrote:
> From: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>
> 
> Move documents to 'spp/' other than overview.rst and add 'spp_vf/'.
> 
> Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi@lab.ntt.co.jp>

Series applied, thanks.

spp has now better looking docs, thanks!

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2018-02-07 15:44 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-05  2:38 [spp] [PATCH 01/28] docs: change doc structure to add spp_vf ogawa.yasufumi
2018-02-05  2:38 ` [spp] [PATCH 02/28] docs: add indexes for spp_vf ogawa.yasufumi
2018-02-05  2:38 ` [spp] [PATCH 03/28] docs: add spp_vf overview ogawa.yasufumi
2018-02-05  2:38 ` [spp] [PATCH 04/28] docs: add spp_vf design section ogawa.yasufumi
2018-02-05  2:38 ` [spp] [PATCH 05/28] docs: add spp_vf gsg section ogawa.yasufumi
2018-02-05  2:38 ` [spp] [PATCH 06/28] docs: add spp_vf explanation section ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 07/28] docs: add image for sample usage ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 08/28] docs: fix bug spp_vf howto_use guide ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 09/28] docs: fix link warning ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 10/28] docs: add overview image for spp_vf usercase1 ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 11/28] docs: add config " ogawa.yasufumi
2018-02-06 15:34   ` Ferruh Yigit
2018-02-07  0:10     ` Yasufumi Ogawa
2018-02-07 15:42       ` Ferruh Yigit
2018-02-07  0:26   ` ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 12/28] docs: add numref attribute for sphinx ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 13/28] docs: add usecase section in spp_vf ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 14/28] docs: add ssh login usecase for spp_vf ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 15/28] docs: add labels for using sphinx ref directive ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 16/28] docs: update spp_vf overview image ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 17/28] docs: update spp_vf command index ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 18/28] docs: add spp_vf primary command section ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 19/28] docs: add spp_vf secondary " ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 20/28] docs: add spp_vf common " ogawa.yasufumi
2018-02-05  2:39 ` [spp] [PATCH 21/28] docs: fix bug spp_vf command index ogawa.yasufumi
2018-02-07 15:44 ` [spp] [PATCH 01/28] docs: change doc structure to add spp_vf Ferruh Yigit

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).