* [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide
@ 2015-07-03 6:58 Jijiang Liu
2015-07-03 8:53 ` Liu, Yong
2015-07-27 22:28 ` Thomas Monjalon
0 siblings, 2 replies; 4+ messages in thread
From: Jijiang Liu @ 2015-07-03 6:58 UTC (permalink / raw)
To: dev
Add a VXLAN sample guide in the sample_app_ug directory.
It includes:
- Add the overlay networking picture with svg format.
- Add the TEP termination framework picture with svg format.
- Add the tep_termination.rst file
- Change the index.rst file for the above pictures index.
Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
Signed-off-by: Thomas Long <thomas.long@intel.com>
v2 changes:
optimize the two pictures
add tep_termination index in index.rst file
fix a typo and a command line
---
.../sample_app_ug/img/overlay_networking.svg | 786 ++++++++++++++++++++
.../sample_app_ug/img/tep_termination_arch.svg | 548 ++++++++++++++
doc/guides/sample_app_ug/index.rst | 3 +
doc/guides/sample_app_ug/tep_termination.rst | 321 ++++++++
4 files changed, 1658 insertions(+), 0 deletions(-)
create mode 100644 doc/guides/sample_app_ug/img/overlay_networking.svg
create mode 100644 doc/guides/sample_app_ug/img/tep_termination_arch.svg
create mode 100644 doc/guides/sample_app_ug/tep_termination.rst
diff --git a/doc/guides/sample_app_ug/img/overlay_networking.svg b/doc/guides/sample_app_ug/img/overlay_networking.svg
new file mode 100644
index 0000000..2ce440d
--- /dev/null
+++ b/doc/guides/sample_app_ug/img/overlay_networking.svg
@@ -0,0 +1,786 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export overlay_networking.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.5in" height="11in" viewBox="0 0 612 792"
+ xml:space="preserve" color-interpolation-filters="sRGB" class="st29">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ <v:ud v:nameU="msvConvertTheme"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#b2b2b2;fill-opacity:0.5;stroke:#b2b2b2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
+ .st3 {fill:#d8d8d8;fill-opacity:0.7;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st4 {fill:#000000;font-family:Calibri;font-size:1.16666em}
+ .st5 {fill:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
+ .st6 {fill:#6b9bc7;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st7 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st8 {fill:#f6d5b9;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st9 {fill:#000000;font-family:Calibri;font-size:0.75em}
+ .st10 {fill:url(#grad0-21);stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st11 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st12 {fill:#00b0f0;fill-opacity:0.8;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st13 {fill:#00b0f0;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st14 {fill:#7030a0;fill-opacity:0.6;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st15 {fill:url(#grad0-121)}
+ .st16 {stroke:#0070c0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st17 {fill:url(#grad0-128)}
+ .st18 {stroke:#d26d19;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st19 {stroke:#cdcdcd;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5;stroke-width:1.5}
+ .st20 {stroke:#d26d19;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st21 {stroke:#0070c0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st22 {stroke:#7030a0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st23 {stroke:#43365a;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st24 {stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st25 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}
+ .st26 {fill:url(#grad0-236)}
+ .st27 {stroke:#7030a0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+ .st28 {fill:#8fa350;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.5}
+ .st29 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-21" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+ <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
+ <stop offset="1" stop-color="#ffffff" stop-opacity="1"/>
+ </linearGradient>
+ <linearGradient id="grad0-121" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+ <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
+ <stop offset="1" stop-color="#0070c0" stop-opacity="1"/>
+ </linearGradient>
+ <linearGradient id="grad0-128" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+ <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
+ <stop offset="1" stop-color="#d26d19" stop-opacity="1"/>
+ </linearGradient>
+ <linearGradient id="grad0-236" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+ <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
+ <stop offset="1" stop-color="#7030a0" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <v:layer v:name="Flowchart" v:index="0"/>
+ <v:layer v:name="Connector" v:index="1"/>
+ <g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(85.5,-493.875)">
+ <title>Rounded rectangle</title>
+ <desc>Host</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="50.5382" cy="730.125" width="101.08" height="123.75"/>
+ <g id="shadow3-2" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M92.08 792 A9.00007 9.00007 -180 0 0 101.08 783 L101.08 677.25 A9.00007 9.00007 -180 0 0 92.08 668.25 L9
+ 668.25 A9.00007 9.00007 -180 0 0 0 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L92.08 792 Z"
+ class="st2"/>
+ </g>
+ <path d="M92.08 792 A9.00007 9.00007 -180 0 0 101.08 783 L101.08 677.25 A9.00007 9.00007 -180 0 0 92.08 668.25 L9 668.25
+ A9.00007 9.00007 -180 0 0 0 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L92.08 792 Z" class="st3"/>
+ <text x="37.4" y="784.72" class="st4" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> </g>
+ <g id="shape10-6" v:mID="10" v:groupContext="shape" transform="translate(33.75,-569.7)">
+ <title>Rounded rectangle.10</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="19.4595" cy="779.85" width="38.92" height="24.3"/>
+ <g id="shadow10-7" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7
+ A9.00007 9.00007 -180 0 0 0 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st5"/>
+ </g>
+ <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 A9.00007
+ 9.00007 -180 0 0 0 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st6"/>
+ <text x="12.35" y="782.85" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape11-11" v:mID="11" v:groupContext="shape" transform="translate(93.171,-566.775)">
+ <title>Rounded rectangle.11</title>
+ <desc>VNID 100</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27.6645" cy="783.9" width="55.33" height="16.2"/>
+ <g id="shadow11-12" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006
+ 8.10006 -180 0 0 -0 783.9 A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st5"/>
+ </g>
+ <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 8.10006
+ -180 0 0 -0 783.9 A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st8"/>
+ <text x="10.44" y="786.6" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> </g>
+ <g id="shape14-16" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(204.576,-381.375)">
+ <title>Object</title>
+ <desc>IP Network</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>
+ <v:textRect cx="92.25" cy="708.331" width="184.5" height="167.337"/>
+ <g id="shadow14-17" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M26.52 755.72 A21.2239 24.0427 -180 0 0 57.09 776.07 A29.3964 33.3006 -180 0 0 110.26 768.54 A8.89171 10.0726
+ -180 0 0 119.85 779.41 A33.8326 38.3261 -180 0 0 152.34 763.52 A21.0233 23.8155 -180 0 0 175.24 748.46
+ A36.2371 30.7434 -123.25 0 0 161.38 716.14 A124.285 106.223 -59.84 0 0 184.46 684.3 A46.9314 46.8568
+ -180 0 0 160.15 641.4 A28.0325 27.988 -180 0 0 106.53 654.79 A24.2803 21.6216 -26.25 0 0 66.28 656.03
+ A34.8986 32.2655 -147.51 0 0 22.74 701.63 A27.2819 27.2385 -180 0 0 26.52 755.72 Z" class="st5"/>
+ </g>
+ <path d="M26.52 755.72 A21.2239 24.0427 -180 0 0 57.09 776.07 A29.3964 33.3006 -180 0 0 110.26 768.54 A8.89171 10.0726
+ -180 0 0 119.85 779.41 A33.8326 38.3261 -180 0 0 152.34 763.52 A21.0233 23.8155 -180 0 0 175.24 748.46 A36.2371
+ 30.7434 -123.25 0 0 161.38 716.14 A124.285 106.223 -59.84 0 0 184.46 684.3 A46.9314 46.8568 -180 0 0 160.15
+ 641.4 A28.0325 27.988 -180 0 0 106.53 654.79 A24.2803 21.6216 -26.25 0 0 66.28 656.03 A34.8986 32.2655 -147.51
+ 0 0 22.74 701.63 A27.2819 27.2385 -180 0 0 26.52 755.72 Z" class="st10"/>
+ <text x="65.14" y="711.93" class="st11" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>IP Network</text> </g>
+ <g id="shape1-23" v:mID="1" v:groupContext="shape" transform="translate(33.75,-521.1)">
+ <title>Rounded rectangle.1</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="19.4595" cy="779.85" width="38.92" height="24.3"/>
+ <g id="shadow1-24" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7
+ A9.00007 9.00007 -180 0 0 0 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st5"/>
+ </g>
+ <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 A9.00007
+ 9.00007 -180 0 0 0 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st6"/>
+ <text x="12.35" y="782.85" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape22-28" v:mID="22" v:groupContext="shape" transform="translate(93.171,-530.325)">
+ <title>Rounded rectangle.22</title>
+ <desc>VNID 101</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="27.6645" cy="783.9" width="55.33" height="16.2"/>
+ <g id="shadow22-29" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006
+ 8.10006 -180 0 0 -0 783.9 A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st5"/>
+ </g>
+ <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 8.10006
+ -180 0 0 -0 783.9 A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st12"/>
+ <text x="10.44" y="786.6" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text> </g>
+ <g id="shape23-33" v:mID="23" v:groupContext="shape" transform="translate(85.5,-288)">
+ <title>Rounded rectangle.23</title>
+ <desc>Host</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="51.75" cy="733.5" width="103.5" height="117"/>
+ <g id="shadow23-34" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M94.5 792 A9.00007 9.00007 -180 0 0 103.5 783 L103.5 684 A9.00007 9.00007 -180 0 0 94.5 675 L9 675 A9.00007
+ 9.00007 -180 0 0 0 684 L0 783 A9.00007 9.00007 -180 0 0 9 792 L94.5 792 Z" class="st2"/>
+ </g>
+ <path d="M94.5 792 A9.00007 9.00007 -180 0 0 103.5 783 L103.5 684 A9.00007 9.00007 -180 0 0 94.5 675 L9 675 A9.00007
+ 9.00007 -180 0 0 0 684 L0 783 A9.00007 9.00007 -180 0 0 9 792 L94.5 792 Z" class="st3"/>
+ <text x="38.61" y="788.1" class="st4" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> </g>
+ <g id="shape24-38" v:mID="24" v:groupContext="shape" transform="translate(33.75,-362.1)">
+ <title>Rounded rectangle.24</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="20.25" cy="780.3" width="40.51" height="23.4"/>
+ <g id="shadow24-39" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M31.5 792 A9.00007 9.00007 -180 0 0 40.5 783 L40.5 777.6 A9.00007 9.00007 -180 0 0 31.5 768.6 L9 768.6 A9.00007
+ 9.00007 -180 0 0 0 777.6 L0 783 A9.00007 9.00007 -180 0 0 9 792 L31.5 792 Z" class="st5"/>
+ </g>
+ <path d="M31.5 792 A9.00007 9.00007 -180 0 0 40.5 783 L40.5 777.6 A9.00007 9.00007 -180 0 0 31.5 768.6 L9 768.6 A9.00007
+ 9.00007 -180 0 0 0 777.6 L0 783 A9.00007 9.00007 -180 0 0 9 792 L31.5 792 Z" class="st6"/>
+ <text x="13.14" y="783.3" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape25-43" v:mID="25" v:groupContext="shape" transform="translate(95.4166,-358.2)">
+ <title>Rounded rectangle.25</title>
+ <desc>VNID 100</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="28.7917" cy="784.2" width="57.59" height="15.6"/>
+ <g id="shadow25-44" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006
+ 7.80006 -180 0 0 -0 784.2 A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st5"/>
+ </g>
+ <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 7.80006
+ -180 0 0 -0 784.2 A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st8"/>
+ <text x="11.57" y="786.9" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> </g>
+ <g id="shape31-48" v:mID="31" v:groupContext="shape" transform="translate(33.75,-315.3)">
+ <title>Rounded rectangle.31</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="20.6757" cy="780.3" width="41.36" height="23.4"/>
+ <g id="shadow31-49" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M32.35 792 A9.00007 9.00007 -180 0 0 41.35 783 L41.35 777.6 A9.00007 9.00007 -180 0 0 32.35 768.6 L9 768.6
+ A9.00007 9.00007 -180 0 0 0 777.6 L0 783 A9.00007 9.00007 -180 0 0 9 792 L32.35 792 Z" class="st5"/>
+ </g>
+ <path d="M32.35 792 A9.00007 9.00007 -180 0 0 41.35 783 L41.35 777.6 A9.00007 9.00007 -180 0 0 32.35 768.6 L9 768.6 A9.00007
+ 9.00007 -180 0 0 0 777.6 L0 783 A9.00007 9.00007 -180 0 0 9 792 L32.35 792 Z" class="st6"/>
+ <text x="13.56" y="783.3" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape32-53" v:mID="32" v:groupContext="shape" transform="translate(95.4166,-323.1)">
+ <title>Rounded rectangle.32</title>
+ <desc>VNID 101</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="28.7917" cy="784.2" width="57.59" height="15.6"/>
+ <g id="shadow32-54" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006
+ 7.80006 -180 0 0 -0 784.2 A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st5"/>
+ </g>
+ <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 7.80006
+ -180 0 0 -0 784.2 A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st13"/>
+ <text x="11.57" y="786.9" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text> </g>
+ <g id="shape34-58" v:mID="34" v:groupContext="shape" transform="translate(407.076,-491.625)">
+ <title>Rounded rectangle.34</title>
+ <desc>Host</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="48.4618" cy="730.125" width="96.93" height="123.75"/>
+ <g id="shadow34-59" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M87.92 792 A9.00007 9.00007 -180 0 0 96.92 783 L96.92 677.25 A9.00007 9.00007 -180 0 0 87.92 668.25 L9 668.25
+ A9.00007 9.00007 -180 0 0 0 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L87.92 792 Z" class="st2"/>
+ </g>
+ <path d="M87.92 792 A9.00007 9.00007 -180 0 0 96.92 783 L96.92 677.25 A9.00007 9.00007 -180 0 0 87.92 668.25 L9 668.25
+ A9.00007 9.00007 -180 0 0 0 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L87.92 792 Z" class="st3"/>
+ <text x="35.33" y="784.72" class="st4" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> </g>
+ <g id="shape35-63" v:mID="35" v:groupContext="shape" transform="translate(520.049,-580.313)">
+ <title>Rounded rectangle.35</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="18.8889" cy="779.625" width="37.78" height="24.75"/>
+ <g id="shadow35-64" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
+ A9.00007 9.00007 -180 0 0 0 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/>
+ </g>
+ <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
+ A9.00007 9.00007 -180 0 0 0 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/>
+ <text x="11.78" y="782.63" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape36-68" v:mID="36" v:groupContext="shape" transform="translate(441.076,-582.375)">
+ <title>Rounded rectangle.36</title>
+ <desc>VNID 100</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="26.4444" cy="783.75" width="52.89" height="16.5"/>
+ <g id="shadow36-69" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
+ 8.25006 -180 0 0 0 783.75 A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/>
+ </g>
+ <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
+ 8.25006 -180 0 0 0 783.75 A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st8"/>
+ <text x="9.22" y="786.45" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> </g>
+ <g id="shape37-73" v:mID="37" v:groupContext="shape" transform="translate(520.049,-541.125)">
+ <title>Rounded rectangle.37</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="18.8889" cy="779.625" width="37.78" height="24.75"/>
+ <g id="shadow37-74" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
+ A9.00007 9.00007 -180 0 0 0 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/>
+ </g>
+ <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
+ A9.00007 9.00007 -180 0 0 0 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/>
+ <text x="11.78" y="782.63" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape38-78" v:mID="38" v:groupContext="shape" transform="translate(441.076,-551.438)">
+ <title>Rounded rectangle.38</title>
+ <desc>VNID 101</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="26.4444" cy="783.75" width="52.89" height="16.5"/>
+ <g id="shadow38-79" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
+ 8.25006 -180 0 0 0 783.75 A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/>
+ </g>
+ <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
+ 8.25006 -180 0 0 0 783.75 A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st12"/>
+ <text x="9.22" y="786.45" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text> </g>
+ <g id="shape40-83" v:mID="40" v:groupContext="shape" transform="translate(398.076,-288)">
+ <title>Rounded rectangle.40</title>
+ <desc>Host</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="52.9618" cy="727.875" width="105.93" height="128.25"/>
+ <g id="shadow40-84" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M96.92 792 A9.00007 9.00007 -180 0 0 105.92 783 L105.92 672.75 A9.00007 9.00007 -180 0 0 96.92 663.75 L9
+ 663.75 A9.00007 9.00007 -180 0 0 0 672.75 L0 783 A9.00007 9.00007 -180 0 0 9 792 L96.92 792 Z"
+ class="st2"/>
+ </g>
+ <path d="M96.92 792 A9.00007 9.00007 -180 0 0 105.92 783 L105.92 672.75 A9.00007 9.00007 -180 0 0 96.92 663.75 L9 663.75
+ A9.00007 9.00007 -180 0 0 0 672.75 L0 783 A9.00007 9.00007 -180 0 0 9 792 L96.92 792 Z" class="st3"/>
+ <text x="39.83" y="782.47" class="st4" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text> </g>
+ <g id="shape41-88" v:mID="41" v:groupContext="shape" transform="translate(522,-369.225)">
+ <title>Rounded rectangle.41</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.1806" cy="779.175" width="42.37" height="25.65"/>
+ <g id="shadow41-89" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
+ A9.00007 9.00007 -180 0 0 0 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st5"/>
+ </g>
+ <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
+ A9.00007 9.00007 -180 0 0 0 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st6"/>
+ <text x="14.07" y="782.17" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape42-93" v:mID="42" v:groupContext="shape" transform="translate(436.201,-369)">
+ <title>Rounded rectangle.42</title>
+ <desc>VNID 100</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="29.6528" cy="783.45" width="59.31" height="17.1"/>
+ <g id="shadow42-94" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
+ 8.55007 -180 0 0 0 783.45 A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st5"/>
+ </g>
+ <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
+ 8.55007 -180 0 0 0 783.45 A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st8"/>
+ <text x="12.43" y="786.15" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text> </g>
+ <g id="shape43-98" v:mID="43" v:groupContext="shape" transform="translate(523.319,-317.925)">
+ <title>Rounded rectangle.43</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.1806" cy="779.175" width="42.37" height="25.65"/>
+ <g id="shadow43-99" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
+ A9.00007 9.00007 -180 0 0 0 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st5"/>
+ </g>
+ <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
+ A9.00007 9.00007 -180 0 0 0 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st6"/>
+ <text x="14.07" y="782.17" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape44-103" v:mID="44" v:groupContext="shape" transform="translate(436.201,-324.9)">
+ <title>Rounded rectangle.44</title>
+ <desc>VNID 102</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="29.6528" cy="783.45" width="59.31" height="17.1"/>
+ <g id="shadow44-104" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
+ 8.55007 -180 0 0 0 783.45 A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st5"/>
+ </g>
+ <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
+ 8.55007 -180 0 0 0 783.45 A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st14"/>
+ <text x="12.43" y="786.15" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 102</text> </g>
+ <g id="shape46-108" v:mID="46" v:groupContext="shape" transform="translate(441.076,-518.438)">
+ <title>Rounded rectangle.46</title>
+ <desc>VNID 102</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="26.4444" cy="783.75" width="52.89" height="16.5"/>
+ <g id="shadow46-109" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
+ 8.25006 -180 0 0 0 783.75 A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/>
+ </g>
+ <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
+ 8.25006 -180 0 0 0 783.75 A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st14"/>
+ <text x="9.22" y="786.45" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 102</text> </g>
+ <g id="shape47-113" v:mID="47" v:groupContext="shape" transform="translate(520.049,-501.937)">
+ <title>Rounded rectangle.47</title>
+ <desc>VM</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="18.8889" cy="779.625" width="37.78" height="24.75"/>
+ <g id="shadow47-114" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
+ A9.00007 9.00007 -180 0 0 0 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/>
+ </g>
+ <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
+ A9.00007 9.00007 -180 0 0 0 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/>
+ <text x="11.78" y="782.63" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text> </g>
+ <g id="shape48-118" v:mID="48" v:groupContext="shape" transform="translate(940.314,236.405) rotate(88.7578)">
+ <title>Arced arrow</title>
+ <v:userDefs>
+ <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="ControlX" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <path d="M1.13 787.65 L3.31 788.21 L0 792 L-1.04 787.08 L1.13 787.65 ZM206.44 787.65 L204.26 788.21 L207.57 792 L208.62
+ 787.08 L206.44 787.65 Z" class="st15"/>
+ <path d="M1.13 787.65 A106.681 106.681 0 0 1 206.44 787.65" class="st16"/>
+ <path d="M1.13 787.65 L3.31 788.21 L0 792 L-1.04 787.08 L1.13 787.65" class="st16"/>
+ <path d="M206.44 787.65 L204.26 788.21 L207.57 792 L208.62 787.08 L206.44 787.65" class="st16"/>
+ </g>
+ <g id="shape49-125" v:mID="49" v:groupContext="shape" transform="translate(489.312,991.905) rotate(176.508)">
+ <title>Arced arrow.49</title>
+ <v:userDefs>
+ <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="ControlX" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <path d="M2.72 788.42 L4.51 789.78 L0 792 L0.93 787.06 L2.72 788.42 ZM292.83 788.42 L291.03 789.78 L295.55 792 L294.62
+ 787.06 L292.83 788.42 Z" class="st17"/>
+ <path d="M2.72 788.42 A183.886 183.886 0 0 1 292.83 788.42" class="st18"/>
+ <path d="M2.72 788.42 L4.51 789.78 L0 792 L0.93 787.06 L2.72 788.42" class="st18"/>
+ <path d="M292.83 788.42 L291.03 789.78 L295.55 792 L294.62 787.06 L292.83 788.42" class="st18"/>
+ </g>
+ <g id="shape50-132" v:mID="50" v:groupContext="shape" transform="translate(120.726,-365.342) rotate(-2.33544)">
+ <title>Arced arrow.50</title>
+ <v:userDefs>
+ <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="ControlX" v:prompt="" v:val="VT0(0.0625):1"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <path d="M3.79 789.57 L5 791.47 L0 792 L2.58 787.68 L3.79 789.57 ZM279.65 789.57 L278.43 791.47 L283.44 792 L280.86 787.68
+ L279.65 789.57 Z" class="st17"/>
+ <path d="M3.79 789.57 A259.249 259.249 0 0 1 279.65 789.57" class="st18"/>
+ <path d="M3.79 789.57 L5 791.47 L0 792 L2.58 787.68 L3.79 789.57" class="st18"/>
+ <path d="M279.65 789.57 L278.43 791.47 L283.44 792 L280.86 787.68 L279.65 789.57" class="st18"/>
+ </g>
+ <g id="shape4-138" v:mID="4" v:groupContext="shape" transform="translate(348.104,-324.947) rotate(20.2291)">
+ <title>Sheet.4</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow4-139" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.84909,0.853261)" class="st1">
+ <path d="M0 792 L22.56 792" class="st19"/>
+ </g>
+ <path d="M0 792 L22.56 792" class="st20"/>
+ </g>
+ <g id="shape5-145" v:mID="5" v:groupContext="shape" transform="translate(-74.2157,-312.797) rotate(-10.8671)">
+ <title>Sheet.5</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow5-146" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,2.77556E-017,-2.77556E-017,1,1.14269,1.68566)" class="st1">
+ <path d="M0 792 L20.69 792" class="st19"/>
+ </g>
+ <path d="M0 792 L20.69 792" class="st21"/>
+ </g>
+ <g id="shape6-152" v:mID="6" v:groupContext="shape" transform="translate(327.757,-539.646) rotate(18.7888)">
+ <title>Sheet.6</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow6-153" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.82706,0.89947)" class="st1">
+ <path d="M0 792 L21.66 792" class="st19"/>
+ </g>
+ <path d="M0 792 L21.66 792" class="st20"/>
+ </g>
+ <g id="shape7-159" v:mID="7" v:groupContext="shape" transform="translate(-121.163,-509.165) rotate(-14.1663)">
+ <title>Sheet.7</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow7-160" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.04379,1.74863)" class="st1">
+ <path d="M0 792 L21.15 792" class="st19"/>
+ </g>
+ <path d="M0 792 L21.15 792" class="st21"/>
+ </g>
+ <g id="shape8-166" v:mID="8" v:groupContext="shape" transform="translate(431.534,-588.161) rotate(-4.52117)">
+ <title>Sheet.8</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow8-167" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.32201,1.54903)" class="st1">
+ <path d="M0 792 L26.16 792" class="st19"/>
+ </g>
+ <path d="M0 792 L26.16 792" class="st20"/>
+ </g>
+ <g id="shape13-173" v:mID="13" v:groupContext="shape" transform="translate(676.771,-538.302) rotate(13.3451)">
+ <title>Sheet.13</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow13-174" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.73349,1.06874)" class="st1">
+ <path d="M0 792 L26.81 792" class="st19"/>
+ </g>
+ <path d="M0 792 L26.81 792" class="st21"/>
+ </g>
+ <g id="shape15-180" v:mID="15" v:groupContext="shape" transform="translate(833.452,-450.238) rotate(25.3816)">
+ <title>Sheet.15</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow15-181" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.91825,0.683753)" class="st1">
+ <path d="M0 792 L28.87 792" class="st19"/>
+ </g>
+ <path d="M0 792 L28.87 792" class="st22"/>
+ </g>
+ <g id="shape16-187" v:mID="16" v:groupContext="shape" transform="translate(362.881,-366.366) rotate(-9.64002)">
+ <title>Sheet.16</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow16-188" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.17853,1.6608)" class="st1">
+ <path d="M0 792 L26.87 792" class="st19"/>
+ </g>
+ <path d="M0 792 L26.87 792" class="st20"/>
+ </g>
+ <g id="shape17-194" v:mID="17" v:groupContext="shape" transform="translate(572.033,-329.744) rotate(5.54482)">
+ <title>Sheet.17</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow17-195" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.5724,1.29412)" class="st1">
+ <path d="M0 792 L27.94 792" class="st19"/>
+ </g>
+ <path d="M0 792 L27.94 792" class="st23"/>
+ </g>
+ <g id="shape18-201" v:mID="18" v:groupContext="shape" transform="translate(-464.654,-1.71391) rotate(-55.621)">
+ <title>Sheet.18</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow18-202" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,-0.375346,2.00158)" class="st1">
+ <path d="M0 792 L71.36 792" class="st19"/>
+ </g>
+ <path d="M0 792 L71.36 792" class="st24"/>
+ </g>
+ <g id="shape19-208" v:mID="19" v:groupContext="shape" transform="translate(1074.07,13.0882) rotate(62.5098)">
+ <title>Sheet.19</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow19-209" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.94211,-0.612711)" class="st1">
+ <path d="M0 792 L57.58 792" class="st19"/>
+ </g>
+ <path d="M0 792 L57.58 792" class="st24"/>
+ </g>
+ <g id="shape20-215" v:mID="20" v:groupContext="shape" transform="translate(835.264,-218.138) rotate(54.9898)">
+ <title>Sheet.20</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow20-216" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,2.00559,-0.353273)" class="st1">
+ <path d="M0 792 L62.72 792" class="st19"/>
+ </g>
+ <path d="M0 792 L62.72 792" class="st25"/>
+ </g>
+ <g id="shape21-222" v:mID="21" v:groupContext="shape" transform="translate(985.087,779.949) rotate(133.129)">
+ <title>Sheet.21</title>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow21-223" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,0.0664758,-2.03538)" class="st1">
+ <path d="M0 792 L43.41 792" class="st19"/>
+ </g>
+ <path d="M0 792 L43.41 792" class="st24"/>
+ </g>
+ <g id="shape68-229" v:mID="68" v:groupContext="shape" transform="translate(933.635,852.514) rotate(141.544)">
+ <title>Arced arrow.68</title>
+ <v:userDefs>
+ <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="ControlX" v:prompt="" v:val="VT0(0):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <path d="M0 792 A329.322 329.322 0 0 1 367.87 792" class="st16"/>
+ </g>
+ <g id="shape70-233" v:mID="70" v:groupContext="shape" transform="translate(-355.547,438.576) rotate(-88.5548)">
+ <title>Arced arrow.70</title>
+ <v:userDefs>
+ <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
+ <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="ControlX" v:prompt="" v:val="VT0(0.06400492):1"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99 L1.04 787.51 ZM192.26 787.51 L190.01 788.03 L193.3 792 L194.5
+ 786.99 L192.26 787.51 Z" class="st26"/>
+ <path d="M1.04 787.51 A98.7059 98.7059 0 0 1 192.26 787.51" class="st27"/>
+ <path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99 L1.04 787.51" class="st27"/>
+ <path d="M192.26 787.51 L190.01 788.03 L193.3 792 L194.5 786.99 L192.26 787.51" class="st27"/>
+ </g>
+ <g id="shape84-240" v:mID="84" v:groupContext="shape" transform="translate(157.5,-510.75)">
+ <title>Sheet.84</title>
+ <desc>TEP</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="11.25" cy="753.75" width="22.5" height="76.5"/>
+ <rect x="0" y="715.5" width="22.5" height="76.5" class="st28"/>
+ <text x="4.54" y="756.45" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> </g>
+ <g id="shape86-243" v:mID="86" v:groupContext="shape" transform="translate(162,-315)">
+ <title>Sheet.86</title>
+ <desc>TEP</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="11.8125" cy="753.75" width="23.63" height="76.5"/>
+ <rect x="0" y="715.5" width="23.625" height="76.5" class="st28"/>
+ <text x="5.1" y="756.45" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> </g>
+ <g id="shape87-246" v:mID="87" v:groupContext="shape" transform="translate(405,-324)">
+ <title>Sheet.87</title>
+ <desc>TEP</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="11.8125" cy="753.75" width="23.63" height="76.5"/>
+ <rect x="0" y="715.5" width="23.625" height="76.5" class="st28"/>
+ <text x="5.1" y="756.45" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> </g>
+ <g id="shape88-249" v:mID="88" v:groupContext="shape" transform="translate(411.75,-513)">
+ <title>Sheet.88</title>
+ <desc>TEP</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="11.25" cy="754.875" width="22.5" height="74.25"/>
+ <rect x="0" y="717.75" width="22.5" height="74.25" class="st28"/>
+ <text x="4.54" y="757.58" class="st9" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> </g>
+ </g>
+</svg>
diff --git a/doc/guides/sample_app_ug/img/tep_termination_arch.svg b/doc/guides/sample_app_ug/img/tep_termination_arch.svg
new file mode 100644
index 0000000..6f4754d
--- /dev/null
+++ b/doc/guides/sample_app_ug/img/tep_termination_arch.svg
@@ -0,0 +1,548 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by Microsoft Visio, SVG Export VXLAN.svg Page-1 -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events"
+ xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.5in" height="11in" viewBox="0 0 612 792"
+ xml:space="preserve" color-interpolation-filters="sRGB" class="st24">
+ <v:documentProperties v:langID="1033" v:viewMarkup="false">
+ <v:userDefs>
+ <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/>
+ <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
+ <v:ud v:nameU="msvConvertTheme"/>
+ </v:userDefs>
+ </v:documentProperties>
+
+ <style type="text/css">
+ <![CDATA[
+ .st1 {visibility:visible}
+ .st2 {fill:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
+ .st3 {fill:#d1dab4;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st4 {fill:#6b9bc7;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st5 {fill:#000000;font-family:Calibri;font-size:0.916672em;font-weight:bold}
+ .st6 {fill:#92d050;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st7 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+ .st8 {font-size:1em}
+ .st9 {fill:#3e75a6;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st10 {fill:#d8d8d8;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}
+ .st11 {fill:#404040;fill-opacity:1;stroke:#404040;stroke-opacity:1;stroke-width:0.08695652173913}
+ .st12 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st13 {fill:#000000;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+ .st14 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+ .st15 {fill:#000000;font-family:Calibri;font-size:1.16666em;font-weight:bold}
+ .st16 {fill:url(#grad0-72);stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st17 {fill:url(#grad0-83);stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st18 {fill:#f2c096;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st19 {fill:#e1ebf3;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st20 {fill:#000000;font-family:Calibri;font-size:1.16666em}
+ .st21 {font-size:0.857157em}
+ .st22 {fill:#d26d19;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+ .st23 {fill:#a6c3dd;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+ .st24 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
+ ]]>
+ </style>
+
+ <defs id="Patterns_And_Gradients">
+ <linearGradient id="grad0-72" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+ <stop offset="0" stop-color="#efaf7a" stop-opacity="1"/>
+ <stop offset="1" stop-color="#f2bf96" stop-opacity="1"/>
+ </linearGradient>
+ <linearGradient id="grad0-83" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+ <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
+ <stop offset="1" stop-color="#ffffff" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <defs id="Markers">
+ <g id="lend13">
+ <path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
+ </g>
+ <marker id="mrkr13-28" class="st11" v:arrowType="13" v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto"
+ markerUnits="strokeWidth" overflow="visible">
+ <use xlink:href="#lend13" transform="scale(-11.5,-11.5) "/>
+ </marker>
+ </defs>
+ <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
+ </v:userDefs>
+ <title>Page-1</title>
+ <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
+ <v:layer v:name="Flowchart" v:index="0"/>
+ <g id="shape33-1" v:mID="33" v:groupContext="shape" transform="translate(117,-432)">
+ <title>Rectangle.18</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow33-2" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="666" width="342" height="126" class="st2"/>
+ </g>
+ <rect x="0" y="666" width="342" height="126" class="st3"/>
+ </g>
+ <g id="shape10-5" v:mID="10" v:groupContext="shape" transform="translate(216,-522)">
+ <title>Rounded rectangle.10</title>
+ <desc>Userspace vhost Interface</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="74.25" cy="778.5" width="148.5" height="27"/>
+ <g id="shadow10-6" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M139.5 792 A9.00007 9.00007 -180 0 0 148.5 783 L148.5 774 A9.00007 9.00007 -180 0 0 139.5 765 L9 765 A9.00007
+ 9.00007 -180 0 0 0 774 L0 783 A9.00007 9.00007 -180 0 0 9 792 L139.5 792 Z" class="st2"/>
+ </g>
+ <path d="M139.5 792 A9.00007 9.00007 -180 0 0 148.5 783 L148.5 774 A9.00007 9.00007 -180 0 0 139.5 765 L9 765 A9.00007
+ 9.00007 -180 0 0 0 774 L0 783 A9.00007 9.00007 -180 0 0 9 792 L139.5 792 Z" class="st4"/>
+ <text x="15.14" y="781.8" class="st5" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Userspace vhost Interface </text> </g>
+ <g id="shape12-10" v:mID="12" v:groupContext="shape" transform="translate(355.5,-481.5)">
+ <title>Rounded rectangle.12</title>
+ <desc>Encapsulation</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="45" cy="785.25" width="90" height="13.5"/>
+ <g id="shadow12-11" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/>
+ </g>
+ <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005
+ -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st6"/>
+ <text x="16.58" y="788.25" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Encapsulation</text> </g>
+ <g id="shape13-15" v:mID="13" v:groupContext="shape" transform="translate(153,-483.75)">
+ <title>Rounded rectangle.13</title>
+ <desc>Decapsulation</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="36" cy="785.25" width="72" height="13.5"/>
+ <g id="shadow13-16" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st2"/>
+ </g>
+ <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 6.75005
+ -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st6"/>
+ <text x="8.22" y="788.25" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>D<tspan class="st8"
+ v:langID="2052">ecap</tspan>sulation</text> </g>
+ <g id="shape35-21" v:mID="35" v:groupContext="shape" transform="translate(117,-324)">
+ <title>Rectangle.18.35</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow35-22" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="697.5" width="342" height="94.5" class="st2"/>
+ </g>
+ <rect x="0" y="697.5" width="342" height="94.5" class="st9"/>
+ </g>
+ <g id="shape15-25" v:mID="15" v:groupContext="shape" transform="translate(259.654,-263.25)">
+ <title>Data store</title>
+ <v:userDefs>
+ <v:ud v:nameU="CH" v:val="VT0(5):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ </v:userDefs>
+ <path d="M0 600.13 A28.3465 10.6299 0 0 1 56.69 600.13 A28.3465 10.6299 0 0 1 -0 600.13 ZM0 600.13 L0 781.37 A28.3465
+ 10.6299 -180 1 0 56.69 781.37 L56.69 600.13 A28.3465 10.6299 0 0 1 0 600.13 Z" class="st10"/>
+ </g>
+ <g id="shape16-29" v:mID="16" v:groupContext="shape" transform="translate(324,-391.5)">
+ <title>Rounded rectangle.16</title>
+ <desc>Inner IP/L4 checksum offload</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="67.5" cy="785.25" width="135" height="13.5"/>
+ <g id="shadow16-30" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M128.25 792 A6.75005 6.75005 -180 0 0 135 785.25 A6.75005 6.75005 -180 0 0 128.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L128.25 792 Z" class="st2"/>
+ </g>
+ <path d="M128.25 792 A6.75005 6.75005 -180 0 0 135 785.25 A6.75005 6.75005 -180 0 0 128.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L128.25 792 Z" class="st6"/>
+ <text x="8.27" y="788.25" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4 checksum offload</text> </g>
+ <g id="shape17-34" v:mID="17" v:groupContext="shape" transform="translate(144,-337.5)">
+ <title>Rounded rectangle.17</title>
+ <desc>UDP port configuration</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="785.25" width="108" height="13.5"/>
+ <g id="shadow17-35" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M101.25 792 A6.75005 6.75005 -180 0 0 108 785.25 A6.75005 6.75005 -180 0 0 101.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L101.25 792 Z" class="st2"/>
+ </g>
+ <path d="M101.25 792 A6.75005 6.75005 -180 0 0 108 785.25 A6.75005 6.75005 -180 0 0 101.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L101.25 792 Z" class="st6"/>
+ <text x="6.93" y="788.25" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP port configuration</text> </g>
+ <g id="shape18-39" v:mID="18" v:groupContext="shape" transform="translate(145.346,-357.75)">
+ <title>Rounded rectangle.18</title>
+ <desc>Inner IP/L4 csum verify</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="53.3268" cy="785.25" width="106.66" height="13.5"/>
+ <g id="shadow18-40" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M99.9 792 A6.75005 6.75005 -180 0 0 106.65 785.25 A6.75005 6.75005 -180 0 0 99.9 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L99.9 792 Z" class="st2"/>
+ </g>
+ <path d="M99.9 792 A6.75005 6.75005 -180 0 0 106.65 785.25 A6.75005 6.75005 -180 0 0 99.9 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L99.9 792 Z" class="st6"/>
+ <text x="6.66" y="788.25" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4<tspan
+ class="st8" v:langID="1033"> </tspan><tspan class="st8" v:langID="1033">csum</tspan> verify</text> </g>
+ <g id="shape19-46" v:mID="19" v:groupContext="shape" transform="translate(162,-378)">
+ <title>Rounded rectangle.19</title>
+ <desc>Tunnel Filter</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="45" cy="785.25" width="90" height="13.5"/>
+ <g id="shadow19-47" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/>
+ </g>
+ <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005
+ -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st6"/>
+ <text x="18.29" y="788.25" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Tunnel <tspan
+ class="st8" v:langID="2052"> </tspan>F<tspan class="st8" v:langID="2052">ilter</tspan></text> </g>
+ <g id="shape20-53" v:mID="20" v:groupContext="shape" transform="translate(162,-398.25)">
+ <title>Rounded rectangle.20</title>
+ <desc>Packet Type</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="45" cy="785.25" width="90" height="13.5"/>
+ <g id="shadow20-54" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/>
+ </g>
+ <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005
+ -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st6"/>
+ <text x="20.53" y="788.25" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Packet Type</text> </g>
+ <g id="shape27-58" v:mID="27" v:groupContext="shape" transform="translate(326.25,-441)">
+ <title>Sheet.27</title>
+ <desc>DPDK Application</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="783" width="108" height="18"/>
+ <rect x="0" y="774" width="108" height="18" class="st12"/>
+ <text x="10.11" y="786.6" class="st13" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>DPDK Application</text> </g>
+ <g id="shape26-61" v:mID="26" v:groupContext="shape" transform="translate(324,-279)">
+ <title>Sheet.26</title>
+ <desc>VXLAN Tunnel</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="45" cy="778.5" width="90" height="27"/>
+ <rect x="0" y="765" width="90" height="27" class="st12"/>
+ <text x="10.51" y="782.1" class="st14" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VXLAN Tunnel</text> </g>
+ <g id="shape28-64" v:mID="28" v:groupContext="shape" transform="translate(342,-333)">
+ <title>Sheet.28</title>
+ <desc>NIC</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="45" cy="783" width="90" height="18"/>
+ <rect x="0" y="774" width="90" height="18" class="st12"/>
+ <text x="36.4" y="787.2" class="st15" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>NIC</text> </g>
+ <g id="shape29-67" v:mID="29" v:groupContext="shape" transform="translate(-517.5,270) rotate(-90) scale(-1,1)">
+ <title>45 degree single</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow29-68" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st2"/>
+ </g>
+ <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st16"/>
+ </g>
+ <g id="shape30-73" v:mID="30" v:groupContext="shape" transform="translate(1093.5,522) rotate(90) scale(-1,1)">
+ <title>45 degree single.30</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow30-74" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,-1.44,-1.44)" class="st1">
+ <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st2"/>
+ </g>
+ <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st16"/>
+ </g>
+ <g id="shape14-78" v:mID="14" v:groupContext="shape" v:layerMember="0" transform="translate(207,-234)">
+ <title>Object</title>
+ <desc>WAN/LAN</desc>
+ <v:custProps>
+ <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7" v:format="@" v:langID="1033"/>
+ <v:cp v:nameU="Duration" v:lbl="Duration" v:type="2" v:langID="1033"/>
+ <v:cp v:nameU="Resources" v:lbl="Resources" v:langID="1033"/>
+ </v:custProps>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>
+ <v:textRect cx="83.25" cy="769.5" width="166.5" height="45"/>
+ <g id="shadow14-79" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M23.93 782.24 A19.1532 6.46551 -180 0 0 51.52 787.72 A26.5285 8.95514 -180 0 0 99.5 785.69 A8.02422 2.70871
+ -180 0 0 108.16 788.62 A30.5319 10.3066 -180 0 0 137.48 784.34 A18.9723 6.40442 -180 0 0 158.14 780.29
+ A29.3596 9.20857 -176.98 0 0 145.63 771.6 A100.331 31.9328 -2.78 0 0 166.47 763.04 A42.3527 12.6007
+ -180 0 0 144.52 751.5 A25.2977 7.52648 -180 0 0 96.13 755.1 A21.4707 5.9338 -1.58 0 0 59.81 755.43 A30.834
+ 8.86245 -178.72 0 0 20.52 767.7 A24.6202 7.32494 -180 0 0 23.93 782.24 Z" class="st2"/>
+ </g>
+ <path d="M23.93 782.24 A19.1532 6.46551 -180 0 0 51.52 787.72 A26.5285 8.95514 -180 0 0 99.5 785.69 A8.02422 2.70871
+ -180 0 0 108.16 788.62 A30.5319 10.3066 -180 0 0 137.48 784.34 A18.9723 6.40442 -180 0 0 158.14 780.29 A29.3596
+ 9.20857 -176.98 0 0 145.63 771.6 A100.331 31.9328 -2.78 0 0 166.47 763.04 A42.3527 12.6007 -180 0 0 144.52
+ 751.5 A25.2977 7.52648 -180 0 0 96.13 755.1 A21.4707 5.9338 -1.58 0 0 59.81 755.43 A30.834 8.86245 -178.72
+ 0 0 20.52 767.7 A24.6202 7.32494 -180 0 0 23.93 782.24 Z" class="st17"/>
+ <text x="53.23" y="773.7" class="st15" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>WAN/LAN</text> </g>
+ <g id="shape11-85" v:mID="11" v:groupContext="shape" transform="translate(236.25,-472.5)">
+ <title>Rounded rectangle.11</title>
+ <desc>TEP</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="774" width="108" height="36"/>
+ <g id="shadow11-86" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M99 792 A9.00007 9.00007 -180 0 0 108 783 L108 765 A9.00007 9.00007 -180 0 0 99 756 L9 756 A9.00007 9.00007
+ -180 0 0 0 765 L0 783 A9.00007 9.00007 -180 0 0 9 792 L99 792 Z" class="st2"/>
+ </g>
+ <path d="M99 792 A9.00007 9.00007 -180 0 0 108 783 L108 765 A9.00007 9.00007 -180 0 0 99 756 L9 756 A9.00007 9.00007
+ -180 0 0 0 765 L0 783 A9.00007 9.00007 -180 0 0 9 792 L99 792 Z" class="st18"/>
+ <text x="44.91" y="777.6" class="st13" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text> </g>
+ <g id="shape36-90" v:mID="36" v:groupContext="shape" transform="translate(117,-571.5)">
+ <title>Rectangle.18.36</title>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <g id="shadow36-91" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="688.5" width="342" height="103.5" class="st2"/>
+ </g>
+ <rect x="0" y="688.5" width="342" height="103.5" class="st19"/>
+ </g>
+ <g id="shape5-94" v:mID="5" v:groupContext="shape" transform="translate(306,-594)">
+ <title>Rounded rectangle.5</title>
+ <desc>VM-2 (VNID:200)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="61.3125" cy="765" width="122.63" height="54"/>
+ <g id="shadow5-95" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738
+ A9.00007 9.00007 -180 0 0 0 747 L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st2"/>
+ </g>
+ <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 A9.00007
+ 9.00007 -180 0 0 0 747 L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st9"/>
+ <text x="16.93" y="769.2" class="st20" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan class="st8"
+ v:langID="1033">-</tspan>2 (<tspan class="st21">VNID</tspan><tspan class="st21">:</tspan><tspan
+ class="st21">200</tspan><tspan class="st21">)</tspan></text> </g>
+ <g id="shape3-104" v:mID="3" v:groupContext="shape" transform="translate(135,-594)">
+ <title>Rounded rectangle</title>
+ <desc>VM-1 (VNID: 100)</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="61.3125" cy="765" width="122.63" height="54"/>
+ <g id="shadow3-105" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738
+ A9.00007 9.00007 -180 0 0 0 747 L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st2"/>
+ </g>
+ <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 A9.00007
+ 9.00007 -180 0 0 0 747 L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st9"/>
+ <text x="15.58" y="769.2" class="st20" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan class="st8"
+ v:langID="1033">-</tspan>1 (<tspan class="st21">VNID</tspan><tspan class="st21">: </tspan><tspan
+ class="st21">100</tspan><tspan class="st21">)</tspan></text> </g>
+ <g id="shape23-114" v:mID="23" v:groupContext="shape" transform="translate(624.813,-477.284) rotate(30.3791)">
+ <title>Process boundary.23</title>
+ <v:userDefs>
+ <v:ud v:nameU="CH" v:val="VT0(5):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ </v:userDefs>
+ <rect x="0" y="789.165" width="75.6348" height="2.83465" class="st22"/>
+ </g>
+ <g id="shape22-116" v:mID="22" v:groupContext="shape" transform="translate(412.466,-548.055) rotate(17.7839)">
+ <title>Process boundary</title>
+ <v:userDefs>
+ <v:ud v:nameU="CH" v:val="VT0(5):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ </v:userDefs>
+ <rect x="0" y="789.165" width="125.234" height="2.83465" class="st22"/>
+ </g>
+ <g id="shape24-118" v:mID="24" v:groupContext="shape" transform="translate(670.892,944.318) rotate(159.305)">
+ <title>Process boundary.24</title>
+ <v:userDefs>
+ <v:ud v:nameU="CH" v:val="VT0(5):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ </v:userDefs>
+ <rect x="0" y="789.165" width="108.234" height="2.83465" class="st22"/>
+ </g>
+ <g id="shape25-120" v:mID="25" v:groupContext="shape" transform="translate(828.973,824.895) rotate(141.667)">
+ <title>Process boundary.25</title>
+ <v:userDefs>
+ <v:ud v:nameU="CH" v:val="VT0(5):26"/>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ </v:userDefs>
+ <rect x="0" y="789.165" width="61.6701" height="2.83465" class="st22"/>
+ </g>
+ <g id="shape4-122" v:mID="4" v:groupContext="shape" transform="translate(148.5,-587.25)">
+ <title>Rectangle</title>
+ <desc>vport-0</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="784.125" width="45" height="15.75"/>
+ <g id="shadow4-123" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="776.25" width="45" height="15.75" class="st2"/>
+ </g>
+ <rect x="0" y="776.25" width="45" height="15.75" class="st23"/>
+ <text x="7.5" y="787.13" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st8"
+ v:langID="2052">port</tspan><tspan class="st8" v:langID="2052">-</tspan><tspan class="st8" v:langID="2052">0</tspan></text> </g>
+ <g id="shape2-130" v:mID="2" v:groupContext="shape" transform="translate(202.5,-587.25)">
+ <title>Rectangle.2</title>
+ <desc>vport-1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="784.125" width="45" height="15.75"/>
+ <g id="shadow2-131" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="776.25" width="45" height="15.75" class="st2"/>
+ </g>
+ <rect x="0" y="776.25" width="45" height="15.75" class="st23"/>
+ <text x="7.5" y="787.13" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st8"
+ v:langID="2052">port</tspan><tspan class="st8" v:langID="2052">-</tspan><tspan class="st8" v:langID="2052">1</tspan></text> </g>
+ <g id="shape6-138" v:mID="6" v:groupContext="shape" transform="translate(317.25,-587.25)">
+ <title>Rectangle.6</title>
+ <desc>vport-0</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="21.375" cy="784.125" width="42.75" height="15.75"/>
+ <g id="shadow6-139" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="776.25" width="42.75" height="15.75" class="st2"/>
+ </g>
+ <rect x="0" y="776.25" width="42.75" height="15.75" class="st23"/>
+ <text x="6.37" y="787.13" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st8"
+ v:langID="2052">port</tspan><tspan class="st8" v:langID="2052">-</tspan><tspan class="st8" v:langID="2052">0</tspan></text> </g>
+ <g id="shape7-146" v:mID="7" v:groupContext="shape" transform="translate(369,-587.25)">
+ <title>Rectangle.7</title>
+ <desc>vport-1</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="22.5" cy="784.125" width="45" height="15.75"/>
+ <g id="shadow7-147" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <rect x="0" y="776.25" width="45" height="15.75" class="st2"/>
+ </g>
+ <rect x="0" y="776.25" width="45" height="15.75" class="st23"/>
+ <text x="7.5" y="787.13" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st8"
+ v:langID="2052">port</tspan><tspan class="st8" v:langID="2052">-</tspan><tspan class="st8" v:langID="2052">1</tspan></text> </g>
+ <g id="shape37-154" v:mID="37" v:groupContext="shape" transform="translate(234,-648)">
+ <title>Sheet.37</title>
+ <desc>Guest</desc>
+ <v:userDefs>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="54" cy="783" width="108" height="18"/>
+ <rect x="0" y="774" width="108" height="18" class="st12"/>
+ <text x="39.46" y="786.6" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Guest</text> </g>
+ <g id="shape38-157" v:mID="38" v:groupContext="shape" transform="translate(324,-357.75)">
+ <title>Rounded rectangle.38</title>
+ <desc>TSO offload</desc>
+ <v:userDefs>
+ <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
+ <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
+ <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
+ </v:userDefs>
+ <v:textBlock v:margins="rect(4,4,4,4)"/>
+ <v:textRect cx="36" cy="785.25" width="72" height="13.5"/>
+ <g id="shadow38-158" v:groupContext="shadow" v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
+ transform="matrix(1,0,0,1,1.44,1.44)" class="st1">
+ <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005
+ 6.75005 -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st2"/>
+ </g>
+ <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 6.75005
+ -180 0 0 0 785.25 A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st6"/>
+ <text x="12.33" y="788.25" class="st7" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TSO offload</text> </g>
+ </g>
+</svg>
diff --git a/doc/guides/sample_app_ug/index.rst b/doc/guides/sample_app_ug/index.rst
index e1a0c56..63434ed 100644
--- a/doc/guides/sample_app_ug/index.rst
+++ b/doc/guides/sample_app_ug/index.rst
@@ -71,6 +71,7 @@ Sample Applications User Guide
test_pipeline
dist_app
vm_power_management
+ tep_termination
**Figures**
@@ -131,6 +132,8 @@ Sample Applications User Guide
:numref:`figure_vm_power_mgr_highlevel` :ref:`figure_vm_power_mgr_highlevel`
:numref:`figure_vm_power_mgr_vm_request_seq` :ref:`figure_vm_power_mgr_vm_request_seq`
+:numref:`figure_overlay_networking` :ref:`figure_overlay_networking`
+:numref:`figure_tep_termination_arch` :ref:`figure_tep_termination_arch`
**Tables**
diff --git a/doc/guides/sample_app_ug/tep_termination.rst b/doc/guides/sample_app_ug/tep_termination.rst
new file mode 100644
index 0000000..86df8f8
--- /dev/null
+++ b/doc/guides/sample_app_ug/tep_termination.rst
@@ -0,0 +1,321 @@
+
+.. BSD LICENSE
+ Copyright(c) 2010-2015 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.
+
+
+TEP termination Sample Application
+========================
+
+The TEP (Tunnel End point) termination sample application simulates a VXLAN Tunnel Endpoint (VTEP) termination in DPDK, which is used to
+demonstrate the offload and filtering capabilities of Intel® XL710 10/40 Gigabit Ethernet Controller for VXLAN packet.
+This sample uses the basic virtio devices management mechanism from vhost example, and also uses the us-vHost interface and
+tunnel filtering mechanism to direct a specified traffic to a specific VM.
+In addition, this sample is also designed to show how tunneling protocols can be handled.
+
+Background
+----------
+With virtualization, overlay networks allow a network structure to be built or imposed across physical nodes which
+is abstracted away from the actual underlining physical network connections. This allows network isolation, QOS, etc
+to be provided on a per client basis.
+
+.. _figure_overlay_networking:
+
+.. figure:: img/overlay_networking.*
+
+ Overlay Networking.
+
+In a typical setup, the network overlay tunnel is terminated at the Virtual/Tunnel End Point (VEP/TEP).
+The TEP is normally located at the physical host level ideally in the software switch. Due to processing constraints and
+the inevitable bottleneck that the switch becomes the ability to offload overlay support features becomes an important requirement.
+Intel® XL710 10/40 G Ethernet network card provides hardware filtering and offload capabilities to support overlay networks
+implementations such as MAC in UDP and MAC in GRE.
+
+Sample Code Overview
+--------------------
+
+The DPDK TEP termination sample code demonstrates the offload and filtering capabilities of Intel® XL710 10/40 Gigabit Ethernet
+Controller for VXLAN packet.
+
+The sample code is based on vhost library. The vhost library is developed for user space Ethernet switch to
+easily integrate with vhost functionality.
+
+The sample will support the followings:
+
+* Tunneling packet recognition.
+
+* The port of UDP tunneling is configurable
+
+* Directing incoming traffic to the correct queue based on the tunnel filter type.
+ The supported filter type are listed below.
+
+ * Inner MAC and VLAN and tenant ID
+
+ * Inner MAC and tenant ID, and Outer MAC
+
+ * Inner MAC and tenant ID
+
+ The tenant ID will be assigned from a static internal table based on the us-vhost device ID.
+ Each device will receive a unique device ID. The inner MAC will be learned by the first packet transmitted from a device.
+
+* Decapsulation of RX VXLAN traffic. This is a software only operation.
+
+* Encapsulation of TX VXLAN traffic. This is a software only operation.
+
+* Inner IP and inner L4 checksum offload.
+
+* TSO offload support for tunneling packet.
+
+The following figure shows the framework of the TEP termination sample application based on vhost-cuse.
+
+.. _figure_tep_termination_arch:
+
+.. figure:: img/tep_termination_arch.*
+
+ TEP termination Framework Overview
+
+Supported Distributions
+-----------------------
+
+The example in this section have been validated with the following distributions:
+
+* Fedora* 18
+
+* Fedora* 19
+
+* Fedora* 20
+
+Prerequisites
+-------------
+
+Refer to the guide in section 27.4 in the vhost sample.
+
+Compiling the Sample Code
+-------------------------
+#. Compile vhost lib:
+
+ To enable vhost, turn on vhost library in the configure file config/common_linuxapp.
+
+ .. code-block:: console
+
+ CONFIG_RTE_LIBRTE_VHOST=n
+
+ vhost user is turned on by default in the configure file config/common_linuxapp.
+ To enable vhost cuse, disable vhost user.
+
+ .. code-block:: console
+
+ CONFIG_RTE_LIBRTE_VHOST_USER=y
+
+ After vhost is enabled and the implementation is selected, build the vhost library.
+
+#. Go to the examples directory:
+
+ .. code-block:: console
+
+ export RTE_SDK=/path/to/rte_sdk
+ cd ${RTE_SDK}/examples/tep_termination
+
+#. Set the target (a default target is used if not specified). For example:
+
+ .. code-block:: console
+
+ export RTE_TARGET=x86_64-native-linuxapp-gcc
+
+ See the DPDK Getting Started Guide for possible RTE_TARGET values.
+
+#. Build the application:
+
+ .. code-block:: console
+
+ cd ${RTE_SDK}
+ make config ${RTE_TARGET}
+ make install ${RTE_TARGET}
+ cd ${RTE_SDK}/examples/tep_termination
+ make
+
+#. Go to the eventfd_link directory(vhost cuse required):
+
+ .. code-block:: console
+
+ cd ${RTE_SDK}/lib/librte_vhost/eventfd_link
+
+#. Build the eventfd_link kernel module(vhost cuse required):
+
+ .. code-block:: console
+
+ make
+
+Running the Sample Code
+-----------------------
+
+#. Install the cuse kernel module(vhost cuse required):
+
+ .. code-block:: console
+
+ modprobe cuse
+
+#. Go to the eventfd_link directory(vhost cuse required):
+
+ .. code-block:: console
+
+ export RTE_SDK=/path/to/rte_sdk
+ cd ${RTE_SDK}/lib/librte_vhost/eventfd_link
+
+#. Install the eventfd_link module(vhost cuse required):
+
+ .. code-block:: console
+
+ insmod ./eventfd_link.ko
+
+#. Go to the examples directory:
+
+ .. code-block:: console
+
+ export RTE_SDK=/path/to/rte_sdk
+ cd ${RTE_SDK}/examples/tep_termination
+
+#. Run the tep_termination sample code:
+
+ .. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ -p 0x1 --dev-basename tep-termination --nb-devices 4
+ --udp-port 4789 --filter-type 1
+
+.. note::
+
+ Please note the huge-dir parameter instructs the DPDK to allocate its memory from the 2 MB page hugetlbfs.
+
+Parameters
+~~~~~~~~~~
+
+**The same parameters with the vhost sample.**
+
+Refer to the guide in section 27.6.1 in the vhost sample for the meanings of 'Basename',
+'Stats', 'RX Retry', 'RX Retry Number' and 'RX Retry Delay Time'.
+
+**Number of Devices.**
+
+The nb-devices option specifies the number of virtIO device.
+The default value is 2.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --nb-devices 2
+
+**Tunneling UDP port.**
+
+The udp-port option is used to specify the destination UDP number for UDP tunneling packet.
+The default value is 4789.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --nb-devices 2 --udp-port 4789
+
+**Filter Type.**
+
+The filter-type option is used to specify which filter type is used to filter UDP tunneling packet to a specified queue.
+The default value is 1, which means the filter type of inner MAC and tenant ID is used.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --nb-devices 2 --udp-port 4789 --filter-type 1
+
+**TX Checksum.**
+
+The tx-checksum option is used to enable or disable the inner header checksum offload.
+The default value is 0, which means the checksum offload is disabled.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --nb-devices 2 --tx-checksum
+
+**TCP segment sise.**
+
+The tso-segsz option specifies the TCP segment size for TSO offload for tunneling packet.
+The default value is 0, which means TSO offload is disabled.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --tx-checksum --tso-segsz 800
+
+**Decapsulation option.**
+
+The decap option is used to enable or disable decapsulation operation for received VXLAN packet.
+The default value is 1.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --nb-devices 4 --udp-port 4789 --decap 1
+
+**Encapsulation option.**
+
+The encap option is used to enable or disable encapsulation operation for transmitted packet.
+The default value is 1.
+
+.. code-block:: console
+
+ user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge --
+ --nb-devices 4 --udp-port 4789 --encap 1
+
+
+Running the Virtual Machine (QEMU)
+----------------------------------
+
+Refer to the guide in section 27.7 in the vhost sample.
+
+Running DPDK in the Virtual Machine
+-----------------------------------
+
+Refer to the guide in section 27.8 in the vHost sample.
+
+Passing Traffic to the Virtual Machine Device
+---------------------------------------------
+
+For a virtio-net device to receive traffic, the traffic's Layer 2 header must include
+both the virtio-net device's MAC address.
+The DPDK sample code behaves in a similar manner to a learning switch in that
+it learns the MAC address of the virtio-net devices from the first transmitted packet.
+On learning the MAC address,
+the DPDK vhost sample code prints a message with the MAC address and tenant ID virtio-net device.
+For example:
+
+.. code-block:: console
+
+ DATA: (0) MAC_ADDRESS cc:bb:bb:bb:bb:bb and VNI 1000 registered
+
+The above message indicates that device 0 has been registered with MAC address cc:bb:bb:bb:bb:bb and VNI 1000.
+Any packets received on the NIC with these values are placed on the devices receive queue.
--
1.7.7.6
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide
2015-07-03 6:58 [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide Jijiang Liu
@ 2015-07-03 8:53 ` Liu, Yong
2015-07-03 9:20 ` Thomas Monjalon
2015-07-27 22:28 ` Thomas Monjalon
1 sibling, 1 reply; 4+ messages in thread
From: Liu, Yong @ 2015-07-03 8:53 UTC (permalink / raw)
To: Liu, Jijiang, dev
Hi,
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jijiang Liu
> Sent: Friday, July 03, 2015 2:58 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide
>
> Add a VXLAN sample guide in the sample_app_ug directory.
>
> It includes:
>
> - Add the overlay networking picture with svg format.
>
> - Add the TEP termination framework picture with svg format.
>
> - Add the tep_termination.rst file
>
> - Change the index.rst file for the above pictures index.
>
> Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
> Signed-off-by: Thomas Long <thomas.long@intel.com>
>
> v2 changes:
> optimize the two pictures
> add tep_termination index in index.rst file
> fix a typo and a command line
>
> ---
> .../sample_app_ug/img/overlay_networking.svg | 786
> ++++++++++++++++++++
> .../sample_app_ug/img/tep_termination_arch.svg | 548 ++++++++++++++
> doc/guides/sample_app_ug/index.rst | 3 +
> doc/guides/sample_app_ug/tep_termination.rst | 321 ++++++++
> 4 files changed, 1658 insertions(+), 0 deletions(-)
> create mode 100644 doc/guides/sample_app_ug/img/overlay_networking.svg
> create mode 100644 doc/guides/sample_app_ug/img/tep_termination_arch.svg
> create mode 100644 doc/guides/sample_app_ug/tep_termination.rst
>
> diff --git a/doc/guides/sample_app_ug/img/overlay_networking.svg
> b/doc/guides/sample_app_ug/img/overlay_networking.svg
> new file mode 100644
> index 0000000..2ce440d
> --- /dev/null
> +++ b/doc/guides/sample_app_ug/img/overlay_networking.svg
> @@ -0,0 +1,786 @@
> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
> "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
> +<!-- Generated by Microsoft Visio, SVG Export overlay_networking.svg
> Page-1 -->
> +<svg xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink"
> xmlns:ev="http://www.w3.org/2001/xml-events"
> +
> xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/"
> width="8.5in" height="11in" viewBox="0 0 612 792"
> + xml:space="preserve" color-interpolation-filters="sRGB"
> class="st29">
> + <v:documentProperties v:langID="1033" v:viewMarkup="false">
> + <v:userDefs>
> + <v:ud v:nameU="msvSubprocessMaster" v:prompt=""
> v:val="VT4(Rectangle)"/>
> + <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
> + <v:ud v:nameU="msvConvertTheme"/>
> + </v:userDefs>
> + </v:documentProperties>
> +
> + <style type="text/css">
> + <![CDATA[
> + .st1 {visibility:visible}
> + .st2 {fill:#b2b2b2;fill-opacity:0.5;stroke:#b2b2b2;stroke-
> linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
> + .st3 {fill:#d8d8d8;fill-opacity:0.7;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st4 {fill:#000000;font-family:Calibri;font-size:1.16666em}
> + .st5 {fill:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke-
> linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
> + .st6 {fill:#6b9bc7;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st7 {fill:#000000;font-family:Calibri;font-size:0.833336em}
> + .st8 {fill:#f6d5b9;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st9 {fill:#000000;font-family:Calibri;font-size:0.75em}
> + .st10 {fill:url(#grad0-21);stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st11 {fill:#000000;font-family:Calibri;font-size:1.00001em}
> + .st12 {fill:#00b0f0;fill-opacity:0.8;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st13 {fill:#00b0f0;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st14 {fill:#7030a0;fill-opacity:0.6;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st15 {fill:url(#grad0-121)}
> + .st16 {stroke:#0070c0;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1}
> + .st17 {fill:url(#grad0-128)}
> + .st18 {stroke:#d26d19;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1}
> + .st19 {stroke:#cdcdcd;stroke-linecap:round;stroke-
> linejoin:round;stroke-opacity:0.5;stroke-width:1.5}
> + .st20 {stroke:#d26d19;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1.5}
> + .st21 {stroke:#0070c0;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1.5}
> + .st22 {stroke:#7030a0;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1.5}
> + .st23 {stroke:#43365a;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1.5}
> + .st24 {stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1.5}
> + .st25 {stroke:#000000;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1.5}
> + .st26 {fill:url(#grad0-236)}
> + .st27 {stroke:#7030a0;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1}
> + .st28 {fill:#8fa350;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.5}
> + .st29 {fill:none;fill-rule:evenodd;font-
> size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
> + ]]>
> + </style>
> +
> + <defs id="Patterns_And_Gradients">
> + <linearGradient id="grad0-21" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
> + <stop offset="1" stop-color="#ffffff" stop-opacity="1"/>
> + </linearGradient>
> + <linearGradient id="grad0-121" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
> + <stop offset="1" stop-color="#0070c0" stop-opacity="1"/>
> + </linearGradient>
> + <linearGradient id="grad0-128" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
> + <stop offset="1" stop-color="#d26d19" stop-opacity="1"/>
> + </linearGradient>
> + <linearGradient id="grad0-236" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
> + <stop offset="1" stop-color="#7030a0" stop-opacity="1"/>
> + </linearGradient>
> + </defs>
> + <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
> + <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
> + </v:userDefs>
> + <title>Page-1</title>
> + <v:pageProperties v:drawingScale="1" v:pageScale="1"
> v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
> + <v:layer v:name="Flowchart" v:index="0"/>
> + <v:layer v:name="Connector" v:index="1"/>
> + <g id="shape3-1" v:mID="3" v:groupContext="shape"
> transform="translate(85.5,-493.875)">
> + <title>Rounded rectangle</title>
> + <desc>Host</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="50.5382" cy="730.125" width="101.08"
> height="123.75"/>
> + <g id="shadow3-2" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M92.08 792 A9.00007 9.00007 -180 0 0
> 101.08 783 L101.08 677.25 A9.00007 9.00007 -180 0 0 92.08 668.25 L9
> + 668.25 A9.00007 9.00007 -180 0
> 0 0 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L92.08 792 Z"
> + class="st2"/>
> + </g>
> + <path d="M92.08 792 A9.00007 9.00007 -180 0 0 101.08 783
> L101.08 677.25 A9.00007 9.00007 -180 0 0 92.08 668.25 L9 668.25
> + A9.00007 9.00007 -180 0 0 0 677.25 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L92.08 792 Z" class="st3"/>
> + <text x="37.4" y="784.72" class="st4"
> v:langID="2052"><v:paragraph
> v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh
> ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text>
> </g>
> + <g id="shape10-6" v:mID="10" v:groupContext="shape"
> transform="translate(33.75,-569.7)">
> + <title>Rounded rectangle.10</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="19.4595" cy="779.85" width="38.92"
> height="24.3"/>
> + <g id="shadow10-7" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M29.92 792 A9.00007 9.00007 -180 0 0
> 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7
> + A9.00007 9.00007 -180 0 0 0
> 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st5"/>
> + </g>
> + <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783
> L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 A9.00007
> + 9.00007 -180 0 0 0 776.7 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st6"/>
> + <text x="12.35" y="782.85" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape11-11" v:mID="11" v:groupContext="shape"
> transform="translate(93.171,-566.775)">
> + <title>Rounded rectangle.11</title>
> + <desc>VNID 100</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="27.6645" cy="783.9" width="55.33"
> height="16.2"/>
> + <g id="shadow11-12" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M47.23 792 A8.10006 8.10006 -180 0 0
> 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006
> + 8.10006 -180 0 0 -0 783.9
> A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st5"/>
> + </g>
> + <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33
> 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 8.10006
> + -180 0 0 -0 783.9 A8.10006 8.10006 -
> 180 0 0 8.1 792 L47.23 792 Z" class="st8"/>
> + <text x="10.44" y="786.6" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text>
> </g>
> + <g id="shape14-16" v:mID="14" v:groupContext="shape"
> v:layerMember="0" transform="translate(204.576,-381.375)">
> + <title>Object</title>
> + <desc>IP Network</desc>
> + <v:custProps>
> + <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7"
> v:format="@" v:langID="1033"/>
> + <v:cp v:nameU="Duration" v:lbl="Duration"
> v:type="2" v:langID="1033"/>
> + <v:cp v:nameU="Resources" v:lbl="Resources"
> v:langID="1033"/>
> + </v:custProps>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(1,1,1,1)"
> v:tabSpace="42.5197"/>
> + <v:textRect cx="92.25" cy="708.331" width="184.5"
> height="167.337"/>
> + <g id="shadow14-17" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M26.52 755.72 A21.2239 24.0427 -180 0 0
> 57.09 776.07 A29.3964 33.3006 -180 0 0 110.26 768.54 A8.89171 10.0726
> + -180 0 0 119.85 779.41 A33.8326
> 38.3261 -180 0 0 152.34 763.52 A21.0233 23.8155 -180 0 0 175.24 748.46
> + A36.2371 30.7434 -123.25 0 0
> 161.38 716.14 A124.285 106.223 -59.84 0 0 184.46 684.3 A46.9314 46.8568
> + -180 0 0 160.15 641.4 A28.0325
> 27.988 -180 0 0 106.53 654.79 A24.2803 21.6216 -26.25 0 0 66.28 656.03
> + A34.8986 32.2655 -147.51 0 0
> 22.74 701.63 A27.2819 27.2385 -180 0 0 26.52 755.72 Z" class="st5"/>
> + </g>
> + <path d="M26.52 755.72 A21.2239 24.0427 -180 0 0 57.09
> 776.07 A29.3964 33.3006 -180 0 0 110.26 768.54 A8.89171 10.0726
> + -180 0 0 119.85 779.41 A33.8326
> 38.3261 -180 0 0 152.34 763.52 A21.0233 23.8155 -180 0 0 175.24 748.46
> A36.2371
> + 30.7434 -123.25 0 0 161.38 716.14
> A124.285 106.223 -59.84 0 0 184.46 684.3 A46.9314 46.8568 -180 0 0 160.15
> + 641.4 A28.0325 27.988 -180 0 0 106.53
> 654.79 A24.2803 21.6216 -26.25 0 0 66.28 656.03 A34.8986 32.2655 -147.51
> + 0 0 22.74 701.63 A27.2819 27.2385 -
> 180 0 0 26.52 755.72 Z" class="st10"/>
> + <text x="65.14" y="711.93" class="st11"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>IP
> Network</text> </g>
> + <g id="shape1-23" v:mID="1" v:groupContext="shape"
> transform="translate(33.75,-521.1)">
> + <title>Rounded rectangle.1</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="19.4595" cy="779.85" width="38.92"
> height="24.3"/>
> + <g id="shadow1-24" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M29.92 792 A9.00007 9.00007 -180 0 0
> 38.92 783 L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7
> + A9.00007 9.00007 -180 0 0 0
> 776.7 L0 783 A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st5"/>
> + </g>
> + <path d="M29.92 792 A9.00007 9.00007 -180 0 0 38.92 783
> L38.92 776.7 A9.00007 9.00007 -180 0 0 29.92 767.7 L9 767.7 A9.00007
> + 9.00007 -180 0 0 0 776.7 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L29.92 792 Z" class="st6"/>
> + <text x="12.35" y="782.85" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape22-28" v:mID="22" v:groupContext="shape"
> transform="translate(93.171,-530.325)">
> + <title>Rounded rectangle.22</title>
> + <desc>VNID 101</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="27.6645" cy="783.9" width="55.33"
> height="16.2"/>
> + <g id="shadow22-29" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M47.23 792 A8.10006 8.10006 -180 0 0
> 55.33 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006
> + 8.10006 -180 0 0 -0 783.9
> A8.10006 8.10006 -180 0 0 8.1 792 L47.23 792 Z" class="st5"/>
> + </g>
> + <path d="M47.23 792 A8.10006 8.10006 -180 0 0 55.33
> 783.9 A8.10006 8.10006 -180 0 0 47.23 775.8 L8.1 775.8 A8.10006 8.10006
> + -180 0 0 -0 783.9 A8.10006 8.10006 -
> 180 0 0 8.1 792 L47.23 792 Z" class="st12"/>
> + <text x="10.44" y="786.6" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text>
> </g>
> + <g id="shape23-33" v:mID="23" v:groupContext="shape"
> transform="translate(85.5,-288)">
> + <title>Rounded rectangle.23</title>
> + <desc>Host</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="51.75" cy="733.5" width="103.5"
> height="117"/>
> + <g id="shadow23-34" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M94.5 792 A9.00007 9.00007 -180 0 0 103.5
> 783 L103.5 684 A9.00007 9.00007 -180 0 0 94.5 675 L9 675 A9.00007
> + 9.00007 -180 0 0 0 684 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L94.5 792 Z" class="st2"/>
> + </g>
> + <path d="M94.5 792 A9.00007 9.00007 -180 0 0 103.5 783
> L103.5 684 A9.00007 9.00007 -180 0 0 94.5 675 L9 675 A9.00007
> + 9.00007 -180 0 0 0 684 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L94.5 792 Z" class="st3"/>
> + <text x="38.61" y="788.1" class="st4"
> v:langID="2052"><v:paragraph
> v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh
> ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text>
> </g>
> + <g id="shape24-38" v:mID="24" v:groupContext="shape"
> transform="translate(33.75,-362.1)">
> + <title>Rounded rectangle.24</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="20.25" cy="780.3" width="40.51"
> height="23.4"/>
> + <g id="shadow24-39" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M31.5 792 A9.00007 9.00007 -180 0 0 40.5
> 783 L40.5 777.6 A9.00007 9.00007 -180 0 0 31.5 768.6 L9 768.6 A9.00007
> + 9.00007 -180 0 0 0 777.6 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L31.5 792 Z" class="st5"/>
> + </g>
> + <path d="M31.5 792 A9.00007 9.00007 -180 0 0 40.5 783
> L40.5 777.6 A9.00007 9.00007 -180 0 0 31.5 768.6 L9 768.6 A9.00007
> + 9.00007 -180 0 0 0 777.6 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L31.5 792 Z" class="st6"/>
> + <text x="13.14" y="783.3" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape25-43" v:mID="25" v:groupContext="shape"
> transform="translate(95.4166,-358.2)">
> + <title>Rounded rectangle.25</title>
> + <desc>VNID 100</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="28.7917" cy="784.2" width="57.59"
> height="15.6"/>
> + <g id="shadow25-44" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M49.78 792 A7.80006 7.80006 -180 0 0
> 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006
> + 7.80006 -180 0 0 -0 784.2
> A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st5"/>
> + </g>
> + <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58
> 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 7.80006
> + -180 0 0 -0 784.2 A7.80006 7.80006 -
> 180 0 0 7.8 792 L49.78 792 Z" class="st8"/>
> + <text x="11.57" y="786.9" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text>
> </g>
> + <g id="shape31-48" v:mID="31" v:groupContext="shape"
> transform="translate(33.75,-315.3)">
> + <title>Rounded rectangle.31</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="20.6757" cy="780.3" width="41.36"
> height="23.4"/>
> + <g id="shadow31-49" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M32.35 792 A9.00007 9.00007 -180 0 0
> 41.35 783 L41.35 777.6 A9.00007 9.00007 -180 0 0 32.35 768.6 L9 768.6
> + A9.00007 9.00007 -180 0 0 0
> 777.6 L0 783 A9.00007 9.00007 -180 0 0 9 792 L32.35 792 Z" class="st5"/>
> + </g>
> + <path d="M32.35 792 A9.00007 9.00007 -180 0 0 41.35 783
> L41.35 777.6 A9.00007 9.00007 -180 0 0 32.35 768.6 L9 768.6 A9.00007
> + 9.00007 -180 0 0 0 777.6 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L32.35 792 Z" class="st6"/>
> + <text x="13.56" y="783.3" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape32-53" v:mID="32" v:groupContext="shape"
> transform="translate(95.4166,-323.1)">
> + <title>Rounded rectangle.32</title>
> + <desc>VNID 101</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="28.7917" cy="784.2" width="57.59"
> height="15.6"/>
> + <g id="shadow32-54" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M49.78 792 A7.80006 7.80006 -180 0 0
> 57.58 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006
> + 7.80006 -180 0 0 -0 784.2
> A7.80006 7.80006 -180 0 0 7.8 792 L49.78 792 Z" class="st5"/>
> + </g>
> + <path d="M49.78 792 A7.80006 7.80006 -180 0 0 57.58
> 784.2 A7.80006 7.80006 -180 0 0 49.78 776.4 L7.8 776.4 A7.80006 7.80006
> + -180 0 0 -0 784.2 A7.80006 7.80006 -
> 180 0 0 7.8 792 L49.78 792 Z" class="st13"/>
> + <text x="11.57" y="786.9" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text>
> </g>
> + <g id="shape34-58" v:mID="34" v:groupContext="shape"
> transform="translate(407.076,-491.625)">
> + <title>Rounded rectangle.34</title>
> + <desc>Host</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="48.4618" cy="730.125" width="96.93"
> height="123.75"/>
> + <g id="shadow34-59" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M87.92 792 A9.00007 9.00007 -180 0 0
> 96.92 783 L96.92 677.25 A9.00007 9.00007 -180 0 0 87.92 668.25 L9 668.25
> + A9.00007 9.00007 -180 0 0 0
> 677.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L87.92 792 Z" class="st2"/>
> + </g>
> + <path d="M87.92 792 A9.00007 9.00007 -180 0 0 96.92 783
> L96.92 677.25 A9.00007 9.00007 -180 0 0 87.92 668.25 L9 668.25
> + A9.00007 9.00007 -180 0 0 0 677.25 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L87.92 792 Z" class="st3"/>
> + <text x="35.33" y="784.72" class="st4"
> v:langID="2052"><v:paragraph
> v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh
> ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text>
> </g>
> + <g id="shape35-63" v:mID="35" v:groupContext="shape"
> transform="translate(520.049,-580.313)">
> + <title>Rounded rectangle.35</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="18.8889" cy="779.625" width="37.78"
> height="24.75"/>
> + <g id="shadow35-64" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M28.78 792 A9.00007 9.00007 -180 0 0
> 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
> + A9.00007 9.00007 -180 0 0 0
> 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/>
> + </g>
> + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783
> L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
> + A9.00007 9.00007 -180 0 0 0 776.25 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/>
> + <text x="11.78" y="782.63" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape36-68" v:mID="36" v:groupContext="shape"
> transform="translate(441.076,-582.375)">
> + <title>Rounded rectangle.36</title>
> + <desc>VNID 100</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="26.4444" cy="783.75" width="52.89"
> height="16.5"/>
> + <g id="shadow36-69" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M44.64 792 A8.25006 8.25006 -180 0 0
> 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
> + 8.25006 -180 0 0 0 783.75
> A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/>
> + </g>
> + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89
> 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
> + 8.25006 -180 0 0 0 783.75 A8.25006
> 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st8"/>
> + <text x="9.22" y="786.45" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text>
> </g>
> + <g id="shape37-73" v:mID="37" v:groupContext="shape"
> transform="translate(520.049,-541.125)">
> + <title>Rounded rectangle.37</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="18.8889" cy="779.625" width="37.78"
> height="24.75"/>
> + <g id="shadow37-74" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M28.78 792 A9.00007 9.00007 -180 0 0
> 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
> + A9.00007 9.00007 -180 0 0 0
> 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/>
> + </g>
> + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783
> L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
> + A9.00007 9.00007 -180 0 0 0 776.25 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/>
> + <text x="11.78" y="782.63" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape38-78" v:mID="38" v:groupContext="shape"
> transform="translate(441.076,-551.438)">
> + <title>Rounded rectangle.38</title>
> + <desc>VNID 101</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="26.4444" cy="783.75" width="52.89"
> height="16.5"/>
> + <g id="shadow38-79" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M44.64 792 A8.25006 8.25006 -180 0 0
> 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
> + 8.25006 -180 0 0 0 783.75
> A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/>
> + </g>
> + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89
> 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
> + 8.25006 -180 0 0 0 783.75 A8.25006
> 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st12"/>
> + <text x="9.22" y="786.45" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 101</text>
> </g>
> + <g id="shape40-83" v:mID="40" v:groupContext="shape"
> transform="translate(398.076,-288)">
> + <title>Rounded rectangle.40</title>
> + <desc>Host</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="52.9618" cy="727.875" width="105.93"
> height="128.25"/>
> + <g id="shadow40-84" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M96.92 792 A9.00007 9.00007 -180 0 0
> 105.92 783 L105.92 672.75 A9.00007 9.00007 -180 0 0 96.92 663.75 L9
> + 663.75 A9.00007 9.00007 -180 0
> 0 0 672.75 L0 783 A9.00007 9.00007 -180 0 0 9 792 L96.92 792 Z"
> + class="st2"/>
> + </g>
> + <path d="M96.92 792 A9.00007 9.00007 -180 0 0 105.92 783
> L105.92 672.75 A9.00007 9.00007 -180 0 0 96.92 663.75 L9 663.75
> + A9.00007 9.00007 -180 0 0 0 672.75 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L96.92 792 Z" class="st3"/>
> + <text x="39.83" y="782.47" class="st4"
> v:langID="2052"><v:paragraph
> v:horizAlign="1"/><v:tabList/><v:newlineChar/><v:newlineChar/><v:newlineCh
> ar/><v:newlineChar/><v:newlineChar/><v:newlineChar/>Host</text>
> </g>
> + <g id="shape41-88" v:mID="41" v:groupContext="shape"
> transform="translate(522,-369.225)">
> + <title>Rounded rectangle.41</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="21.1806" cy="779.175" width="42.37"
> height="25.65"/>
> + <g id="shadow41-89" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M33.36 792 A9.00007 9.00007 -180 0 0
> 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
> + A9.00007 9.00007 -180 0 0 0
> 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st5"/>
> + </g>
> + <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783
> L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
> + A9.00007 9.00007 -180 0 0 0 775.35 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st6"/>
> + <text x="14.07" y="782.17" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape42-93" v:mID="42" v:groupContext="shape"
> transform="translate(436.201,-369)">
> + <title>Rounded rectangle.42</title>
> + <desc>VNID 100</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="29.6528" cy="783.45" width="59.31"
> height="17.1"/>
> + <g id="shadow42-94" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M50.76 792 A8.55007 8.55007 -180 0 0
> 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
> + 8.55007 -180 0 0 0 783.45
> A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st5"/>
> + </g>
> + <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31
> 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
> + 8.55007 -180 0 0 0 783.45 A8.55007
> 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st8"/>
> + <text x="12.43" y="786.15" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 100</text>
> </g>
> + <g id="shape43-98" v:mID="43" v:groupContext="shape"
> transform="translate(523.319,-317.925)">
> + <title>Rounded rectangle.43</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="21.1806" cy="779.175" width="42.37"
> height="25.65"/>
> + <g id="shadow43-99" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M33.36 792 A9.00007 9.00007 -180 0 0
> 42.36 783 L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
> + A9.00007 9.00007 -180 0 0 0
> 775.35 L0 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st5"/>
> + </g>
> + <path d="M33.36 792 A9.00007 9.00007 -180 0 0 42.36 783
> L42.36 775.35 A9.00007 9.00007 -180 0 0 33.36 766.35 L9 766.35
> + A9.00007 9.00007 -180 0 0 0 775.35 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L33.36 792 Z" class="st6"/>
> + <text x="14.07" y="782.17" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape44-103" v:mID="44" v:groupContext="shape"
> transform="translate(436.201,-324.9)">
> + <title>Rounded rectangle.44</title>
> + <desc>VNID 102</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="29.6528" cy="783.45" width="59.31"
> height="17.1"/>
> + <g id="shadow44-104" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M50.76 792 A8.55007 8.55007 -180 0 0
> 59.31 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
> + 8.55007 -180 0 0 0 783.45
> A8.55007 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st5"/>
> + </g>
> + <path d="M50.76 792 A8.55007 8.55007 -180 0 0 59.31
> 783.45 A8.55007 8.55007 -180 0 0 50.76 774.9 L8.55 774.9 A8.55007
> + 8.55007 -180 0 0 0 783.45 A8.55007
> 8.55007 -180 0 0 8.55 792 L50.76 792 Z" class="st14"/>
> + <text x="12.43" y="786.15" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 102</text>
> </g>
> + <g id="shape46-108" v:mID="46" v:groupContext="shape"
> transform="translate(441.076,-518.438)">
> + <title>Rounded rectangle.46</title>
> + <desc>VNID 102</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="26.4444" cy="783.75" width="52.89"
> height="16.5"/>
> + <g id="shadow46-109" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M44.64 792 A8.25006 8.25006 -180 0 0
> 52.89 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
> + 8.25006 -180 0 0 0 783.75
> A8.25006 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st5"/>
> + </g>
> + <path d="M44.64 792 A8.25006 8.25006 -180 0 0 52.89
> 783.75 A8.25006 8.25006 -180 0 0 44.64 775.5 L8.25 775.5 A8.25006
> + 8.25006 -180 0 0 0 783.75 A8.25006
> 8.25006 -180 0 0 8.25 792 L44.64 792 Z" class="st14"/>
> + <text x="9.22" y="786.45" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VNID 102</text>
> </g>
> + <g id="shape47-113" v:mID="47" v:groupContext="shape"
> transform="translate(520.049,-501.937)">
> + <title>Rounded rectangle.47</title>
> + <desc>VM</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="18.8889" cy="779.625" width="37.78"
> height="24.75"/>
> + <g id="shadow47-114" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M28.78 792 A9.00007 9.00007 -180 0 0
> 37.78 783 L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
> + A9.00007 9.00007 -180 0 0 0
> 776.25 L0 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st5"/>
> + </g>
> + <path d="M28.78 792 A9.00007 9.00007 -180 0 0 37.78 783
> L37.78 776.25 A9.00007 9.00007 -180 0 0 28.78 767.25 L9 767.25
> + A9.00007 9.00007 -180 0 0 0 776.25 L0
> 783 A9.00007 9.00007 -180 0 0 9 792 L28.78 792 Z" class="st6"/>
> + <text x="11.78" y="782.63" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM</text>
> </g>
> + <g id="shape48-118" v:mID="48" v:groupContext="shape"
> transform="translate(940.314,236.405) rotate(88.7578)">
> + <title>Arced arrow</title>
> + <v:userDefs>
> + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
> + <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="ControlX" v:prompt=""
> v:val="VT0(0.0625):1"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <path d="M1.13 787.65 L3.31 788.21 L0 792 L-1.04 787.08
> L1.13 787.65 ZM206.44 787.65 L204.26 788.21 L207.57 792 L208.62
> + 787.08 L206.44 787.65 Z"
> class="st15"/>
> + <path d="M1.13 787.65 A106.681 106.681 0 0 1 206.44
> 787.65" class="st16"/>
> + <path d="M1.13 787.65 L3.31 788.21 L0 792 L-1.04 787.08
> L1.13 787.65" class="st16"/>
> + <path d="M206.44 787.65 L204.26 788.21 L207.57 792
> L208.62 787.08 L206.44 787.65" class="st16"/>
> + </g>
> + <g id="shape49-125" v:mID="49" v:groupContext="shape"
> transform="translate(489.312,991.905) rotate(176.508)">
> + <title>Arced arrow.49</title>
> + <v:userDefs>
> + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
> + <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="ControlX" v:prompt=""
> v:val="VT0(0.0625):1"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <path d="M2.72 788.42 L4.51 789.78 L0 792 L0.93 787.06
> L2.72 788.42 ZM292.83 788.42 L291.03 789.78 L295.55 792 L294.62
> + 787.06 L292.83 788.42 Z"
> class="st17"/>
> + <path d="M2.72 788.42 A183.886 183.886 0 0 1 292.83
> 788.42" class="st18"/>
> + <path d="M2.72 788.42 L4.51 789.78 L0 792 L0.93 787.06
> L2.72 788.42" class="st18"/>
> + <path d="M292.83 788.42 L291.03 789.78 L295.55 792
> L294.62 787.06 L292.83 788.42" class="st18"/>
> + </g>
> + <g id="shape50-132" v:mID="50" v:groupContext="shape"
> transform="translate(120.726,-365.342) rotate(-2.33544)">
> + <title>Arced arrow.50</title>
> + <v:userDefs>
> + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
> + <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="ControlX" v:prompt=""
> v:val="VT0(0.0625):1"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <path d="M3.79 789.57 L5 791.47 L0 792 L2.58 787.68
> L3.79 789.57 ZM279.65 789.57 L278.43 791.47 L283.44 792 L280.86 787.68
> + L279.65 789.57 Z" class="st17"/>
> + <path d="M3.79 789.57 A259.249 259.249 0 0 1 279.65
> 789.57" class="st18"/>
> + <path d="M3.79 789.57 L5 791.47 L0 792 L2.58 787.68
> L3.79 789.57" class="st18"/>
> + <path d="M279.65 789.57 L278.43 791.47 L283.44 792
> L280.86 787.68 L279.65 789.57" class="st18"/>
> + </g>
> + <g id="shape4-138" v:mID="4" v:groupContext="shape"
> transform="translate(348.104,-324.947) rotate(20.2291)">
> + <title>Sheet.4</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow4-139" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.84909,0.853261)"
> class="st1">
> + <path d="M0 792 L22.56 792" class="st19"/>
> + </g>
> + <path d="M0 792 L22.56 792" class="st20"/>
> + </g>
> + <g id="shape5-145" v:mID="5" v:groupContext="shape"
> transform="translate(-74.2157,-312.797) rotate(-10.8671)">
> + <title>Sheet.5</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow5-146" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,2.77556E-017,-2.77556E-
> 017,1,1.14269,1.68566)" class="st1">
> + <path d="M0 792 L20.69 792" class="st19"/>
> + </g>
> + <path d="M0 792 L20.69 792" class="st21"/>
> + </g>
> + <g id="shape6-152" v:mID="6" v:groupContext="shape"
> transform="translate(327.757,-539.646) rotate(18.7888)">
> + <title>Sheet.6</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow6-153" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.82706,0.89947)"
> class="st1">
> + <path d="M0 792 L21.66 792" class="st19"/>
> + </g>
> + <path d="M0 792 L21.66 792" class="st20"/>
> + </g>
> + <g id="shape7-159" v:mID="7" v:groupContext="shape"
> transform="translate(-121.163,-509.165) rotate(-14.1663)">
> + <title>Sheet.7</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow7-160" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.04379,1.74863)"
> class="st1">
> + <path d="M0 792 L21.15 792" class="st19"/>
> + </g>
> + <path d="M0 792 L21.15 792" class="st21"/>
> + </g>
> + <g id="shape8-166" v:mID="8" v:groupContext="shape"
> transform="translate(431.534,-588.161) rotate(-4.52117)">
> + <title>Sheet.8</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow8-167" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.32201,1.54903)"
> class="st1">
> + <path d="M0 792 L26.16 792" class="st19"/>
> + </g>
> + <path d="M0 792 L26.16 792" class="st20"/>
> + </g>
> + <g id="shape13-173" v:mID="13" v:groupContext="shape"
> transform="translate(676.771,-538.302) rotate(13.3451)">
> + <title>Sheet.13</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow13-174" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.73349,1.06874)"
> class="st1">
> + <path d="M0 792 L26.81 792" class="st19"/>
> + </g>
> + <path d="M0 792 L26.81 792" class="st21"/>
> + </g>
> + <g id="shape15-180" v:mID="15" v:groupContext="shape"
> transform="translate(833.452,-450.238) rotate(25.3816)">
> + <title>Sheet.15</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow15-181" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.91825,0.683753)"
> class="st1">
> + <path d="M0 792 L28.87 792" class="st19"/>
> + </g>
> + <path d="M0 792 L28.87 792" class="st22"/>
> + </g>
> + <g id="shape16-187" v:mID="16" v:groupContext="shape"
> transform="translate(362.881,-366.366) rotate(-9.64002)">
> + <title>Sheet.16</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow16-188" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.17853,1.6608)"
> class="st1">
> + <path d="M0 792 L26.87 792" class="st19"/>
> + </g>
> + <path d="M0 792 L26.87 792" class="st20"/>
> + </g>
> + <g id="shape17-194" v:mID="17" v:groupContext="shape"
> transform="translate(572.033,-329.744) rotate(5.54482)">
> + <title>Sheet.17</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow17-195" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.5724,1.29412)"
> class="st1">
> + <path d="M0 792 L27.94 792" class="st19"/>
> + </g>
> + <path d="M0 792 L27.94 792" class="st23"/>
> + </g>
> + <g id="shape18-201" v:mID="18" v:groupContext="shape"
> transform="translate(-464.654,-1.71391) rotate(-55.621)">
> + <title>Sheet.18</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow18-202" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,-
> 0.375346,2.00158)" class="st1">
> + <path d="M0 792 L71.36 792" class="st19"/>
> + </g>
> + <path d="M0 792 L71.36 792" class="st24"/>
> + </g>
> + <g id="shape19-208" v:mID="19" v:groupContext="shape"
> transform="translate(1074.07,13.0882) rotate(62.5098)">
> + <title>Sheet.19</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow19-209" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.94211,-
> 0.612711)" class="st1">
> + <path d="M0 792 L57.58 792" class="st19"/>
> + </g>
> + <path d="M0 792 L57.58 792" class="st24"/>
> + </g>
> + <g id="shape20-215" v:mID="20" v:groupContext="shape"
> transform="translate(835.264,-218.138) rotate(54.9898)">
> + <title>Sheet.20</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow20-216" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,2.00559,-
> 0.353273)" class="st1">
> + <path d="M0 792 L62.72 792" class="st19"/>
> + </g>
> + <path d="M0 792 L62.72 792" class="st25"/>
> + </g>
> + <g id="shape21-222" v:mID="21" v:groupContext="shape"
> transform="translate(985.087,779.949) rotate(133.129)">
> + <title>Sheet.21</title>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow21-223" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,0.0664758,-
> 2.03538)" class="st1">
> + <path d="M0 792 L43.41 792" class="st19"/>
> + </g>
> + <path d="M0 792 L43.41 792" class="st24"/>
> + </g>
> + <g id="shape68-229" v:mID="68" v:groupContext="shape"
> transform="translate(933.635,852.514) rotate(141.544)">
> + <title>Arced arrow.68</title>
> + <v:userDefs>
> + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
> + <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="ControlX" v:prompt=""
> v:val="VT0(0):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <path d="M0 792 A329.322 329.322 0 0 1 367.87 792"
> class="st16"/>
> + </g>
> + <g id="shape70-233" v:mID="70" v:groupContext="shape"
> transform="translate(-355.547,438.576) rotate(-88.5548)">
> + <title>Arced arrow.70</title>
> + <v:userDefs>
> + <v:ud v:nameU="ControlX" v:val="VT0(0.125):0"/>
> + <v:ud v:nameU="Scale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="ControlX" v:prompt=""
> v:val="VT0(0.06400492):1"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99
> L1.04 787.51 ZM192.26 787.51 L190.01 788.03 L193.3 792 L194.5
> + 786.99 L192.26 787.51 Z"
> class="st26"/>
> + <path d="M1.04 787.51 A98.7059 98.7059 0 0 1 192.26
> 787.51" class="st27"/>
> + <path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99
> L1.04 787.51" class="st27"/>
> + <path d="M192.26 787.51 L190.01 788.03 L193.3 792 L194.5
> 786.99 L192.26 787.51" class="st27"/>
> + </g>
> + <g id="shape84-240" v:mID="84" v:groupContext="shape"
> transform="translate(157.5,-510.75)">
> + <title>Sheet.84</title>
> + <desc>TEP</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="11.25" cy="753.75" width="22.5"
> height="76.5"/>
> + <rect x="0" y="715.5" width="22.5" height="76.5"
> class="st28"/>
> + <text x="4.54" y="756.45" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>
> </g>
> + <g id="shape86-243" v:mID="86" v:groupContext="shape"
> transform="translate(162,-315)">
> + <title>Sheet.86</title>
> + <desc>TEP</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="11.8125" cy="753.75" width="23.63"
> height="76.5"/>
> + <rect x="0" y="715.5" width="23.625" height="76.5"
> class="st28"/>
> + <text x="5.1" y="756.45" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>
> </g>
> + <g id="shape87-246" v:mID="87" v:groupContext="shape"
> transform="translate(405,-324)">
> + <title>Sheet.87</title>
> + <desc>TEP</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="11.8125" cy="753.75" width="23.63"
> height="76.5"/>
> + <rect x="0" y="715.5" width="23.625" height="76.5"
> class="st28"/>
> + <text x="5.1" y="756.45" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>
> </g>
> + <g id="shape88-249" v:mID="88" v:groupContext="shape"
> transform="translate(411.75,-513)">
> + <title>Sheet.88</title>
> + <desc>TEP</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="11.25" cy="754.875" width="22.5"
> height="74.25"/>
> + <rect x="0" y="717.75" width="22.5" height="74.25"
> class="st28"/>
> + <text x="4.54" y="757.58" class="st9"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>
> </g>
> + </g>
> +</svg>
> diff --git a/doc/guides/sample_app_ug/img/tep_termination_arch.svg
> b/doc/guides/sample_app_ug/img/tep_termination_arch.svg
> new file mode 100644
> index 0000000..6f4754d
> --- /dev/null
> +++ b/doc/guides/sample_app_ug/img/tep_termination_arch.svg
> @@ -0,0 +1,548 @@
> +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
> "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
> +<!-- Generated by Microsoft Visio, SVG Export VXLAN.svg Page-1 -->
> +<svg xmlns="http://www.w3.org/2000/svg"
> xmlns:xlink="http://www.w3.org/1999/xlink"
> xmlns:ev="http://www.w3.org/2001/xml-events"
> +
> xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/"
> width="8.5in" height="11in" viewBox="0 0 612 792"
> + xml:space="preserve" color-interpolation-filters="sRGB"
> class="st24">
> + <v:documentProperties v:langID="1033" v:viewMarkup="false">
> + <v:userDefs>
> + <v:ud v:nameU="msvSubprocessMaster" v:prompt=""
> v:val="VT4(Rectangle)"/>
> + <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>
> + <v:ud v:nameU="msvConvertTheme"/>
> + </v:userDefs>
> + </v:documentProperties>
> +
> + <style type="text/css">
> + <![CDATA[
> + .st1 {visibility:visible}
> + .st2 {fill:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke-
> linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
> + .st3 {fill:#d1dab4;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st4 {fill:#6b9bc7;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st5 {fill:#000000;font-family:Calibri;font-
> size:0.916672em;font-weight:bold}
> + .st6 {fill:#92d050;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st7 {fill:#000000;font-family:Calibri;font-size:0.833336em}
> + .st8 {font-size:1em}
> + .st9 {fill:#3e75a6;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st10 {fill:#d8d8d8;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.24}
> + .st11 {fill:#404040;fill-opacity:1;stroke:#404040;stroke-
> opacity:1;stroke-width:0.08695652173913}
> + .st12 {fill:none;stroke:none;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> + .st13 {fill:#000000;font-family:Calibri;font-
> size:1.00001em;font-weight:bold}
> + .st14 {fill:#000000;font-family:Calibri;font-size:1.00001em}
> + .st15 {fill:#000000;font-family:Calibri;font-
> size:1.16666em;font-weight:bold}
> + .st16 {fill:url(#grad0-72);stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st17 {fill:url(#grad0-83);stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st18 {fill:#f2c096;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st19 {fill:#e1ebf3;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st20 {fill:#000000;font-family:Calibri;font-size:1.16666em}
> + .st21 {font-size:0.857157em}
> + .st22 {fill:#d26d19;stroke:none;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.75}
> + .st23 {fill:#a6c3dd;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> + .st24 {fill:none;fill-rule:evenodd;font-
> size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
> + ]]>
> + </style>
> +
> + <defs id="Patterns_And_Gradients">
> + <linearGradient id="grad0-72" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> + <stop offset="0" stop-color="#efaf7a" stop-opacity="1"/>
> + <stop offset="1" stop-color="#f2bf96" stop-opacity="1"/>
> + </linearGradient>
> + <linearGradient id="grad0-83" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> + <stop offset="0" stop-color="#f0f0f0" stop-opacity="1"/>
> + <stop offset="1" stop-color="#ffffff" stop-opacity="1"/>
> + </linearGradient>
> + </defs>
> + <defs id="Markers">
> + <g id="lend13">
> + <path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/>
> + </g>
> + <marker id="mrkr13-28" class="st11" v:arrowType="13"
> v:arrowSize="2" v:setback="34.5" refX="-34.5" orient="auto"
> + markerUnits="strokeWidth" overflow="visible">
> + <use xlink:href="#lend13" transform="scale(-11.5,-11.5)
> "/>
> + </marker>
> + </defs>
> + <g v:mID="0" v:index="1" v:groupContext="foregroundPage">
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects" v:val="VT0(16):26"/>
> + <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/>
> + </v:userDefs>
> + <title>Page-1</title>
> + <v:pageProperties v:drawingScale="1" v:pageScale="1"
> v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/>
> + <v:layer v:name="Flowchart" v:index="0"/>
> + <g id="shape33-1" v:mID="33" v:groupContext="shape"
> transform="translate(117,-432)">
> + <title>Rectangle.18</title>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow33-2" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="666" width="342" height="126"
> class="st2"/>
> + </g>
> + <rect x="0" y="666" width="342" height="126"
> class="st3"/>
> + </g>
> + <g id="shape10-5" v:mID="10" v:groupContext="shape"
> transform="translate(216,-522)">
> + <title>Rounded rectangle.10</title>
> + <desc>Userspace vhost Interface</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="74.25" cy="778.5" width="148.5"
> height="27"/>
> + <g id="shadow10-6" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M139.5 792 A9.00007 9.00007 -180 0 0
> 148.5 783 L148.5 774 A9.00007 9.00007 -180 0 0 139.5 765 L9 765 A9.00007
> + 9.00007 -180 0 0 0 774 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L139.5 792 Z" class="st2"/>
> + </g>
> + <path d="M139.5 792 A9.00007 9.00007 -180 0 0 148.5 783
> L148.5 774 A9.00007 9.00007 -180 0 0 139.5 765 L9 765 A9.00007
> + 9.00007 -180 0 0 0 774 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L139.5 792 Z" class="st4"/>
> + <text x="15.14" y="781.8" class="st5"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Userspace vhost
> Interface </text> </g>
> + <g id="shape12-10" v:mID="12" v:groupContext="shape"
> transform="translate(355.5,-481.5)">
> + <title>Rounded rectangle.12</title>
> + <desc>Encapsulation</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="45" cy="785.25" width="90"
> height="13.5"/>
> + <g id="shadow12-11" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90
> 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/>
> + </g>
> + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25
> A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005
> + -180 0 0 0 785.25 A6.75005 6.75005 -
> 180 0 0 6.75 792 L83.25 792 Z" class="st6"/>
> + <text x="16.58" y="788.25" class="st7"
> v:langID="1033"><v:paragraph
> v:horizAlign="1"/><v:tabList/>Encapsulation</text> </g>
> + <g id="shape13-15" v:mID="13" v:groupContext="shape"
> transform="translate(153,-483.75)">
> + <title>Rounded rectangle.13</title>
> + <desc>Decapsulation</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="36" cy="785.25" width="72"
> height="13.5"/>
> + <g id="shadow13-16" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72
> 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st2"/>
> + </g>
> + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25
> A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 6.75005
> + -180 0 0 0 785.25 A6.75005 6.75005 -
> 180 0 0 6.75 792 L65.25 792 Z" class="st6"/>
> + <text x="8.22" y="788.25" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>D<tspan
> class="st8"
> +
> v:langID="2052">ecap</tspan>sulation</text> </g>
> + <g id="shape35-21" v:mID="35" v:groupContext="shape"
> transform="translate(117,-324)">
> + <title>Rectangle.18.35</title>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow35-22" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="697.5" width="342" height="94.5"
> class="st2"/>
> + </g>
> + <rect x="0" y="697.5" width="342" height="94.5"
> class="st9"/>
> + </g>
> + <g id="shape15-25" v:mID="15" v:groupContext="shape"
> transform="translate(259.654,-263.25)">
> + <title>Data store</title>
> + <v:userDefs>
> + <v:ud v:nameU="CH" v:val="VT0(5):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + </v:userDefs>
> + <path d="M0 600.13 A28.3465 10.6299 0 0 1 56.69 600.13
> A28.3465 10.6299 0 0 1 -0 600.13 ZM0 600.13 L0 781.37 A28.3465
> + 10.6299 -180 1 0 56.69 781.37 L56.69
> 600.13 A28.3465 10.6299 0 0 1 0 600.13 Z" class="st10"/>
> + </g>
> + <g id="shape16-29" v:mID="16" v:groupContext="shape"
> transform="translate(324,-391.5)">
> + <title>Rounded rectangle.16</title>
> + <desc>Inner IP/L4 checksum offload</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="67.5" cy="785.25" width="135"
> height="13.5"/>
> + <g id="shadow16-30" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M128.25 792 A6.75005 6.75005 -180 0 0 135
> 785.25 A6.75005 6.75005 -180 0 0 128.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L128.25 792 Z" class="st2"/>
> + </g>
> + <path d="M128.25 792 A6.75005 6.75005 -180 0 0 135
> 785.25 A6.75005 6.75005 -180 0 0 128.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25 A6.75005
> 6.75005 -180 0 0 6.75 792 L128.25 792 Z" class="st6"/>
> + <text x="8.27" y="788.25" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4
> checksum offload</text> </g>
> + <g id="shape17-34" v:mID="17" v:groupContext="shape"
> transform="translate(144,-337.5)">
> + <title>Rounded rectangle.17</title>
> + <desc>UDP port configuration</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="54" cy="785.25" width="108"
> height="13.5"/>
> + <g id="shadow17-35" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M101.25 792 A6.75005 6.75005 -180 0 0 108
> 785.25 A6.75005 6.75005 -180 0 0 101.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L101.25 792 Z" class="st2"/>
> + </g>
> + <path d="M101.25 792 A6.75005 6.75005 -180 0 0 108
> 785.25 A6.75005 6.75005 -180 0 0 101.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25 A6.75005
> 6.75005 -180 0 0 6.75 792 L101.25 792 Z" class="st6"/>
> + <text x="6.93" y="788.25" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP port
> configuration</text> </g>
> + <g id="shape18-39" v:mID="18" v:groupContext="shape"
> transform="translate(145.346,-357.75)">
> + <title>Rounded rectangle.18</title>
> + <desc>Inner IP/L4 csum verify</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="53.3268" cy="785.25" width="106.66"
> height="13.5"/>
> + <g id="shadow18-40" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M99.9 792 A6.75005 6.75005 -180 0 0
> 106.65 785.25 A6.75005 6.75005 -180 0 0 99.9 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L99.9 792 Z" class="st2"/>
> + </g>
> + <path d="M99.9 792 A6.75005 6.75005 -180 0 0 106.65
> 785.25 A6.75005 6.75005 -180 0 0 99.9 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25 A6.75005
> 6.75005 -180 0 0 6.75 792 L99.9 792 Z" class="st6"/>
> + <text x="6.66" y="788.25" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner
> IP/L4<tspan
> + class="st8" v:langID="1033">
> </tspan><tspan class="st8" v:langID="1033">csum</tspan> verify</text>
> </g>
> + <g id="shape19-46" v:mID="19" v:groupContext="shape"
> transform="translate(162,-378)">
> + <title>Rounded rectangle.19</title>
> + <desc>Tunnel Filter</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="45" cy="785.25" width="90"
> height="13.5"/>
> + <g id="shadow19-47" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90
> 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/>
> + </g>
> + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25
> A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005
> + -180 0 0 0 785.25 A6.75005 6.75005 -
> 180 0 0 6.75 792 L83.25 792 Z" class="st6"/>
> + <text x="18.29" y="788.25" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Tunnel <tspan
> + class="st8" v:langID="2052">
> </tspan>F<tspan class="st8" v:langID="2052">ilter</tspan></text>
> </g>
> + <g id="shape20-53" v:mID="20" v:groupContext="shape"
> transform="translate(162,-398.25)">
> + <title>Rounded rectangle.20</title>
> + <desc>Packet Type</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="45" cy="785.25" width="90"
> height="13.5"/>
> + <g id="shadow20-54" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90
> 785.25 A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L83.25 792 Z" class="st2"/>
> + </g>
> + <path d="M83.25 792 A6.75005 6.75005 -180 0 0 90 785.25
> A6.75005 6.75005 -180 0 0 83.25 778.5 L6.75 778.5 A6.75005 6.75005
> + -180 0 0 0 785.25 A6.75005 6.75005 -
> 180 0 0 6.75 792 L83.25 792 Z" class="st6"/>
> + <text x="20.53" y="788.25" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Packet
> Type</text> </g>
> + <g id="shape27-58" v:mID="27" v:groupContext="shape"
> transform="translate(326.25,-441)">
> + <title>Sheet.27</title>
> + <desc>DPDK Application</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="54" cy="783" width="108" height="18"/>
> + <rect x="0" y="774" width="108" height="18"
> class="st12"/>
> + <text x="10.11" y="786.6" class="st13"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>DPDK
> Application</text> </g>
> + <g id="shape26-61" v:mID="26" v:groupContext="shape"
> transform="translate(324,-279)">
> + <title>Sheet.26</title>
> + <desc>VXLAN Tunnel</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="45" cy="778.5" width="90" height="27"/>
> + <rect x="0" y="765" width="90" height="27" class="st12"/>
> + <text x="10.51" y="782.1" class="st14"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VXLAN
> Tunnel</text> </g>
> + <g id="shape28-64" v:mID="28" v:groupContext="shape"
> transform="translate(342,-333)">
> + <title>Sheet.28</title>
> + <desc>NIC</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="45" cy="783" width="90" height="18"/>
> + <rect x="0" y="774" width="90" height="18" class="st12"/>
> + <text x="36.4" y="787.2" class="st15"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>NIC</text>
> </g>
> + <g id="shape29-67" v:mID="29" v:groupContext="shape"
> transform="translate(-517.5,270) rotate(-90) scale(-1,1)">
> + <title>45 degree single</title>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow29-68" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97
> L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st2"/>
> + </g>
> + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252
> 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st16"/>
> + </g>
> + <g id="shape30-73" v:mID="30" v:groupContext="shape"
> transform="translate(1093.5,522) rotate(90) scale(-1,1)">
> + <title>45 degree single.30</title>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow30-74" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,-1.44,-1.44)"
> class="st1">
> + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97
> L252 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st2"/>
> + </g>
> + <path d="M0 787.5 L4.5 783 L4.5 785.97 L252 785.97 L252
> 789.03 L4.5 789.03 L4.5 792 L0 787.5 Z" class="st16"/>
> + </g>
> + <g id="shape14-78" v:mID="14" v:groupContext="shape"
> v:layerMember="0" transform="translate(207,-234)">
> + <title>Object</title>
> + <desc>WAN/LAN</desc>
> + <v:custProps>
> + <v:cp v:nameU="Cost" v:lbl="Cost" v:type="7"
> v:format="@" v:langID="1033"/>
> + <v:cp v:nameU="Duration" v:lbl="Duration"
> v:type="2" v:langID="1033"/>
> + <v:cp v:nameU="Resources" v:lbl="Resources"
> v:langID="1033"/>
> + </v:custProps>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(1,1,1,1)"
> v:tabSpace="42.5197"/>
> + <v:textRect cx="83.25" cy="769.5" width="166.5"
> height="45"/>
> + <g id="shadow14-79" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M23.93 782.24 A19.1532 6.46551 -180 0 0
> 51.52 787.72 A26.5285 8.95514 -180 0 0 99.5 785.69 A8.02422 2.70871
> + -180 0 0 108.16 788.62 A30.5319
> 10.3066 -180 0 0 137.48 784.34 A18.9723 6.40442 -180 0 0 158.14 780.29
> + A29.3596 9.20857 -176.98 0 0
> 145.63 771.6 A100.331 31.9328 -2.78 0 0 166.47 763.04 A42.3527 12.6007
> + -180 0 0 144.52 751.5 A25.2977
> 7.52648 -180 0 0 96.13 755.1 A21.4707 5.9338 -1.58 0 0 59.81 755.43
> A30.834
> + 8.86245 -178.72 0 0 20.52 767.7
> A24.6202 7.32494 -180 0 0 23.93 782.24 Z" class="st2"/>
> + </g>
> + <path d="M23.93 782.24 A19.1532 6.46551 -180 0 0 51.52
> 787.72 A26.5285 8.95514 -180 0 0 99.5 785.69 A8.02422 2.70871
> + -180 0 0 108.16 788.62 A30.5319
> 10.3066 -180 0 0 137.48 784.34 A18.9723 6.40442 -180 0 0 158.14 780.29
> A29.3596
> + 9.20857 -176.98 0 0 145.63 771.6
> A100.331 31.9328 -2.78 0 0 166.47 763.04 A42.3527 12.6007 -180 0 0 144.52
> + 751.5 A25.2977 7.52648 -180 0 0 96.13
> 755.1 A21.4707 5.9338 -1.58 0 0 59.81 755.43 A30.834 8.86245 -178.72
> + 0 0 20.52 767.7 A24.6202 7.32494 -180
> 0 0 23.93 782.24 Z" class="st17"/>
> + <text x="53.23" y="773.7" class="st15"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>WAN/LAN</text>
> </g>
> + <g id="shape11-85" v:mID="11" v:groupContext="shape"
> transform="translate(236.25,-472.5)">
> + <title>Rounded rectangle.11</title>
> + <desc>TEP</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="54" cy="774" width="108" height="36"/>
> + <g id="shadow11-86" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M99 792 A9.00007 9.00007 -180 0 0 108 783
> L108 765 A9.00007 9.00007 -180 0 0 99 756 L9 756 A9.00007 9.00007
> + -180 0 0 0 765 L0 783 A9.00007
> 9.00007 -180 0 0 9 792 L99 792 Z" class="st2"/>
> + </g>
> + <path d="M99 792 A9.00007 9.00007 -180 0 0 108 783 L108
> 765 A9.00007 9.00007 -180 0 0 99 756 L9 756 A9.00007 9.00007
> + -180 0 0 0 765 L0 783 A9.00007
> 9.00007 -180 0 0 9 792 L99 792 Z" class="st18"/>
> + <text x="44.91" y="777.6" class="st13"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>
> </g>
> + <g id="shape36-90" v:mID="36" v:groupContext="shape"
> transform="translate(117,-571.5)">
> + <title>Rectangle.18.36</title>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(15):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <g id="shadow36-91" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="688.5" width="342" height="103.5"
> class="st2"/>
> + </g>
> + <rect x="0" y="688.5" width="342" height="103.5"
> class="st19"/>
> + </g>
> + <g id="shape5-94" v:mID="5" v:groupContext="shape"
> transform="translate(306,-594)">
> + <title>Rounded rectangle.5</title>
> + <desc>VM-2 (VNID:200)</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="61.3125" cy="765" width="122.63"
> height="54"/>
> + <g id="shadow5-95" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M113.62 792 A9.00007 9.00007 -180 0 0
> 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738
> + A9.00007 9.00007 -180 0 0 0 747
> L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st2"/>
> + </g>
> + <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63
> 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 A9.00007
> + 9.00007 -180 0 0 0 747 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st9"/>
> + <text x="16.93" y="769.2" class="st20"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan
> class="st8"
> + v:langID="1033">-</tspan>2 (<tspan
> class="st21">VNID</tspan><tspan class="st21">:</tspan><tspan
> + class="st21">200</tspan><tspan
> class="st21">)</tspan></text> </g>
> + <g id="shape3-104" v:mID="3" v:groupContext="shape"
> transform="translate(135,-594)">
> + <title>Rounded rectangle</title>
> + <desc>VM-1 (VNID: 100)</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="61.3125" cy="765" width="122.63"
> height="54"/>
> + <g id="shadow3-105" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M113.62 792 A9.00007 9.00007 -180 0 0
> 122.63 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738
> + A9.00007 9.00007 -180 0 0 0 747
> L0 783 A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st2"/>
> + </g>
> + <path d="M113.62 792 A9.00007 9.00007 -180 0 0 122.63
> 783 L122.62 747 A9.00007 9.00007 -180 0 0 113.62 738 L9 738 A9.00007
> + 9.00007 -180 0 0 0 747 L0 783
> A9.00007 9.00007 -180 0 0 9 792 L113.62 792 Z" class="st9"/>
> + <text x="15.58" y="769.2" class="st20"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan
> class="st8"
> + v:langID="1033">-</tspan>1 (<tspan
> class="st21">VNID</tspan><tspan class="st21">: </tspan><tspan
> + class="st21">100</tspan><tspan
> class="st21">)</tspan></text> </g>
> + <g id="shape23-114" v:mID="23" v:groupContext="shape"
> transform="translate(624.813,-477.284) rotate(30.3791)">
> + <title>Process boundary.23</title>
> + <v:userDefs>
> + <v:ud v:nameU="CH" v:val="VT0(5):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + </v:userDefs>
> + <rect x="0" y="789.165" width="75.6348" height="2.83465"
> class="st22"/>
> + </g>
> + <g id="shape22-116" v:mID="22" v:groupContext="shape"
> transform="translate(412.466,-548.055) rotate(17.7839)">
> + <title>Process boundary</title>
> + <v:userDefs>
> + <v:ud v:nameU="CH" v:val="VT0(5):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + </v:userDefs>
> + <rect x="0" y="789.165" width="125.234" height="2.83465"
> class="st22"/>
> + </g>
> + <g id="shape24-118" v:mID="24" v:groupContext="shape"
> transform="translate(670.892,944.318) rotate(159.305)">
> + <title>Process boundary.24</title>
> + <v:userDefs>
> + <v:ud v:nameU="CH" v:val="VT0(5):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + </v:userDefs>
> + <rect x="0" y="789.165" width="108.234" height="2.83465"
> class="st22"/>
> + </g>
> + <g id="shape25-120" v:mID="25" v:groupContext="shape"
> transform="translate(828.973,824.895) rotate(141.667)">
> + <title>Process boundary.25</title>
> + <v:userDefs>
> + <v:ud v:nameU="CH" v:val="VT0(5):26"/>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + </v:userDefs>
> + <rect x="0" y="789.165" width="61.6701" height="2.83465"
> class="st22"/>
> + </g>
> + <g id="shape4-122" v:mID="4" v:groupContext="shape"
> transform="translate(148.5,-587.25)">
> + <title>Rectangle</title>
> + <desc>vport-0</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="22.5" cy="784.125" width="45"
> height="15.75"/>
> + <g id="shadow4-123" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="776.25" width="45" height="15.75"
> class="st2"/>
> + </g>
> + <rect x="0" y="776.25" width="45" height="15.75"
> class="st23"/>
> + <text x="7.5" y="787.13" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st8"
> + v:langID="2052">port</tspan><tspan
> class="st8" v:langID="2052">-</tspan><tspan class="st8"
> v:langID="2052">0</tspan></text> </g>
> + <g id="shape2-130" v:mID="2" v:groupContext="shape"
> transform="translate(202.5,-587.25)">
> + <title>Rectangle.2</title>
> + <desc>vport-1</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="22.5" cy="784.125" width="45"
> height="15.75"/>
> + <g id="shadow2-131" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="776.25" width="45" height="15.75"
> class="st2"/>
> + </g>
> + <rect x="0" y="776.25" width="45" height="15.75"
> class="st23"/>
> + <text x="7.5" y="787.13" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st8"
> + v:langID="2052">port</tspan><tspan
> class="st8" v:langID="2052">-</tspan><tspan class="st8"
> v:langID="2052">1</tspan></text> </g>
> + <g id="shape6-138" v:mID="6" v:groupContext="shape"
> transform="translate(317.25,-587.25)">
> + <title>Rectangle.6</title>
> + <desc>vport-0</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="21.375" cy="784.125" width="42.75"
> height="15.75"/>
> + <g id="shadow6-139" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="776.25" width="42.75"
> height="15.75" class="st2"/>
> + </g>
> + <rect x="0" y="776.25" width="42.75" height="15.75"
> class="st23"/>
> + <text x="6.37" y="787.13" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st8"
> + v:langID="2052">port</tspan><tspan
> class="st8" v:langID="2052">-</tspan><tspan class="st8"
> v:langID="2052">0</tspan></text> </g>
> + <g id="shape7-146" v:mID="7" v:groupContext="shape"
> transform="translate(369,-587.25)">
> + <title>Rectangle.7</title>
> + <desc>vport-1</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="22.5" cy="784.125" width="45"
> height="15.75"/>
> + <g id="shadow7-147" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <rect x="0" y="776.25" width="45" height="15.75"
> class="st2"/>
> + </g>
> + <rect x="0" y="776.25" width="45" height="15.75"
> class="st23"/>
> + <text x="7.5" y="787.13" class="st7"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st8"
> + v:langID="2052">port</tspan><tspan
> class="st8" v:langID="2052">-</tspan><tspan class="st8"
> v:langID="2052">1</tspan></text> </g>
> + <g id="shape37-154" v:mID="37" v:groupContext="shape"
> transform="translate(234,-648)">
> + <title>Sheet.37</title>
> + <desc>Guest</desc>
> + <v:userDefs>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="54" cy="783" width="108" height="18"/>
> + <rect x="0" y="774" width="108" height="18"
> class="st12"/>
> + <text x="39.46" y="786.6" class="st13"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Guest</text>
> </g>
> + <g id="shape38-157" v:mID="38" v:groupContext="shape"
> transform="translate(324,-357.75)">
> + <title>Rounded rectangle.38</title>
> + <desc>TSO offload</desc>
> + <v:userDefs>
> + <v:ud v:nameU="visVersion" v:val="VT0(14):26"/>
> + <v:ud v:nameU="msvThemeColors" v:val="VT0(36):26"/>
> + <v:ud v:nameU="msvThemeEffects"
> v:val="VT0(16):26"/>
> + </v:userDefs>
> + <v:textBlock v:margins="rect(4,4,4,4)"/>
> + <v:textRect cx="36" cy="785.25" width="72"
> height="13.5"/>
> + <g id="shadow38-158" v:groupContext="shadow"
> v:shadowOffsetX="1.44" v:shadowOffsetY="-1.44" v:shadowType="1"
> + transform="matrix(1,0,0,1,1.44,1.44)"
> class="st1">
> + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72
> 785.25 A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005
> + 6.75005 -180 0 0 0 785.25
> A6.75005 6.75005 -180 0 0 6.75 792 L65.25 792 Z" class="st2"/>
> + </g>
> + <path d="M65.25 792 A6.75005 6.75005 -180 0 0 72 785.25
> A6.75005 6.75005 -180 0 0 65.25 778.5 L6.75 778.5 A6.75005 6.75005
> + -180 0 0 0 785.25 A6.75005 6.75005 -
> 180 0 0 6.75 792 L65.25 792 Z" class="st6"/>
> + <text x="12.33" y="788.25" class="st7"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TSO
> offload</text> </g>
> + </g>
> +</svg>
> diff --git a/doc/guides/sample_app_ug/index.rst
> b/doc/guides/sample_app_ug/index.rst
> index e1a0c56..63434ed 100644
> --- a/doc/guides/sample_app_ug/index.rst
> +++ b/doc/guides/sample_app_ug/index.rst
> @@ -71,6 +71,7 @@ Sample Applications User Guide
> test_pipeline
> dist_app
> vm_power_management
> + tep_termination
>
> **Figures**
>
> @@ -131,6 +132,8 @@ Sample Applications User Guide
> :numref:`figure_vm_power_mgr_highlevel` :ref:`figure_vm_power_mgr_highlev
> el`
>
> :numref:`figure_vm_power_mgr_vm_request_seq` :ref:`figure_vm_power_mgr_vm
> _request_seq`
> +:numref:`figure_overlay_networking` :ref:`figure_overlay_networking`
> +:numref:`figure_tep_termination_arch` :ref:`figure_tep_termination_arch`
>
> **Tables**
>
> diff --git a/doc/guides/sample_app_ug/tep_termination.rst
> b/doc/guides/sample_app_ug/tep_termination.rst
> new file mode 100644
> index 0000000..86df8f8
> --- /dev/null
> +++ b/doc/guides/sample_app_ug/tep_termination.rst
> @@ -0,0 +1,321 @@
> +
> +.. BSD LICENSE
> + Copyright(c) 2010-2015 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.
> +
> +
> +TEP termination Sample Application
> +========================
> +
> +The TEP (Tunnel End point) termination sample application simulates a
> VXLAN Tunnel Endpoint (VTEP) termination in DPDK, which is used to
> +demonstrate the offload and filtering capabilities of Intel® XL710 10/40
> Gigabit Ethernet Controller for VXLAN packet.
> +This sample uses the basic virtio devices management mechanism from vhost
> example, and also uses the us-vHost interface and
> +tunnel filtering mechanism to direct a specified traffic to a specific VM.
> +In addition, this sample is also designed to show how tunneling protocols
> can be handled.
> +
> +Background
> +----------
> +With virtualization, overlay networks allow a network structure to be
> built or imposed across physical nodes which
> +is abstracted away from the actual underlining physical network
> connections. This allows network isolation, QOS, etc
> +to be provided on a per client basis.
> +
> +.. _figure_overlay_networking:
> +
> +.. figure:: img/overlay_networking.*
> +
> + Overlay Networking.
> +
> +In a typical setup, the network overlay tunnel is terminated at the
> Virtual/Tunnel End Point (VEP/TEP).
> +The TEP is normally located at the physical host level ideally in the
> software switch. Due to processing constraints and
> +the inevitable bottleneck that the switch becomes the ability to offload
> overlay support features becomes an important requirement.
> +Intel® XL710 10/40 G Ethernet network card provides hardware filtering
> and offload capabilities to support overlay networks
> +implementations such as MAC in UDP and MAC in GRE.
> +
> +Sample Code Overview
> +--------------------
> +
> +The DPDK TEP termination sample code demonstrates the offload and
> filtering capabilities of Intel® XL710 10/40 Gigabit Ethernet
> +Controller for VXLAN packet.
> +
> +The sample code is based on vhost library. The vhost library is developed
> for user space Ethernet switch to
> +easily integrate with vhost functionality.
> +
> +The sample will support the followings:
> +
> +* Tunneling packet recognition.
> +
> +* The port of UDP tunneling is configurable
> +
> +* Directing incoming traffic to the correct queue based on the tunnel
> filter type.
> + The supported filter type are listed below.
> +
> + * Inner MAC and VLAN and tenant ID
> +
> + * Inner MAC and tenant ID, and Outer MAC
> +
> + * Inner MAC and tenant ID
> +
> + The tenant ID will be assigned from a static internal table based on
> the us-vhost device ID.
> + Each device will receive a unique device ID. The inner MAC will be
> learned by the first packet transmitted from a device.
> +
> +* Decapsulation of RX VXLAN traffic. This is a software only operation.
> +
> +* Encapsulation of TX VXLAN traffic. This is a software only operation.
> +
> +* Inner IP and inner L4 checksum offload.
> +
> +* TSO offload support for tunneling packet.
> +
> +The following figure shows the framework of the TEP termination sample
> application based on vhost-cuse.
> +
> +.. _figure_tep_termination_arch:
> +
> +.. figure:: img/tep_termination_arch.*
> +
> + TEP termination Framework Overview
> +
> +Supported Distributions
> +-----------------------
> +
> +The example in this section have been validated with the following
> distributions:
> +
> +* Fedora* 18
> +
> +* Fedora* 19
> +
> +* Fedora* 20
> +
> +Prerequisites
> +-------------
> +
> +Refer to the guide in section 27.4 in the vhost sample.
> +
> +Compiling the Sample Code
> +-------------------------
> +#. Compile vhost lib:
> +
> + To enable vhost, turn on vhost library in the configure file
> config/common_linuxapp.
> +
> + .. code-block:: console
> +
> + CONFIG_RTE_LIBRTE_VHOST=n
> +
> + vhost user is turned on by default in the configure file
> config/common_linuxapp.
> + To enable vhost cuse, disable vhost user.
> +
> + .. code-block:: console
> +
> + CONFIG_RTE_LIBRTE_VHOST_USER=y
> +
> + After vhost is enabled and the implementation is selected, build the
> vhost library.
> +
> +#. Go to the examples directory:
> +
> + .. code-block:: console
> +
> + export RTE_SDK=/path/to/rte_sdk
> + cd ${RTE_SDK}/examples/tep_termination
> +
> +#. Set the target (a default target is used if not specified). For
> example:
> +
> + .. code-block:: console
> +
> + export RTE_TARGET=x86_64-native-linuxapp-gcc
> +
> + See the DPDK Getting Started Guide for possible RTE_TARGET values.
> +
> +#. Build the application:
> +
> + .. code-block:: console
> +
> + cd ${RTE_SDK}
> + make config ${RTE_TARGET}
> + make install ${RTE_TARGET}
> + cd ${RTE_SDK}/examples/tep_termination
> + make
> +
> +#. Go to the eventfd_link directory(vhost cuse required):
> +
> + .. code-block:: console
> +
> + cd ${RTE_SDK}/lib/librte_vhost/eventfd_link
> +
> +#. Build the eventfd_link kernel module(vhost cuse required):
> +
> + .. code-block:: console
> +
> + make
> +
> +Running the Sample Code
> +-----------------------
> +
> +#. Install the cuse kernel module(vhost cuse required):
> +
> + .. code-block:: console
> +
> + modprobe cuse
> +
> +#. Go to the eventfd_link directory(vhost cuse required):
> +
> + .. code-block:: console
> +
> + export RTE_SDK=/path/to/rte_sdk
> + cd ${RTE_SDK}/lib/librte_vhost/eventfd_link
> +
> +#. Install the eventfd_link module(vhost cuse required):
> +
> + .. code-block:: console
> +
> + insmod ./eventfd_link.ko
> +
> +#. Go to the examples directory:
> +
> + .. code-block:: console
> +
> + export RTE_SDK=/path/to/rte_sdk
> + cd ${RTE_SDK}/examples/tep_termination
> +
> +#. Run the tep_termination sample code:
> +
> + .. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + -p 0x1 --dev-basename tep-termination --nb-
> devices 4
> + --udp-port 4789 --filter-type 1
> +
> +.. note::
> +
> + Please note the huge-dir parameter instructs the DPDK to allocate its
> memory from the 2 MB page hugetlbfs.
> +
> +Parameters
> +~~~~~~~~~~
> +
> +**The same parameters with the vhost sample.**
> +
> +Refer to the guide in section 27.6.1 in the vhost sample for the meanings
> of 'Basename',
> +'Stats', 'RX Retry', 'RX Retry Number' and 'RX Retry Delay Time'.
> +
> +**Number of Devices.**
> +
> +The nb-devices option specifies the number of virtIO device.
> +The default value is 2.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --nb-devices 2
> +
> +**Tunneling UDP port.**
> +
> +The udp-port option is used to specify the destination UDP number for UDP
> tunneling packet.
> +The default value is 4789.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --nb-devices 2 --udp-port 4789
> +
> +**Filter Type.**
> +
> +The filter-type option is used to specify which filter type is used to
> filter UDP tunneling packet to a specified queue.
> +The default value is 1, which means the filter type of inner MAC and
> tenant ID is used.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --nb-devices 2 --udp-port 4789 --filter-type 1
> +
> +**TX Checksum.**
> +
> +The tx-checksum option is used to enable or disable the inner header
> checksum offload.
> +The default value is 0, which means the checksum offload is disabled.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --nb-devices 2 --tx-checksum
> +
> +**TCP segment sise.**
> +
> +The tso-segsz option specifies the TCP segment size for TSO offload for
> tunneling packet.
> +The default value is 0, which means TSO offload is disabled.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --tx-checksum --tso-segsz 800
> +
> +**Decapsulation option.**
> +
> +The decap option is used to enable or disable decapsulation operation for
> received VXLAN packet.
> +The default value is 1.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --nb-devices 4 --udp-port 4789 --decap 1
> +
> +**Encapsulation option.**
> +
> +The encap option is used to enable or disable encapsulation operation for
> transmitted packet.
> +The default value is 1.
> +
> +.. code-block:: console
> +
> + user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge --
> + --nb-devices 4 --udp-port 4789 --encap 1
> +
> +
> +Running the Virtual Machine (QEMU)
> +----------------------------------
> +
> +Refer to the guide in section 27.7 in the vhost sample.
> +
> +Running DPDK in the Virtual Machine
> +-----------------------------------
> +
> +Refer to the guide in section 27.8 in the vHost sample.
> +
> +Passing Traffic to the Virtual Machine Device
> +---------------------------------------------
> +
> +For a virtio-net device to receive traffic, the traffic's Layer 2 header
> must include
> +both the virtio-net device's MAC address.
> +The DPDK sample code behaves in a similar manner to a learning switch in
> that
> +it learns the MAC address of the virtio-net devices from the first
> transmitted packet.
> +On learning the MAC address,
> +the DPDK vhost sample code prints a message with the MAC address and
> tenant ID virtio-net device.
> +For example:
> +
> +.. code-block:: console
> +
> + DATA: (0) MAC_ADDRESS cc:bb:bb:bb:bb:bb and VNI 1000 registered
> +
> +The above message indicates that device 0 has been registered with MAC
> address cc:bb:bb:bb:bb:bb and VNI 1000.
> +Any packets received on the NIC with these values are placed on the
> devices receive queue.
> --
Acked-by: Marvin Liu <yong.liu@intel.com>
> 1.7.7.6
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide
2015-07-03 6:58 [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide Jijiang Liu
2015-07-03 8:53 ` Liu, Yong
@ 2015-07-27 22:28 ` Thomas Monjalon
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2015-07-27 22:28 UTC (permalink / raw)
To: Jijiang Liu; +Cc: dev
2015-07-03 14:58, Jijiang Liu:
> Add a VXLAN sample guide in the sample_app_ug directory.
>
> It includes:
>
> - Add the overlay networking picture with svg format.
>
> - Add the TEP termination framework picture with svg format.
>
> - Add the tep_termination.rst file
>
> - Change the index.rst file for the above pictures index.
>
> Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
> Signed-off-by: Thomas Long <thomas.long@intel.com>
>
> v2 changes:
> optimize the two pictures
> add tep_termination index in index.rst file
> fix a typo and a command line
>
> Acked-by: Marvin Liu <yong.liu@intel.com>
To avoid big margins around pictures, SVG files have been resized to content.
The RST file have been wrapped.
Applied, thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-07-27 22:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-03 6:58 [dpdk-dev] [PATCH v2] doc/sample_app_ug:add a VXLAN sample guide Jijiang Liu
2015-07-03 8:53 ` Liu, Yong
2015-07-03 9:20 ` Thomas Monjalon
2015-07-27 22:28 ` Thomas Monjalon
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).