DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide
@ 2015-06-25  3:08 Jijiang Liu
  2015-07-02  3:46 ` Liu, Yong
  0 siblings, 1 reply; 4+ messages in thread
From: Jijiang Liu @ 2015-06-25  3:08 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>

---
 .../sample_app_ug/img/overlay_networking.svg       |  820 ++++++++++++++++++++
 .../sample_app_ug/img/tep_termination_arch.svg     |  551 +++++++++++++
 doc/guides/sample_app_ug/index.rst                 |    2 +
 doc/guides/sample_app_ug/tep_termination.rst       |  319 ++++++++
 4 files changed, 1692 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..e16b5ac
--- /dev/null
+++ b/doc/guides/sample_app_ug/img/overlay_networking.svg
@@ -0,0 +1,820 @@
+<?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="st31">
+	<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-234);stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st27 {fill:#000000;font-family:Calibri;font-size:0.916672em}
+		.st28 {font-size:1em}
+		.st29 {fill:url(#grad0-261)}
+		.st30 {stroke:#7030a0;stroke-linecap:round;stroke-linejoin:round;stroke-width:1}
+		.st31 {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-234" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(270 0.5 0.5)">
+			<stop offset="0" stop-color="#c1ce9b" stop-opacity="1"/>
+			<stop offset="1" stop-color="#b3c283" stop-opacity="1"/>
+		</linearGradient>
+		<linearGradient id="grad0-261" 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="shape12-229" v:mID="12" v:groupContext="shape" transform="translate(-613.688,282.488) rotate(-90)">
+			<title>Box</title>
+			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
+			<v:textRect cx="39.4875" cy="784.688" width="78.98" height="14.625"/>
+			<g id="shadow12-230" 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="777.375" width="78.975" height="14.625" class="st5"/>
+			</g>
+			<rect x="0" y="777.375" width="78.975" height="14.625" class="st26"/>
+			<text x="50.2" y="71.636em" writing-mode="tb-rl" class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
+						v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37" y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
+						x="23.8" y="71.636em" class="st28">P</tspan><v:newlineChar/> </text>		</g>
+		<g id="shape65-238" v:mID="65" v:groupContext="shape" transform="translate(-606.375,480.488) rotate(-90)">
+			<title>Box.65</title>
+			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
+			<v:textRect cx="39.4875" cy="784.688" width="78.98" height="14.625"/>
+			<g id="shadow65-239" 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="777.375" width="78.975" height="14.625" class="st5"/>
+			</g>
+			<rect x="0" y="777.375" width="78.975" height="14.625" class="st26"/>
+			<text x="50.2" y="71.636em" writing-mode="tb-rl" class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
+						v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37" y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
+						x="23.8" y="71.636em" class="st28">P</tspan><v:newlineChar/> </text>		</g>
+		<g id="shape68-246" 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="shape67-250" v:mID="67" v:groupContext="shape" transform="translate(-361.688,282.488) rotate(-90)">
+			<title>Box.67</title>
+			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
+			<v:textRect cx="39.4875" cy="784.688" width="78.98" height="14.625"/>
+			<g id="shadow67-251" 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="777.375" width="78.975" height="14.625" class="st5"/>
+			</g>
+			<rect x="0" y="777.375" width="78.975" height="14.625" class="st26"/>
+			<text x="50.2" y="71.636em" writing-mode="tb-rl" class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
+						v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37" y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
+						x="23.8" y="71.636em" class="st28">P</tspan><v:newlineChar/> </text>		</g>
+		<g id="shape70-258" 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="st29"/>
+			<path d="M1.04 787.51 A98.7059 98.7059 0 0 1 192.26 787.51" class="st30"/>
+			<path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99 L1.04 787.51" class="st30"/>
+			<path d="M192.26 787.51 L190.01 788.03 L193.3 792 L194.5 786.99 L192.26 787.51" class="st30"/>
+		</g>
+		<g id="shape69-265" v:mID="69" v:groupContext="shape" transform="translate(-370.688,468) rotate(-90)">
+			<title>Box.69</title>
+			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
+			<v:textRect cx="39.4875" cy="784.688" width="78.98" height="14.625"/>
+			<g id="shadow69-266" 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="777.375" width="78.975" height="14.625" class="st5"/>
+			</g>
+			<rect x="0" y="777.375" width="78.975" height="14.625" class="st26"/>
+			<text x="50.2" y="71.636em" writing-mode="tb-rl" class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
+						v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37" y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
+						x="23.8" y="71.636em" class="st28">P</tspan><v:newlineChar/> </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..8fd6704
--- /dev/null
+++ b/doc/guides/sample_app_ug/img/tep_termination_arch.svg
@@ -0,0 +1,551 @@
+<?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 tep_termination_arch.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="st26">
+	<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 {font-size:1em}
+		.st7 {fill:#92d050;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st8 {fill:#000000;font-family:Calibri;font-size:0.833336em}
+		.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:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke-dasharray:3.75,2.25;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.5}
+		.st13 {fill:#92d050;stroke:#404040;stroke-dasharray:3.75,2.25;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st14 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st15 {fill:#000000;font-family:Calibri;font-size:1.00001em;font-weight:bold}
+		.st16 {fill:#000000;font-family:Calibri;font-size:1.00001em}
+		.st17 {fill:#000000;font-family:Calibri;font-size:1.16666em;font-weight:bold}
+		.st18 {fill:url(#grad0-78);stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st19 {fill:url(#grad0-89);stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st20 {fill:#f2c096;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st21 {fill:#e1ebf3;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st22 {fill:#000000;font-family:Calibri;font-size:1.16666em}
+		.st23 {font-size:0.857157em}
+		.st24 {fill:#d26d19;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
+		.st25 {fill:#a6c3dd;stroke:#404040;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.25}
+		.st26 {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-78" 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-89" 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-29" 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(220.5,-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="67.5" cy="778.5" width="135" 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="M126 792 A9.00007 9.00007 -180 0 0 135 783 L135 774 A9.00007 9.00007 -180 0 0 126 765 L9 765 A9.00007 9.00007
+							 -180 0 0 0 774 L0 783 A9.00007 9.00007 -180 0 0 9 792 L126 792 Z" class="st2"/>
+			</g>
+			<path d="M126 792 A9.00007 9.00007 -180 0 0 135 783 L135 774 A9.00007 9.00007 -180 0 0 126 765 L9 765 A9.00007 9.00007
+						 -180 0 0 0 774 L0 783 A9.00007 9.00007 -180 0 0 9 792 L126 792 Z" class="st4"/>
+			<text x="29.56" y="775.2" class="st5" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Userspace Vhost<v:newlineChar/><tspan
+						x="46.93" dy="1.2em" class="st6">Interface </tspan> </text>		</g>
+		<g id="shape12-11" 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-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="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="st7"/>
+			<text x="16.58" y="788.25" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Encapsulation</text>		</g>
+		<g id="shape13-16" 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-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="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="st7"/>
+			<text x="8.22" y="788.25" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>D<tspan class="st6"
+						v:langID="2052">ecap</tspan>sulation</text>		</g>
+		<g id="shape35-22" 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-23" 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-26" 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-30" 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-31" 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="st7"/>
+			<text x="8.27" y="788.25" class="st8" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4 checksum offload</text>		</g>
+		<g id="shape17-35" 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-36" 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="st7"/>
+			<text x="6.93" y="788.25" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP port configuration</text>		</g>
+		<g id="shape18-40" 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-41" 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="st7"/>
+			<text x="6.66" y="788.25" class="st8" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4<tspan
+						class="st6" v:langID="1033"> </tspan><tspan class="st6" v:langID="1033">csum</tspan> verify</text>		</g>
+		<g id="shape19-47" v:mID="19" v:groupContext="shape" transform="translate(144,-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-48" 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="st7"/>
+			<text x="18.29" y="788.25" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Tunnel <tspan
+						class="st6" v:langID="2052"> </tspan>F<tspan class="st6" v:langID="2052">ilter</tspan></text>		</g>
+		<g id="shape20-54" v:mID="20" v:groupContext="shape" transform="translate(144,-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-55" 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="st7"/>
+			<text x="20.53" y="788.25" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Packet Type</text>		</g>
+		<g id="shape21-59" v:mID="21" v:groupContext="shape" transform="translate(324,-362.25)">
+			<title>Rounded rectangle.21</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="45" cy="785.25" width="90" height="13.5"/>
+			<g id="shadow21-60" 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="st12"/>
+			</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="st13"/>
+			<text x="21.33" y="788.25" class="st8" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TSO offload</text>		</g>
+		<g id="shape27-64" 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="st14"/>
+			<text x="10.11" y="786.6" class="st15" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>DPDK Application</text>		</g>
+		<g id="shape26-67" 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="st14"/>
+			<text x="10.51" y="782.1" class="st16" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VXLAN Tunnel</text>		</g>
+		<g id="shape28-70" 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="st14"/>
+			<text x="36.4" y="787.2" class="st17" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>NIC</text>		</g>
+		<g id="shape29-73" 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-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="st18"/>
+		</g>
+		<g id="shape30-79" 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-80" 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="st18"/>
+		</g>
+		<g id="shape14-84" 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-85" 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="st19"/>
+			<text x="53.23" y="773.7" class="st17" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>WAN/LAN</text>		</g>
+		<g id="shape11-91" 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-92" 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="st20"/>
+			<text x="44.91" y="777.6" class="st15" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>		</g>
+		<g id="shape36-96" 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-97" 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="st21"/>
+		</g>
+		<g id="shape5-100" v:mID="5" v:groupContext="shape" transform="translate(306,-594)">
+			<title>Rounded rectangle.5</title>
+			<desc>VM-2 VNI: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-101" 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="45.67" y="760.8" class="st22" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan class="st6"
+						v:langID="1033">-</tspan>2<v:newlineChar/><tspan x="41.79" dy="1.4em" class="st23">VNI</tspan><tspan
+						class="st23">:</tspan><tspan class="st23">200</tspan></text>		</g>
+		<g id="shape3-109" v:mID="3" v:groupContext="shape" transform="translate(135,-594)">
+			<title>Rounded rectangle</title>
+			<desc>VM-1 VNI: 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-110" 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="45.67" y="760.8" class="st22" v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan class="st6"
+						v:langID="1033">-</tspan>1<v:newlineChar/><tspan x="40.44" dy="1.4em" class="st23">VNI</tspan><tspan
+						class="st23">: </tspan><tspan class="st23">100</tspan></text>		</g>
+		<g id="shape23-118" v:mID="23" v:groupContext="shape" transform="translate(635.295,-471.03) rotate(31.2637)">
+			<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="73.7025" height="2.83465" class="st24"/>
+		</g>
+		<g id="shape22-120" v:mID="22" v:groupContext="shape" transform="translate(416.665,-546.695) rotate(18.1038)">
+			<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="123.094" height="2.83465" class="st24"/>
+		</g>
+		<g id="shape24-122" v:mID="24" v:groupContext="shape" transform="translate(665.556,946.312) rotate(159.717)">
+			<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="110.342" height="2.83465" class="st24"/>
+		</g>
+		<g id="shape25-124" v:mID="25" v:groupContext="shape" transform="translate(815.214,835.53) rotate(142.927)">
+			<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="63.4504" height="2.83465" class="st24"/>
+		</g>
+		<g id="shape4-126" 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-127" 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="st25"/>
+			<text x="7.5" y="787.13" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st6"
+						v:langID="2052">port</tspan><tspan class="st6" v:langID="2052">-</tspan><tspan class="st6" v:langID="2052">0</tspan></text>		</g>
+		<g id="shape2-134" 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-135" 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="st25"/>
+			<text x="7.5" y="787.13" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st6"
+						v:langID="2052">port</tspan><tspan class="st6" v:langID="2052">-</tspan><tspan class="st6" v:langID="2052">1</tspan></text>		</g>
+		<g id="shape6-142" 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-143" 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="st25"/>
+			<text x="6.37" y="787.13" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st6"
+						v:langID="2052">port</tspan><tspan class="st6" v:langID="2052">-</tspan><tspan class="st6" v:langID="2052">0</tspan></text>		</g>
+		<g id="shape7-150" 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-151" 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="st25"/>
+			<text x="7.5" y="787.13" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan class="st6"
+						v:langID="2052">port</tspan><tspan class="st6" v:langID="2052">-</tspan><tspan class="st6" v:langID="2052">1</tspan></text>		</g>
+		<g id="shape37-158" 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="st14"/>
+			<text x="39.46" y="786.6" class="st15" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Guest</text>		</g>
+	</g>
+</svg>
diff --git a/doc/guides/sample_app_ug/index.rst b/doc/guides/sample_app_ug/index.rst
index e1a0c56..8dc7ce2 100644
--- a/doc/guides/sample_app_ug/index.rst
+++ b/doc/guides/sample_app_ug/index.rst
@@ -131,6 +131,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..bd0cd5d
--- /dev/null
+++ b/doc/guides/sample_app_ug/tep_termination.rst
@@ -0,0 +1,319 @@
+
+..  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:
+
+    vhost cuse:
+
+    .. code-block:: console
+
+        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge -- -p 0x1 --dev-basename tep-termination 
+
+    vhost user: a socket file named usvhost will be created under current directory. Use its path as the socket path in guest's qemu commandline.
+
+    .. code-block:: console
+
+        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge -- -p 0x1 --dev-basename tep-termination 
+
+.. 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 transmited 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 is placed on the devices receive queue.
-- 
1.7.7.6

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

* Re: [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide
  2015-06-25  3:08 [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide Jijiang Liu
@ 2015-07-02  3:46 ` Liu, Yong
  2015-07-02  5:45   ` Liu, Jijiang
  0 siblings, 1 reply; 4+ messages in thread
From: Liu, Yong @ 2015-07-02  3:46 UTC (permalink / raw)
  To: Liu, Jijiang, dev

Hi Jijiang,
After build out dpdk doc, vxlan sample section not included in the contents of "Sample Applications User Guide".
And in chapter "Running the Sample Code", vhost cuse command look like no difference from vhost use command.
We may need to inform user that the difference between cuse and vhost is about qemu command line. 

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jijiang Liu
> Sent: Thursday, June 25, 2015 11:09 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] 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>
> 
> ---
>  .../sample_app_ug/img/overlay_networking.svg       |  820
> ++++++++++++++++++++
>  .../sample_app_ug/img/tep_termination_arch.svg     |  551 +++++++++++++
>  doc/guides/sample_app_ug/index.rst                 |    2 +
>  doc/guides/sample_app_ug/tep_termination.rst       |  319 ++++++++
>  4 files changed, 1692 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..e16b5ac
> --- /dev/null
> +++ b/doc/guides/sample_app_ug/img/overlay_networking.svg
> @@ -0,0 +1,820 @@
> +<?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="st31">
> +	<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-234);stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> +		.st27 {fill:#000000;font-family:Calibri;font-size:0.916672em}
> +		.st28 {font-size:1em}
> +		.st29 {fill:url(#grad0-261)}
> +		.st30 {stroke:#7030a0;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:1}
> +		.st31 {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-234" x1="0" y1="0" x2="1" y2="0"
> gradientTransform="rotate(270 0.5 0.5)">
> +			<stop offset="0" stop-color="#c1ce9b" stop-opacity="1"/>
> +			<stop offset="1" stop-color="#b3c283" stop-opacity="1"/>
> +		</linearGradient>
> +		<linearGradient id="grad0-261" 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="shape12-229" v:mID="12" v:groupContext="shape"
> transform="translate(-613.688,282.488) rotate(-90)">
> +			<title>Box</title>
> +			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
> +			<v:textRect cx="39.4875" cy="784.688" width="78.98"
> height="14.625"/>
> +			<g id="shadow12-230" 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="777.375" width="78.975"
> height="14.625" class="st5"/>
> +			</g>
> +			<rect x="0" y="777.375" width="78.975" height="14.625"
> class="st26"/>
> +			<text x="50.2" y="71.636em" writing-mode="tb-rl"
> class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
> +
> 	v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37"
> y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
> +						x="23.8" y="71.636em"
> class="st28">P</tspan><v:newlineChar/> </text>		</g>
> +		<g id="shape65-238" v:mID="65" v:groupContext="shape"
> transform="translate(-606.375,480.488) rotate(-90)">
> +			<title>Box.65</title>
> +			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
> +			<v:textRect cx="39.4875" cy="784.688" width="78.98"
> height="14.625"/>
> +			<g id="shadow65-239" 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="777.375" width="78.975"
> height="14.625" class="st5"/>
> +			</g>
> +			<rect x="0" y="777.375" width="78.975" height="14.625"
> class="st26"/>
> +			<text x="50.2" y="71.636em" writing-mode="tb-rl"
> class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
> +
> 	v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37"
> y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
> +						x="23.8" y="71.636em"
> class="st28">P</tspan><v:newlineChar/> </text>		</g>
> +		<g id="shape68-246" 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="shape67-250" v:mID="67" v:groupContext="shape"
> transform="translate(-361.688,282.488) rotate(-90)">
> +			<title>Box.67</title>
> +			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
> +			<v:textRect cx="39.4875" cy="784.688" width="78.98"
> height="14.625"/>
> +			<g id="shadow67-251" 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="777.375" width="78.975"
> height="14.625" class="st5"/>
> +			</g>
> +			<rect x="0" y="777.375" width="78.975" height="14.625"
> class="st26"/>
> +			<text x="50.2" y="71.636em" writing-mode="tb-rl"
> class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
> +
> 	v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37"
> y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
> +						x="23.8" y="71.636em"
> class="st28">P</tspan><v:newlineChar/> </text>		</g>
> +		<g id="shape70-258" 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="st29"/>
> +			<path d="M1.04 787.51 A98.7059 98.7059 0 0 1 192.26
> 787.51" class="st30"/>
> +			<path d="M1.04 787.51 L3.29 788.03 L0 792 L-1.2 786.99
> L1.04 787.51" class="st30"/>
> +			<path d="M192.26 787.51 L190.01 788.03 L193.3 792 L194.5
> 786.99 L192.26 787.51" class="st30"/>
> +		</g>
> +		<g id="shape69-265" v:mID="69" v:groupContext="shape"
> transform="translate(-370.688,468) rotate(-90)">
> +			<title>Box.69</title>
> +			<desc>T E P</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:verticalAlign="2" v:verticalText="true"/>
> +			<v:textRect cx="39.4875" cy="784.688" width="78.98"
> height="14.625"/>
> +			<g id="shadow69-266" 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="777.375" width="78.975"
> height="14.625" class="st5"/>
> +			</g>
> +			<rect x="0" y="777.375" width="78.975" height="14.625"
> class="st26"/>
> +			<text x="50.2" y="71.636em" writing-mode="tb-rl"
> class="st27" v:langID="2052"><v:paragraph v:indentLeft="36"
> +
> 	v:horizAlign="3"/><v:tabList/>T<v:newlineChar/><tspan x="37"
> y="71.636em" class="st28">E<v:newlineChar/></tspan><tspan
> +						x="23.8" y="71.636em"
> class="st28">P</tspan><v:newlineChar/> </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..8fd6704
> --- /dev/null
> +++ b/doc/guides/sample_app_ug/img/tep_termination_arch.svg
> @@ -0,0 +1,551 @@
> +<?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 tep_termination_arch.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="st26">
> +	<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 {font-size:1em}
> +		.st7 {fill:#92d050;stroke:#404040;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> +		.st8 {fill:#000000;font-family:Calibri;font-size:0.833336em}
> +		.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:#cdcdcd;fill-opacity:0.5;stroke:#cdcdcd;stroke-
> dasharray:3.75,2.25;stroke-linecap:round;stroke-linejoin:round;stroke-
> opacity:0.5}
> +		.st13 {fill:#92d050;stroke:#404040;stroke-
> dasharray:3.75,2.25;stroke-linecap:round;stroke-linejoin:round;stroke-
> width:0.25}
> +		.st14 {fill:none;stroke:none;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.25}
> +		.st15 {fill:#000000;font-family:Calibri;font-
> size:1.00001em;font-weight:bold}
> +		.st16 {fill:#000000;font-family:Calibri;font-size:1.00001em}
> +		.st17 {fill:#000000;font-family:Calibri;font-
> size:1.16666em;font-weight:bold}
> +		.st18 {fill:url(#grad0-78);stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> +		.st19 {fill:url(#grad0-89);stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> +		.st20 {fill:#f2c096;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> +		.st21 {fill:#e1ebf3;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> +		.st22 {fill:#000000;font-family:Calibri;font-size:1.16666em}
> +		.st23 {font-size:0.857157em}
> +		.st24 {fill:#d26d19;stroke:none;stroke-linecap:round;stroke-
> linejoin:round;stroke-width:0.75}
> +		.st25 {fill:#a6c3dd;stroke:#404040;stroke-
> linecap:round;stroke-linejoin:round;stroke-width:0.25}
> +		.st26 {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-78" 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-89" 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-29" 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(220.5,-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="67.5" cy="778.5" width="135"
> 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="M126 792 A9.00007 9.00007 -180 0 0 135
> 783 L135 774 A9.00007 9.00007 -180 0 0 126 765 L9 765 A9.00007 9.00007
> +							 -180 0 0 0 774 L0 783 A9.00007
> 9.00007 -180 0 0 9 792 L126 792 Z" class="st2"/>
> +			</g>
> +			<path d="M126 792 A9.00007 9.00007 -180 0 0 135 783 L135
> 774 A9.00007 9.00007 -180 0 0 126 765 L9 765 A9.00007 9.00007
> +						 -180 0 0 0 774 L0 783 A9.00007
> 9.00007 -180 0 0 9 792 L126 792 Z" class="st4"/>
> +			<text x="29.56" y="775.2" class="st5"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Userspace
> Vhost<v:newlineChar/><tspan
> +						x="46.93" dy="1.2em"
> class="st6">Interface </tspan> </text>		</g>
> +		<g id="shape12-11" 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-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="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="st7"/>
> +			<text x="16.58" y="788.25" class="st8"
> v:langID="1033"><v:paragraph
> v:horizAlign="1"/><v:tabList/>Encapsulation</text>		</g>
> +		<g id="shape13-16" 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-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="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="st7"/>
> +			<text x="8.22" y="788.25" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>D<tspan
> class="st6"
> +
> 	v:langID="2052">ecap</tspan>sulation</text>		</g>
> +		<g id="shape35-22" 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-23" 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-26" 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-30" 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-31" 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="st7"/>
> +			<text x="8.27" y="788.25" class="st8"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner IP/L4
> checksum offload</text>		</g>
> +		<g id="shape17-35" 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-36" 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="st7"/>
> +			<text x="6.93" y="788.25" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP port
> configuration</text>		</g>
> +		<g id="shape18-40" 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-41" 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="st7"/>
> +			<text x="6.66" y="788.25" class="st8"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>Inner
> IP/L4<tspan
> +						class="st6" v:langID="1033">
> </tspan><tspan class="st6" v:langID="1033">csum</tspan> verify</text>
> 	</g>
> +		<g id="shape19-47" v:mID="19" v:groupContext="shape"
> transform="translate(144,-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-48" 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="st7"/>
> +			<text x="18.29" y="788.25" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Tunnel <tspan
> +						class="st6" v:langID="2052">
> </tspan>F<tspan class="st6" v:langID="2052">ilter</tspan></text>
> 	</g>
> +		<g id="shape20-54" v:mID="20" v:groupContext="shape"
> transform="translate(144,-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-55" 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="st7"/>
> +			<text x="20.53" y="788.25" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Packet
> Type</text>		</g>
> +		<g id="shape21-59" v:mID="21" v:groupContext="shape"
> transform="translate(324,-362.25)">
> +			<title>Rounded rectangle.21</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="45" cy="785.25" width="90"
> height="13.5"/>
> +			<g id="shadow21-60" 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="st12"/>
> +			</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="st13"/>
> +			<text x="21.33" y="788.25" class="st8"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TSO
> offload</text>		</g>
> +		<g id="shape27-64" 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="st14"/>
> +			<text x="10.11" y="786.6" class="st15"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>DPDK
> Application</text>		</g>
> +		<g id="shape26-67" 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="st14"/>
> +			<text x="10.51" y="782.1" class="st16"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VXLAN
> Tunnel</text>		</g>
> +		<g id="shape28-70" 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="st14"/>
> +			<text x="36.4" y="787.2" class="st17"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>NIC</text>
> 	</g>
> +		<g id="shape29-73" 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-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="st18"/>
> +		</g>
> +		<g id="shape30-79" 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-80" 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="st18"/>
> +		</g>
> +		<g id="shape14-84" 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-85" 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="st19"/>
> +			<text x="53.23" y="773.7" class="st17"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>WAN/LAN</text>
> 		</g>
> +		<g id="shape11-91" 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-92" 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="st20"/>
> +			<text x="44.91" y="777.6" class="st15"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>TEP</text>
> 	</g>
> +		<g id="shape36-96" 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-97" 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="st21"/>
> +		</g>
> +		<g id="shape5-100" v:mID="5" v:groupContext="shape"
> transform="translate(306,-594)">
> +			<title>Rounded rectangle.5</title>
> +			<desc>VM-2 VNI: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-101" 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="45.67" y="760.8" class="st22"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan
> class="st6"
> +						v:langID="1033">-
> </tspan>2<v:newlineChar/><tspan x="41.79" dy="1.4em"
> class="st23">VNI</tspan><tspan
> +						class="st23">:</tspan><tspan
> class="st23">200</tspan></text>		</g>
> +		<g id="shape3-109" v:mID="3" v:groupContext="shape"
> transform="translate(135,-594)">
> +			<title>Rounded rectangle</title>
> +			<desc>VM-1 VNI: 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-110" 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="45.67" y="760.8" class="st22"
> v:langID="2052"><v:paragraph v:horizAlign="1"/><v:tabList/>VM<tspan
> class="st6"
> +						v:langID="1033">-
> </tspan>1<v:newlineChar/><tspan x="40.44" dy="1.4em"
> class="st23">VNI</tspan><tspan
> +						class="st23">: </tspan><tspan
> class="st23">100</tspan></text>		</g>
> +		<g id="shape23-118" v:mID="23" v:groupContext="shape"
> transform="translate(635.295,-471.03) rotate(31.2637)">
> +			<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="73.7025" height="2.83465"
> class="st24"/>
> +		</g>
> +		<g id="shape22-120" v:mID="22" v:groupContext="shape"
> transform="translate(416.665,-546.695) rotate(18.1038)">
> +			<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="123.094" height="2.83465"
> class="st24"/>
> +		</g>
> +		<g id="shape24-122" v:mID="24" v:groupContext="shape"
> transform="translate(665.556,946.312) rotate(159.717)">
> +			<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="110.342" height="2.83465"
> class="st24"/>
> +		</g>
> +		<g id="shape25-124" v:mID="25" v:groupContext="shape"
> transform="translate(815.214,835.53) rotate(142.927)">
> +			<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="63.4504" height="2.83465"
> class="st24"/>
> +		</g>
> +		<g id="shape4-126" 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-127" 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="st25"/>
> +			<text x="7.5" y="787.13" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st6"
> +						v:langID="2052">port</tspan><tspan
> class="st6" v:langID="2052">-</tspan><tspan class="st6"
> v:langID="2052">0</tspan></text>		</g>
> +		<g id="shape2-134" 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-135" 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="st25"/>
> +			<text x="7.5" y="787.13" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st6"
> +						v:langID="2052">port</tspan><tspan
> class="st6" v:langID="2052">-</tspan><tspan class="st6"
> v:langID="2052">1</tspan></text>		</g>
> +		<g id="shape6-142" 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-143" 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="st25"/>
> +			<text x="6.37" y="787.13" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st6"
> +						v:langID="2052">port</tspan><tspan
> class="st6" v:langID="2052">-</tspan><tspan class="st6"
> v:langID="2052">0</tspan></text>		</g>
> +		<g id="shape7-150" 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-151" 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="st25"/>
> +			<text x="7.5" y="787.13" class="st8"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>v<tspan
> class="st6"
> +						v:langID="2052">port</tspan><tspan
> class="st6" v:langID="2052">-</tspan><tspan class="st6"
> v:langID="2052">1</tspan></text>		</g>
> +		<g id="shape37-158" 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="st14"/>
> +			<text x="39.46" y="786.6" class="st15"
> v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Guest</text>
> 	</g>
> +	</g>
> +</svg>
> diff --git a/doc/guides/sample_app_ug/index.rst
> b/doc/guides/sample_app_ug/index.rst
> index e1a0c56..8dc7ce2 100644
> --- a/doc/guides/sample_app_ug/index.rst
> +++ b/doc/guides/sample_app_ug/index.rst
> @@ -131,6 +131,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..bd0cd5d
> --- /dev/null
> +++ b/doc/guides/sample_app_ug/tep_termination.rst
> @@ -0,0 +1,319 @@
> +
> +..  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:
> +
> +    vhost cuse:
> +
> +    .. code-block:: console
> +
> +        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge -- -p 0x1 --dev-basename tep-termination
> +
> +    vhost user: a socket file named usvhost will be created under current
> directory. Use its path as the socket path in guest's qemu commandline.
> +
> +    .. code-block:: console
> +
> +        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir
> /mnt/huge -- -p 0x1 --dev-basename tep-termination
> +
> +.. 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
> transmited 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 is placed on the
> devices receive queue.
> --
> 1.7.7.6


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

* Re: [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide
  2015-07-02  3:46 ` Liu, Yong
@ 2015-07-02  5:45   ` Liu, Jijiang
  0 siblings, 0 replies; 4+ messages in thread
From: Liu, Jijiang @ 2015-07-02  5:45 UTC (permalink / raw)
  To: Liu, Yong; +Cc: dev



> -----Original Message-----
> From: Liu, Yong
> Sent: Thursday, July 2, 2015 11:47 AM
> To: Liu, Jijiang; dev@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide
> 
> Hi Jijiang,
> After build out dpdk doc, vxlan sample section not included in the contents of
> "Sample Applications User Guide".
> And in chapter "Running the Sample Code", vhost cuse command look like no
> difference from vhost use command.
> We may need to inform user that the difference between cuse and vhost is
> about qemu command line.
> 

Thanks, will fix it in next version.

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

* [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide
@ 2015-06-23  8:12 Jijiang Liu
  0 siblings, 0 replies; 4+ messages in thread
From: Jijiang Liu @ 2015-06-23  8:12 UTC (permalink / raw)
  To: dev

Add a VXLAN sample guide in the sample_app_ug directory.

It includes:

   - overlay_networking picture with png format.

   - TEP termination framework picture with png format.

   - VXLAN sample guide description with rst format.

Signed-off-by: Jijiang Liu <jijiang.liu@intel.com>
---
 .../sample_app_ug/img/overlay_networking.png       |  Bin 0 -> 145926 bytes
 .../sample_app_ug/img/tep_termination_arch.png     |  Bin 0 -> 36270 bytes
 doc/guides/sample_app_ug/tep_termination.rst       |  319 ++++++++++++++++++++
 3 files changed, 319 insertions(+), 0 deletions(-)
 create mode 100644 doc/guides/sample_app_ug/img/overlay_networking.png
 create mode 100644 doc/guides/sample_app_ug/img/tep_termination_arch.png
 create mode 100644 doc/guides/sample_app_ug/tep_termination.rst

diff --git a/doc/guides/sample_app_ug/img/overlay_networking.png b/doc/guides/sample_app_ug/img/overlay_networking.png
new file mode 100644
index 0000000000000000000000000000000000000000..554eecd3e3000a4ae602bc700cdb373d6ec3a565
GIT binary patch
literal 145926
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
RvJ&9qk&{xAtO6Sc{tx6ysj>h7

literal 0
HcmV?d00001

diff --git a/doc/guides/sample_app_ug/img/tep_termination_arch.png b/doc/guides/sample_app_ug/img/tep_termination_arch.png
new file mode 100644
index 0000000000000000000000000000000000000000..57f2e13846b4d9b33a89a4d3fd4ed71895443d4a
GIT binary patch
literal 36270
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

literal 0
HcmV?d00001

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..bd0cd5d
--- /dev/null
+++ b/doc/guides/sample_app_ug/tep_termination.rst
@@ -0,0 +1,319 @@
+
+..  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:
+
+    vhost cuse:
+
+    .. code-block:: console
+
+        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge -- -p 0x1 --dev-basename tep-termination 
+
+    vhost user: a socket file named usvhost will be created under current directory. Use its path as the socket path in guest's qemu commandline.
+
+    .. code-block:: console
+
+        user@target:~$ ./build/app/tep_termination -c f -n 4 --huge-dir /mnt/huge -- -p 0x1 --dev-basename tep-termination 
+
+.. 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 transmited 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 is placed on the devices receive queue.
-- 
1.7.7.6

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

end of thread, other threads:[~2015-07-02  5:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-25  3:08 [dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide Jijiang Liu
2015-07-02  3:46 ` Liu, Yong
2015-07-02  5:45   ` Liu, Jijiang
  -- strict thread matches above, loose matches on Subject: below --
2015-06-23  8:12 Jijiang Liu

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