[dpdk-dev] [PATCH] doc/sample_app_ug:add a VXLAN sample guide

Liu, Yong yong.liu at intel.com
Thu Jul 2 05:46:34 CEST 2015


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 at dpdk.org] On Behalf Of Jijiang Liu
> Sent: Thursday, June 25, 2015 11:09 AM
> To: dev at 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 at intel.com>
> Signed-off-by: Thomas Long <thomas.long at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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



More information about the dev mailing list