1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 3<!-- Generated by Microsoft Visio, SVG Export zephyr_netstack_overview-rx sequence.svg RX sequence --> 4<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" 5 xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="6.76147in" height="8.31426in" 6 viewBox="0 0 486.826 598.627" xml:space="preserve" color-interpolation-filters="sRGB" class="st49"> 7 <v:documentProperties v:langID="1033" v:viewMarkup="false"> 8 <v:userDefs> 9 <v:ud v:nameU="msvSubprocessMaster" v:prompt="" v:val="VT4(Rectangle)"/> 10 <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/> 11 </v:userDefs> 12 </v:documentProperties> 13 14 <style type="text/css"> 15 <![CDATA[ 16 .st1 {fill:#deebf6;stroke:none;stroke-width:0.25} 17 .st2 {stroke:#c9c9c9;stroke-dasharray:1,2;stroke-linecap:round;stroke-linejoin:round;stroke-width:1} 18 .st3 {stroke:#ed7d31;stroke-linecap:round;stroke-linejoin:round;stroke-width:1} 19 .st4 {fill:#ffffff;stroke:#323849;stroke-width:0.75} 20 .st5 {visibility:visible} 21 .st6 {fill:#5b9bd5;fill-opacity:0.22;filter:url(#filter_2);stroke:#5b9bd5;stroke-opacity:0.22} 22 .st7 {fill:#deebf6;stroke:#323849;stroke-width:0.25} 23 .st8 {fill:#323849;font-family:Calibri;font-size:0.833336em} 24 .st9 {fill:#deebf6;fill-opacity:0.5;stroke:#323849;stroke-opacity:0.5;stroke-width:0.25} 25 .st10 {fill:#c9c9c9;font-family:Calibri;font-size:0.833336em} 26 .st11 {fill:#ffffff;stroke:#000000;stroke-width:0.75} 27 .st12 {fill:none;stroke:none;stroke-width:0.25} 28 .st13 {fill:#c9c9c9;font-family:Calibri;font-size:1.00001em} 29 .st14 {fill:#c9c9c9;font-family:Calibri;font-size:0.75em} 30 .st15 {fill:#deebf6;fill-opacity:0.5;stroke:#c7c8c8;stroke-width:0.25} 31 .st16 {fill:#ffffff;fill-opacity:0.56;stroke:#323849;stroke-width:0.75} 32 .st17 {fill:#d8d8d8;font-family:Calibri;font-size:1.00001em} 33 .st18 {fill:#deebf6;stroke:#c7c8c8;stroke-width:0.25} 34 .st19 {fill:#323849;font-family:Calibri;font-size:0.75em} 35 .st20 {fill:#323849;font-family:Calibri;font-size:0.666664em} 36 .st21 {fill:#c9c9c9;font-family:Calibri;font-size:0.666664em} 37 .st22 {fill:#ffffff;fill-opacity:0.32;stroke:#323849;stroke-width:0.75} 38 .st23 {font-size:1em} 39 .st24 {fill:#deebf6;fill-opacity:0.51;stroke:#323849;stroke-opacity:0.49;stroke-width:0.25} 40 .st25 {fill:#000000;font-family:Calibri;font-size:0.75em} 41 .st26 {marker-end:url(#mrkr4-217);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:4} 42 .st27 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.50251256281407} 43 .st28 {marker-end:url(#mrkr5-231);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1} 44 .st29 {fill:#5b9bd5;fill-opacity:1;stroke:#5b9bd5;stroke-opacity:1;stroke-width:0.28409090909091} 45 .st30 {marker-end:url(#mrkr4-237);stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1} 46 .st31 {fill:#4a80b1;stroke:none;stroke-linecap:butt;stroke-width:0.75} 47 .st32 {fill:#deebf6;stroke:#323849;stroke-opacity:0.5;stroke-width:0.25} 48 .st33 {fill:#c9c9c9;font-family:Calibri;font-size:0.499992em} 49 .st34 {fill:#ed7d31;font-family:Calibri;font-size:0.666664em} 50 .st35 {marker-end:url(#mrkr13-268);stroke:#c7c8c8;stroke-width:0.24} 51 .st36 {fill:#c7c8c8;fill-opacity:1;stroke:#c7c8c8;stroke-opacity:1;stroke-width:0.14285714285714} 52 .st37 {fill:#ffffff;stroke:none;stroke-linecap:butt;stroke-width:7.2} 53 .st38 {fill:#000000;font-family:Calibri;font-size:0.666664em} 54 .st39 {stroke:#5b9bd5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2} 55 .st40 {fill:#ffffff;stroke:none;stroke-linecap:butt} 56 .st41 {marker-end:url(#mrkr13-284);stroke:#2e75b5;stroke-width:0.24} 57 .st42 {fill:#2e75b5;fill-opacity:1;stroke:#2e75b5;stroke-opacity:1;stroke-width:0.14285714285714} 58 .st43 {stroke:#2e75b5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2} 59 .st44 {fill:#000000;font-family:Calibri;font-size:1.5em} 60 .st45 {fill:#323849;font-family:Calibri;font-size:1.00001em} 61 .st46 {fill:#ed7d31;fill-opacity:0.22;filter:url(#filter_2);stroke:#ed7d31;stroke-opacity:0.22} 62 .st47 {fill:#ed7d31;stroke:#c7c8c8;stroke-width:0.25} 63 .st48 {fill:#feffff;font-family:Calibri;font-size:0.833336em} 64 .st49 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3} 65 ]]> 66 </style> 67 68 <defs id="Markers"> 69 <g id="lend4"> 70 <path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"/> 71 </g> 72 <marker id="mrkr4-217" class="st27" v:arrowType="4" v:arrowSize="4" v:setback="3.98" refX="-3.98" orient="auto" 73 markerUnits="strokeWidth" overflow="visible"> 74 <use xlink:href="#lend4" transform="scale(-1.99,-1.99) "/> 75 </marker> 76 <g id="lend5"> 77 <path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"/> 78 </g> 79 <marker id="mrkr5-231" class="st29" v:arrowType="5" v:arrowSize="2" v:setback="6.16" refX="-6.16" orient="auto" 80 markerUnits="strokeWidth" overflow="visible"> 81 <use xlink:href="#lend5" transform="scale(-3.52,-3.52) "/> 82 </marker> 83 <marker id="mrkr4-237" class="st29" v:arrowType="4" v:arrowSize="2" v:setback="7.04" refX="-7.04" orient="auto" 84 markerUnits="strokeWidth" overflow="visible"> 85 <use xlink:href="#lend4" transform="scale(-3.52,-3.52) "/> 86 </marker> 87 <g id="lend13"> 88 <path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"/> 89 </g> 90 <marker id="mrkr13-268" class="st36" v:arrowType="13" v:arrowSize="0" v:setback="21" refX="-21" orient="auto" 91 markerUnits="strokeWidth" overflow="visible"> 92 <use xlink:href="#lend13" transform="scale(-7,-7) "/> 93 </marker> 94 <marker id="mrkr13-284" class="st42" v:arrowType="13" v:arrowSize="0" v:setback="21" refX="-21" orient="auto" 95 markerUnits="strokeWidth" overflow="visible"> 96 <use xlink:href="#lend13" transform="scale(-7,-7) "/> 97 </marker> 98 </defs> 99 <defs id="Filters"> 100 <filter id="filter_2"> 101 <feGaussianBlur stdDeviation="2"/> 102 </filter> 103 </defs> 104 <g v:mID="6" v:index="2" v:groupContext="foregroundPage"> 105 <v:userDefs> 106 <v:ud v:nameU="msvThemeOrder" v:val="VT0(0):26"/> 107 </v:userDefs> 108 <title>RX sequence</title> 109 <v:pageProperties v:drawingScale="1" v:pageScale="1" v:drawingUnits="0" v:shadowOffsetX="9" v:shadowOffsetY="-9"/> 110 <v:layer v:name="Connector" v:index="0"/> 111 <v:layer v:name="Annotations" v:index="1"/> 112 <g id="shape143-1" v:mID="143" v:groupContext="shape" transform="translate(180.875,-408.478)"> 113 <title>Rectangle.143</title> 114 <v:userDefs> 115 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 116 </v:userDefs> 117 <rect x="0" y="578.591" width="76.543" height="20.0355" class="st1"/> 118 </g> 119 <g id="shape94-3" v:mID="94" v:groupContext="shape" transform="translate(49.6893,-76.8633) rotate(0.0112307)"> 120 <title>Sheet.94</title> 121 <path d="M0 598.63 L388.43 598.63" class="st2"/> 122 </g> 123 <g id="shape95-6" v:mID="95" v:groupContext="shape" transform="translate(42.0914,-234.72) rotate(-0.0391061)"> 124 <title>Sheet.95</title> 125 <path d="M0 598.63 L395.5 598.63" class="st2"/> 126 </g> 127 <g id="shape96-9" v:mID="96" v:groupContext="shape" transform="translate(42.6472,-266.306) rotate(0.0140873)"> 128 <title>Sheet.96</title> 129 <path d="M0 598.63 L395.5 598.63" class="st2"/> 130 </g> 131 <g id="shape97-12" v:mID="97" v:groupContext="shape" transform="translate(42.1945,-342.085) rotate(-0.0292365)"> 132 <title>Sheet.97</title> 133 <path d="M0 598.63 L395.57 598.63" class="st2"/> 134 </g> 135 <g id="shape98-15" v:mID="98" v:groupContext="shape" transform="translate(39.3031,-401.856) rotate(0.12472)"> 136 <title>Sheet.98</title> 137 <path d="M0 598.63 L423 598.63" class="st3"/> 138 </g> 139 <g id="shape99-18" v:mID="99" v:groupContext="shape" transform="translate(42.9908,-434.862) rotate(0.0469737)"> 140 <title>Sheet.99</title> 141 <path d="M0 598.63 L396 598.63" class="st2"/> 142 </g> 143 <g id="shape46-21" v:mID="46" v:groupContext="shape" transform="translate(163.804,-167.866)"> 144 <title>Rectangle.46</title> 145 <v:userDefs> 146 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 147 </v:userDefs> 148 <rect x="0" y="534.218" width="242.529" height="64.4085" class="st4"/> 149 </g> 150 <g id="shape1-23" v:mID="1" v:groupContext="shape" transform="translate(163.804,-405.34)"> 151 <title>Rectangle</title> 152 <desc>Socket API</desc> 153 <v:userDefs> 154 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 155 </v:userDefs> 156 <v:textBlock v:margins="rect(4,4,4,4)"/> 157 <v:textRect cx="121.264" cy="585.47" width="242.53" height="26.3127"/> 158 <g id="shadow1-24" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 159 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 160 <rect x="0" y="572.314" width="242.529" height="26.3127" class="st6"/> 161 </g> 162 <rect x="0" y="572.314" width="242.529" height="26.3127" class="st7"/> 163 <text x="99.91" y="588.47" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Socket API</text> </g> 164 <g id="shape57-29" v:mID="57" v:groupContext="shape" transform="translate(163.804,-237.426)"> 165 <title>Rectangle.57</title> 166 <desc>Network Interface Abstraction</desc> 167 <v:userDefs> 168 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 169 </v:userDefs> 170 <v:textBlock v:margins="rect(4,4,4,4)"/> 171 <v:textRect cx="121.264" cy="585.47" width="242.53" height="26.3127"/> 172 <g id="shadow57-30" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 173 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 174 <rect x="0" y="572.314" width="242.529" height="26.3127" class="st6"/> 175 </g> 176 <rect x="0" y="572.314" width="242.529" height="26.3127" class="st7"/> 177 <text x="59.58" y="588.47" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Network Interface Abstraction</text> </g> 178 <g id="shape60-35" v:mID="60" v:groupContext="shape" transform="translate(-192.327,328.009) rotate(-90)"> 179 <title>Rectangle.60</title> 180 <desc>Non-IP sockets</desc> 181 <v:userDefs> 182 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 183 </v:userDefs> 184 <v:textBlock v:margins="rect(4,4,4,4)"/> 185 <v:textRect cx="64.5973" cy="585.47" width="129.2" height="26.3127"/> 186 <g id="shadow60-36" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 187 transform="matrix(1,0,0,1,-1.97279,0.345598)" class="st5"> 188 <rect x="0" y="572.314" width="129.195" height="26.3127" class="st6"/> 189 </g> 190 <rect x="0" y="572.314" width="129.195" height="26.3127" class="st9"/> 191 <text x="34.5" y="588.47" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Non-IP sockets</text> </g> 192 <g id="shape66-41" v:mID="66" v:groupContext="shape" transform="translate(-160.606,430.95) rotate(-90)"> 193 <title>Rectangle.66</title> 194 <desc>Network Management API</desc> 195 <v:userDefs> 196 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 197 </v:userDefs> 198 <v:textBlock v:margins="rect(4,4,4,4)"/> 199 <v:textRect cx="132.023" cy="585.47" width="264.05" height="26.3127"/> 200 <g id="shadow66-42" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 201 transform="matrix(1,0,0,1,-1.97279,0.345598)" class="st5"> 202 <rect x="0" y="572.314" width="264.045" height="26.3127" class="st6"/> 203 </g> 204 <rect x="0" y="572.314" width="264.045" height="26.3127" class="st9"/> 205 <text x="78.09" y="588.47" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Network Management API</text> </g> 206 <g id="shape68-47" v:mID="68" v:groupContext="shape" transform="translate(163.492,-438.502)"> 207 <title>Rectangle.68</title> 208 <v:userDefs> 209 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 210 </v:userDefs> 211 <rect x="0" y="504.667" width="174.447" height="93.9597" class="st11"/> 212 </g> 213 <g id="shape69-49" v:mID="69" v:groupContext="shape" transform="translate(157.37,-507.897)"> 214 <title>Sheet.69</title> 215 <desc>Application Protocols</desc> 216 <v:textBlock v:margins="rect(4,4,4,4)"/> 217 <v:textRect cx="93.3456" cy="586.344" width="186.7" height="24.5646"/> 218 <rect x="0" y="574.062" width="186.691" height="24.5646" class="st12"/> 219 <text x="41.39" y="589.94" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Application Protocols</text> </g> 220 <g id="shape70-52" v:mID="70" v:groupContext="shape" transform="translate(252.961,-482.718)"> 221 <title>Rectangle.70</title> 222 <desc>LWM2M</desc> 223 <v:userDefs> 224 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 225 </v:userDefs> 226 <v:textBlock v:margins="rect(4,4,4,4)"/> 227 <v:textRect cx="37.3075" cy="584.809" width="74.62" height="27.6352"/> 228 <g id="shadow70-53" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 229 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 230 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st6"/> 231 </g> 232 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st9"/> 233 <text x="21.44" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>LWM2M</text> </g> 234 <g id="shape71-58" v:mID="71" v:groupContext="shape" transform="translate(171.782,-482.718)"> 235 <title>Rectangle.71</title> 236 <desc>CoAP</desc> 237 <v:userDefs> 238 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 239 </v:userDefs> 240 <v:textBlock v:margins="rect(4,4,4,4)"/> 241 <v:textRect cx="37.3075" cy="584.809" width="74.62" height="27.6352"/> 242 <g id="shadow71-59" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 243 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 244 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st6"/> 245 </g> 246 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st15"/> 247 <text x="27.61" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>CoAP</text> </g> 248 <g id="shape72-64" v:mID="72" v:groupContext="shape" transform="translate(172.819,-446.792)"> 249 <title>Rectangle.72</title> 250 <desc>MQTT</desc> 251 <v:userDefs> 252 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 253 </v:userDefs> 254 <v:textBlock v:margins="rect(4,4,4,4)"/> 255 <v:textRect cx="37.3075" cy="584.809" width="74.62" height="27.6352"/> 256 <g id="shadow72-65" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 257 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 258 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st6"/> 259 </g> 260 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st9"/> 261 <text x="26.05" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>MQTT</text> </g> 262 <g id="shape73-70" v:mID="73" v:groupContext="shape" transform="translate(254.343,-446.792)"> 263 <title>Rectangle.73</title> 264 <desc>...</desc> 265 <v:userDefs> 266 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 267 </v:userDefs> 268 <v:textBlock v:margins="rect(4,4,4,4)"/> 269 <v:textRect cx="37.3075" cy="584.809" width="74.62" height="27.6352"/> 270 <g id="shadow73-71" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 271 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 272 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st6"/> 273 </g> 274 <rect x="0" y="570.991" width="74.6151" height="27.6352" class="st9"/> 275 <text x="33.9" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>...</text> </g> 276 <g id="shape48-76" v:mID="48" v:groupContext="shape" transform="translate(163.804,-268.891)"> 277 <title>Rectangle.48</title> 278 <v:userDefs> 279 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 280 </v:userDefs> 281 <rect x="0" y="469.432" width="212.1" height="129.195" class="st16"/> 282 </g> 283 <g id="shape49-78" v:mID="49" v:groupContext="shape" transform="translate(185.144,-373.521)"> 284 <title>Sheet.49</title> 285 <desc>Network Protocols</desc> 286 <v:textBlock v:margins="rect(4,4,4,4)"/> 287 <v:textRect cx="93.3456" cy="586.344" width="186.7" height="24.5646"/> 288 <rect x="0" y="574.062" width="186.691" height="24.5646" class="st12"/> 289 <text x="47.89" y="589.94" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Network Protocols</text> </g> 290 <g id="shape50-81" v:mID="50" v:groupContext="shape" transform="translate(172.094,-312.416)"> 291 <title>Rectangle.50</title> 292 <desc>IPv6</desc> 293 <v:userDefs> 294 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 295 </v:userDefs> 296 <v:textBlock v:margins="rect(4,4,4,4)"/> 297 <v:textRect cx="46.9799" cy="584.809" width="93.96" height="27.6352"/> 298 <g id="shadow50-82" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 299 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 300 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st6"/> 301 </g> 302 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st9"/> 303 <text x="39.21" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>IPv6</text> </g> 304 <g id="shape51-87" v:mID="51" v:groupContext="shape" transform="translate(274.345,-277.872)"> 305 <title>Rectangle.51</title> 306 <desc>ICMPv4</desc> 307 <v:userDefs> 308 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 309 </v:userDefs> 310 <v:textBlock v:margins="rect(4,4,4,4)"/> 311 <v:textRect cx="46.9799" cy="584.809" width="93.96" height="27.6352"/> 312 <g id="shadow51-88" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 313 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 314 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st6"/> 315 </g> 316 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st9"/> 317 <text x="32.96" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ICMPv4</text> </g> 318 <g id="shape52-93" v:mID="52" v:groupContext="shape" transform="translate(274.345,-312.416)"> 319 <title>Rectangle.52</title> 320 <desc>IPv4</desc> 321 <v:userDefs> 322 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 323 </v:userDefs> 324 <v:textBlock v:margins="rect(4,4,4,4)"/> 325 <v:textRect cx="46.9799" cy="584.809" width="93.96" height="27.6352"/> 326 <g id="shadow52-94" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 327 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 328 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st6"/> 329 </g> 330 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st18"/> 331 <text x="39.21" y="587.51" class="st19" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>IPv4</text> </g> 332 <g id="shape53-99" v:mID="53" v:groupContext="shape" transform="translate(172.094,-277.872)"> 333 <title>Rectangle.53</title> 334 <desc>ICMPv6</desc> 335 <v:userDefs> 336 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 337 </v:userDefs> 338 <v:textBlock v:margins="rect(4,4,4,4)"/> 339 <v:textRect cx="46.9799" cy="584.809" width="93.96" height="27.6352"/> 340 <g id="shadow53-100" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 341 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 342 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st6"/> 343 </g> 344 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st9"/> 345 <text x="32.96" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>ICMPv6</text> </g> 346 <g id="shape54-105" v:mID="54" v:groupContext="shape" transform="translate(172.094,-348.342)"> 347 <title>Rectangle.54</title> 348 <desc>UDP</desc> 349 <v:userDefs> 350 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 351 </v:userDefs> 352 <v:textBlock v:margins="rect(4,4,4,4)"/> 353 <v:textRect cx="46.9799" cy="584.809" width="93.96" height="27.6352"/> 354 <g id="shadow54-106" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 355 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 356 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st6"/> 357 </g> 358 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st18"/> 359 <text x="39" y="587.51" class="st19" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP</text> </g> 360 <g id="shape55-111" v:mID="55" v:groupContext="shape" transform="translate(274.345,-348.342)"> 361 <title>Rectangle.55</title> 362 <desc>TCP</desc> 363 <v:userDefs> 364 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 365 </v:userDefs> 366 <v:textBlock v:margins="rect(4,4,4,4)"/> 367 <v:textRect cx="46.9799" cy="584.809" width="93.96" height="27.6352"/> 368 <g id="shadow55-112" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 369 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 370 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st6"/> 371 </g> 372 <rect x="0" y="570.991" width="93.9597" height="27.6352" class="st9"/> 373 <text x="40.06" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>TCP</text> </g> 374 <g id="shape18-117" v:mID="18" v:groupContext="shape" transform="translate(169.543,-176.156)"> 375 <title>Rectangle.18</title> 376 <desc>Ethernet</desc> 377 <v:userDefs> 378 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 379 </v:userDefs> 380 <v:textBlock v:margins="rect(4,4,4,4)"/> 381 <v:textRect cx="26.9627" cy="584.809" width="53.93" height="27.6352"/> 382 <g id="shadow18-118" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 383 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 384 <rect x="0" y="570.991" width="53.9255" height="27.6352" class="st6"/> 385 </g> 386 <rect x="0" y="570.991" width="53.9255" height="27.6352" class="st18"/> 387 <text x="12.75" y="587.21" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Ethernet </text> </g> 388 <g id="shape19-123" v:mID="19" v:groupContext="shape" transform="translate(227.264,-176.156)"> 389 <title>Rectangle.19</title> 390 <desc>802.15.4</desc> 391 <v:userDefs> 392 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 393 </v:userDefs> 394 <v:textBlock v:margins="rect(4,4,4,4)"/> 395 <v:textRect cx="29.9926" cy="584.809" width="59.99" height="27.6352"/> 396 <g id="shadow19-124" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 397 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 398 <rect x="0" y="570.991" width="59.9852" height="27.6352" class="st6"/> 399 </g> 400 <rect x="0" y="570.991" width="59.9852" height="27.6352" class="st9"/> 401 <text x="15.81" y="587.21" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>802.15.4 </text> </g> 402 <g id="shape20-129" v:mID="20" v:groupContext="shape" transform="translate(291.044,-176.156)"> 403 <title>Rectangle.20</title> 404 <desc>Bluetooth</desc> 405 <v:userDefs> 406 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 407 </v:userDefs> 408 <v:textBlock v:margins="rect(4,4,4,4)"/> 409 <v:textRect cx="26.9627" cy="584.809" width="53.93" height="27.6352"/> 410 <g id="shadow20-130" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 411 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 412 <rect x="0" y="570.991" width="53.9255" height="27.6352" class="st6"/> 413 </g> 414 <rect x="0" y="570.991" width="53.9255" height="27.6352" class="st9"/> 415 <text x="10.78" y="587.21" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Bluetooth </text> </g> 416 <g id="shape47-135" v:mID="47" v:groupContext="shape" transform="translate(186.368,-207.709)"> 417 <title>Sheet.47</title> 418 <desc>L2 Network Technologies</desc> 419 <v:textBlock v:margins="rect(4,4,4,4)"/> 420 <v:textRect cx="98.6997" cy="586.344" width="197.4" height="24.5646"/> 421 <rect x="0" y="574.062" width="197.399" height="24.5646" class="st12"/> 422 <text x="37.29" y="589.94" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>L2 Network Technologies</text> </g> 423 <g id="shape61-138" v:mID="61" v:groupContext="shape" transform="translate(347.227,-176.156)"> 424 <title>Rectangle.61</title> 425 <desc>CAN</desc> 426 <v:userDefs> 427 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 428 </v:userDefs> 429 <v:textBlock v:margins="rect(4,4,4,4)"/> 430 <v:textRect cx="26.9627" cy="584.809" width="53.93" height="27.6352"/> 431 <g id="shadow61-139" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 432 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 433 <rect x="0" y="570.991" width="53.9255" height="27.6352" class="st6"/> 434 </g> 435 <rect x="0" y="570.991" width="53.9255" height="27.6352" class="st9"/> 436 <text x="19.05" y="587.51" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>CAN</text> </g> 437 <g id="shape23-144" v:mID="23" v:groupContext="shape" transform="translate(162.991,-59.8994)"> 438 <title>Rectangle.23</title> 439 <v:userDefs> 440 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 441 </v:userDefs> 442 <rect x="0" y="496.376" width="275.03" height="102.25" class="st22"/> 443 </g> 444 <g id="shape24-146" v:mID="24" v:groupContext="shape" transform="translate(214.635,-128.987)"> 445 <title>Sheet.24</title> 446 <desc>Network Device Drivers</desc> 447 <v:textBlock v:margins="rect(4,4,4,4)"/> 448 <v:textRect cx="89.1116" cy="584.425" width="178.23" height="28.4029"/> 449 <rect x="0" y="570.224" width="178.223" height="28.4029" class="st12"/> 450 <text x="31.68" y="588.03" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Network Device Drivers</text> </g> 451 <g id="shape36-149" v:mID="36" v:groupContext="shape" transform="translate(185.869,-81.2822)"> 452 <title>Rectangle.36</title> 453 <desc>Ethernet drivers</desc> 454 <v:userDefs> 455 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 456 </v:userDefs> 457 <v:textBlock v:margins="rect(4,4,4,4)"/> 458 <v:textRect cx="31.0698" cy="578.557" width="62.14" height="40.1401"/> 459 <g id="shadow36-150" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 460 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 461 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 462 </g> 463 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st7"/> 464 <text x="13.31" y="575.56" class="st8" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Ethernet <tspan 465 x="17.11" dy="1.2em" class="st23">drivers</tspan></text> </g> 466 <g id="shape86-156" v:mID="86" v:groupContext="shape" transform="translate(263.905,-92.5744)"> 467 <title>Rectangle.86</title> 468 <v:userDefs> 469 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 470 </v:userDefs> 471 <g id="shadow86-157" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 472 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 473 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 474 </g> 475 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st9"/> 476 </g> 477 <g id="shape87-161" v:mID="87" v:groupContext="shape" transform="translate(269.441,-86.8092)"> 478 <title>Rectangle.87</title> 479 <v:userDefs> 480 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 481 </v:userDefs> 482 <g id="shadow87-162" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 483 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 484 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 485 </g> 486 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st9"/> 487 </g> 488 <g id="shape88-166" v:mID="88" v:groupContext="shape" transform="translate(274.968,-81.2822)"> 489 <title>Rectangle.88</title> 490 <desc>802.15.4 drivers</desc> 491 <v:userDefs> 492 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 493 </v:userDefs> 494 <v:textBlock v:margins="rect(4,4,4,4)"/> 495 <v:textRect cx="31.0698" cy="578.557" width="62.14" height="40.1401"/> 496 <g id="shadow88-167" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 497 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 498 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 499 </g> 500 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st24"/> 501 <text x="13.34" y="575.56" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>802.15.4 <tspan 502 x="17.11" dy="1.2em" class="st23">drivers</tspan></text> </g> 503 <g id="shape90-173" v:mID="90" v:groupContext="shape" transform="translate(353.003,-92.5744)"> 504 <title>Rectangle.33</title> 505 <v:userDefs> 506 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 507 </v:userDefs> 508 <g id="shadow90-174" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 509 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 510 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 511 </g> 512 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st9"/> 513 </g> 514 <g id="shape91-178" v:mID="91" v:groupContext="shape" transform="translate(358.539,-86.8092)"> 515 <title>Rectangle.35</title> 516 <v:userDefs> 517 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 518 </v:userDefs> 519 <g id="shadow91-179" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 520 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 521 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 522 </g> 523 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st9"/> 524 </g> 525 <g id="shape92-183" v:mID="92" v:groupContext="shape" transform="translate(364.066,-81.2822)"> 526 <title>Rectangle.36</title> 527 <desc>Other drivers</desc> 528 <v:userDefs> 529 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 530 </v:userDefs> 531 <v:textBlock v:margins="rect(4,4,4,4)"/> 532 <v:textRect cx="31.0698" cy="578.557" width="62.14" height="40.1401"/> 533 <g id="shadow92-184" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 534 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 535 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st6"/> 536 </g> 537 <rect x="0" y="558.487" width="62.1396" height="40.1401" class="st9"/> 538 <text x="4.13" y="581.56" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Other drivers</text> </g> 539 <g id="shape102-189" v:mID="102" v:groupContext="shape" transform="translate(60.25,-53.9439)"> 540 <title>Sheet.102</title> 541 <desc>Packet received from the network</desc> 542 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 543 <v:textRect cx="51.875" cy="589.455" width="103.75" height="18.3432"/> 544 <rect x="0" y="580.283" width="103.75" height="18.3432" class="st12"/> 545 <text x="8.02" y="592.38" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>Packet received from the <tspan 546 x="69.12" dy="1.2em" class="st23">network</tspan></text> </g> 547 <g id="shape105-193" v:mID="105" v:groupContext="shape" transform="translate(24.5917,-146.194)"> 548 <title>Sheet.105</title> 549 <desc>Allocate buffers and put packet to RX queue</desc> 550 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 551 <v:textRect cx="69.7041" cy="589.455" width="139.41" height="18.3432"/> 552 <rect x="0" y="580.283" width="139.408" height="18.3432" class="st12"/> 553 <text x="61.79" y="592.38" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>Allocate buffers and <v:newlineChar/><tspan 554 x="49.91" dy="1.2em" class="st23">put packet to RX queue</tspan></text> </g> 555 <g id="shape107-197" v:mID="107" v:groupContext="shape" transform="translate(30.7484,-183.757)"> 556 <title>Sheet.107</title> 557 <desc>Network packet passed to correct L2 driver, Ethernet headers ...</desc> 558 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 559 <v:textRect cx="67.5" cy="572.826" width="135" height="51.6006"/> 560 <rect x="0" y="547.026" width="135" height="51.6006" class="st12"/> 561 <text x="45.5" y="559.13" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>Network packet passed<v:newlineChar/><tspan 562 x="22.76" dy="1.2em" class="st23">to correct L</tspan>2 driver, Ethernet <tspan x="26.92" dy="1.2em" 563 class="st23">headers stripped and packet </tspan><tspan x="100.88" dy="1.2em" class="st23">checked</tspan></text> </g> 564 <g id="shape112-203" v:mID="112" v:groupContext="shape" transform="translate(38,-326.194)"> 565 <title>Sheet.112</title> 566 <desc>IPv4 headers parsed and stripped</desc> 567 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 568 <v:textRect cx="63" cy="589.455" width="126" height="18.3432"/> 569 <rect x="0" y="580.283" width="126" height="18.3432" class="st12"/> 570 <text x="32.3" y="592.38" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>IPv4 headers parsed and <tspan 571 x="91.6" dy="1.2em" class="st23">stripped</tspan></text> </g> 572 <g id="shape113-207" v:mID="113" v:groupContext="shape" transform="translate(39.572,-361.718)"> 573 <title>Sheet.113</title> 574 <desc>UDP headers parsed and stripped. Packet added to socket queue</desc> 575 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 576 <v:textRect cx="62.1159" cy="578.557" width="124.24" height="40.1401"/> 577 <rect x="0" y="558.487" width="124.232" height="40.1401" class="st12"/> 578 <text x="30.11" y="570.59" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>UDP headers parsed and <tspan 579 x="26.37" dy="1.2em" class="st23">stripped</tspan>. Packet added to <tspan x="71.4" dy="1.2em" class="st23">socket queue</tspan></text> </g> 580 <g id="shape115-212" v:mID="115" v:groupContext="shape" v:layerMember="0" transform="translate(47,-48.2647)"> 581 <title>Dynamic connector</title> 582 <path d="M-9 598.63 L-9 124.05" class="st26"/> 583 </g> 584 <g id="shape116-218" v:mID="116" v:groupContext="shape" transform="translate(50.35,-419.7)"> 585 <title>Sheet.116</title> 586 <desc>Packet retrieved from socket queue.Data copied into applicati...</desc> 587 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 588 <v:textRect cx="56.375" cy="589.455" width="112.76" height="18.3432"/> 589 <rect x="0" y="580.283" width="112.75" height="18.3432" class="st12"/> 590 <text x="28.93" y="592.38" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>Packet retrieved from <tspan 591 x="13.89" dy="1.2em" class="st23">socket queue</tspan>.Data copied <tspan x="21.2" dy="1.2em" class="st23">into application buffers</tspan>. </text> </g> 592 <g id="shape120-223" v:mID="120" v:groupContext="shape" transform="translate(39.572,-446.792)"> 593 <title>Sheet.120</title> 594 <desc>Recv returns</desc> 595 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 596 <v:textRect cx="61.9599" cy="589.455" width="123.92" height="18.3432"/> 597 <rect x="0" y="580.283" width="123.92" height="18.3432" class="st12"/> 598 <text x="73.9" y="592.38" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>Recv returns</text> </g> 599 <g id="shape123-226" v:mID="123" v:groupContext="shape" v:layerMember="0" transform="translate(196.506,-203.791)"> 600 <title>Dynamic connector.123</title> 601 <path d="M0 598.63 L58.21 567.87" class="st28"/> 602 </g> 603 <g id="shape124-232" v:mID="124" v:groupContext="shape" v:layerMember="0" transform="translate(285.068,-263.739)"> 604 <title>Dynamic connector.124</title> 605 <path d="M0 598.63 L32.05 555.6" class="st30"/> 606 </g> 607 <g id="shape125-238" v:mID="125" v:groupContext="shape" v:layerMember="0" transform="translate(274.345,-326.234)"> 608 <title>Dynamic connector.125</title> 609 <path d="M0 598.63 L-48.73 579.13" class="st30"/> 610 </g> 611 <g id="shape127-243" v:mID="127" v:groupContext="shape" v:layerMember="0" transform="translate(283.787,-431.652)"> 612 <title>Dynamic connector.127</title> 613 <path d="M1.28 598.63 L15.71 499.26" class="st30"/> 614 </g> 615 <g id="shape129-248" v:mID="129" v:groupContext="shape" transform="translate(287.35,-18.75)"> 616 <title>Network</title> 617 <v:userDefs> 618 <v:ud v:nameU="msvShapeCategories" v:prompt="" v:val="VT4(Icon)"/> 619 <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/> 620 </v:userDefs> 621 <path d="M5.64 573.25 L5.64 583.59 L20.67 583.59 L20.67 573.25 L5.64 573.25 ZM4.7 584.53 L4.7 572.31 L21.61 572.31 L21.61 622 584.53 L4.7 584.53 ZM24.43 595.81 L24.43 593.93 L17.86 593.93 L17.86 595.81 L24.43 595.81 ZM15.98 596.75 623 L15.98 592.99 L10.34 592.99 L10.34 596.75 L15.98 596.75 ZM14.1 588.29 L12.22 588.29 L12.22 591.11 L14.1 624 591.11 L14.1 588.29 ZM2.82 586.41 L23.49 586.41 L23.49 570.43 L2.82 570.43 L2.82 586.41 ZM8.46 595.81 L8.46 625 593.93 L1.88 593.93 L1.88 595.81 L8.46 595.81 ZM25.22 592.05 C25.82 592.05 26.31 592.54 26.31 593.15 L26.31 626 596.59 C26.31 597.2 25.82 597.69 25.22 597.69 L17.82 597.69 C17.74 598.22 17.31 598.63 16.76 598.63 L9.56 627 598.63 C9.01 598.63 8.57 598.22 8.49 597.69 L1.1 597.69 C0.49 597.69 0 597.2 0 596.59 L0 593.15 C-0 592.54 628 0.49 592.05 1.1 592.05 L8.49 592.05 C8.57 591.52 9.01 591.11 9.56 591.11 L10.34 591.11 L10.34 588.29 L2.04 629 588.29 C1.43 588.29 0.94 587.8 0.94 587.19 L0.94 569.65 C0.94 569.05 1.43 568.55 2.04 568.55 L24.28 568.55 630 C24.88 568.55 25.37 569.05 25.37 569.65 L25.37 587.19 C25.37 587.8 24.88 588.29 24.28 588.29 L15.98 588.29 631 L15.98 591.11 L16.76 591.11 C17.31 591.11 17.74 591.52 17.82 592.05 L25.22 592.05 Z" class="st31"/> 632 </g> 633 <g id="shape58-250" v:mID="58" v:groupContext="shape" transform="translate(250.544,-198.287)"> 634 <title>Rectangle.58</title> 635 <desc>IPv6 Header Compression</desc> 636 <v:userDefs> 637 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 638 </v:userDefs> 639 <v:textBlock v:margins="rect(4,4,4,4)"/> 640 <v:textRect cx="39.978" cy="591.519" width="79.96" height="14.2157"/> 641 <g id="shadow58-251" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 642 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 643 <rect x="0" y="584.411" width="79.9559" height="14.2157" class="st6"/> 644 </g> 645 <rect x="0" y="584.411" width="79.9559" height="14.2157" class="st32"/> 646 <text x="8.64" y="593.32" class="st33" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>IPv6 Header Compression</text> </g> 647 <g id="shape132-256" v:mID="132" v:groupContext="shape" transform="translate(-130.051,193.34) rotate(-90)"> 648 <title>Sheet.132</title> 649 <desc>User space</desc> 650 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 651 <v:textRect cx="26.9627" cy="588.627" width="53.93" height="20"/> 652 <rect x="0" y="578.627" width="53.9255" height="20" class="st12"/> 653 <text x="4" y="589.83" class="st34" v:langID="1033"><v:paragraph/><v:tabList/>User space</text> </g> 654 <g id="shape134-259" v:mID="134" v:groupContext="shape" transform="translate(-130.051,256.302) rotate(-90)"> 655 <title>Sheet.134</title> 656 <desc>Kernel space</desc> 657 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 658 <v:textRect cx="26.9627" cy="588.627" width="53.93" height="20"/> 659 <rect x="0" y="578.627" width="53.9255" height="20" class="st12"/> 660 <text x="4" y="589.83" class="st34" v:langID="1033"><v:paragraph/><v:tabList/>Kernel space</text> </g> 661 <g id="group136-262" transform="translate(-338.461,684.543) rotate(-110.471)" v:mID="136" v:groupContext="group"> 662 <v:userDefs> 663 <v:ud v:nameU="txtWidth" v:prompt="" v:val="VT0(0):1"/> 664 <v:ud v:nameU="hasText" v:prompt="" v:val="VT0(0):5"/> 665 <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/> 666 <v:ud v:nameU="txtWidth" v:prompt="" v:val="VT0(0.45398371682031):1"/> 667 <v:ud v:nameU="hasText" v:prompt="" v:val="VT0(1):5"/> 668 </v:userDefs> 669 <title>FIFO lane</title> 670 <desc>RX queue</desc> 671 <g id="shape137-263" v:mID="137" v:groupContext="shape" transform="translate(0,-5.78714)"> 672 <title>Sheet.137</title> 673 <path d="M0 598.63 L53.38 598.63" class="st35"/> 674 </g> 675 <g id="shape138-269" v:mID="138" v:groupContext="shape" transform="translate(18.9736,1.01464)"> 676 <title>Sheet.138</title> 677 <desc>FIFO</desc> 678 <v:textBlock v:margins="rect(2,2,2,2)"/> 679 <v:textRect cx="10.2381" cy="591.825" width="20.48" height="13.6036"/> 680 <rect v:rectContext="textBkgnd" x="2.90616" y="587.025" width="14.664" height="9.59985" class="st37"/> 681 <text x="2.91" y="594.22" class="st38" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>FIFO</text> </g> 682 <g id="shape136-272" v:mID="136" v:groupContext="groupContent"> 683 <v:textBlock v:margins="rect(0,0,0,0)"/> 684 <v:textRect cx="26.458" cy="605.983" width="32.69" height="11.2036"/> 685 <path d="M0 598.63 L58.42 598.63" class="st39"/> 686 <path d="M0 587.05 L58.42 587.05" class="st39"/> 687 <rect v:rectContext="textBkgnd" x="11.0207" y="600.383" width="30.8746" height="11.1997" class="st40"/> 688 <text x="11.02" y="608.78" class="st38" v:langID="1033"><v:paragraph v:spLine="-1.4" v:horizAlign="1"/><v:tabList/>RX queue</text> </g> 689 </g> 690 <g id="group140-278" transform="translate(-21.9187,-318.997) rotate(-23.9855)" v:mID="140" v:groupContext="group"> 691 <v:userDefs> 692 <v:ud v:nameU="txtWidth" v:prompt="" v:val="VT0(0):1"/> 693 <v:ud v:nameU="hasText" v:prompt="" v:val="VT0(0):5"/> 694 <v:ud v:nameU="visVersion" v:prompt="" v:val="VT0(15):26"/> 695 <v:ud v:nameU="txtWidth" v:prompt="" v:val="VT0(0.63562052712305):1"/> 696 <v:ud v:nameU="hasText" v:prompt="" v:val="VT0(1):5"/> 697 </v:userDefs> 698 <title>FIFO lane.140</title> 699 <desc>Socket queue</desc> 700 <g id="shape141-279" v:mID="141" v:groupContext="shape" transform="translate(0,-5.78714)"> 701 <title>Sheet.141</title> 702 <path d="M0 598.63 L67.19 598.63" class="st41"/> 703 </g> 704 <g id="shape142-285" v:mID="142" v:groupContext="shape" transform="translate(25.8775,1.01464)"> 705 <title>Sheet.142</title> 706 <desc>FIFO</desc> 707 <v:textBlock v:margins="rect(2,2,2,2)"/> 708 <v:textRect cx="10.2381" cy="591.825" width="20.48" height="13.6036"/> 709 <rect v:rectContext="textBkgnd" x="2.90616" y="587.025" width="14.664" height="9.59985" class="st37"/> 710 <text x="2.91" y="594.22" class="st38" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>FIFO</text> </g> 711 <g id="shape140-288" v:mID="140" v:groupContext="groupContent"> 712 <v:textBlock v:margins="rect(0,0,0,0)"/> 713 <v:textRect cx="32.711" cy="605.983" width="45.77" height="11.2036"/> 714 <path d="M0 598.63 L72.23 598.63" class="st43"/> 715 <path d="M0 587.05 L72.23 587.05" class="st43"/> 716 <rect v:rectContext="textBkgnd" x="10.7348" y="600.383" width="43.9525" height="11.1997" class="st37"/> 717 <text x="10.73" y="608.78" class="st38" v:langID="1033"><v:paragraph v:spLine="-1.4" v:horizAlign="1"/><v:tabList/>Socket queue</text> </g> 718 </g> 719 <g id="shape144-294" v:mID="144" v:groupContext="shape" transform="translate(37.75,-545.209)"> 720 <title>Sheet.144</title> 721 <desc>Receiving UDP packet</desc> 722 <v:textBlock v:margins="rect(4,4,4,4)"/> 723 <v:textRect cx="78.6707" cy="584.809" width="157.35" height="27.6352"/> 724 <rect x="0" y="570.991" width="157.341" height="27.6352" class="st12"/> 725 <text x="4" y="579.41" class="st44" v:langID="1033"><v:paragraph/><v:tabList/>Receiving UDP <tspan x="4" dy="1.2em" 726 class="st23">packet</tspan></text> </g> 727 <g id="shape154-298" v:mID="154" v:groupContext="shape" v:layerMember="0" transform="translate(288.289,-40.7293)"> 728 <title>Dynamic connector.154</title> 729 <path d="M0 598.63 L-65.23 561.55" class="st30"/> 730 </g> 731 <g id="group158-303" transform="translate(162.991,-438.502)" v:mID="158" v:groupContext="group"> 732 <title>Sheet.158</title> 733 <g id="shape78-304" v:mID="78" v:groupContext="shape" transform="translate(181.07,0)"> 734 <title>Rectangle.78</title> 735 <v:userDefs> 736 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 737 </v:userDefs> 738 <g id="shadow78-305" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 739 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 740 <rect x="0" y="495.529" width="93.9597" height="103.098" class="st6"/> 741 </g> 742 <rect x="0" y="495.529" width="93.9597" height="103.098" class="st7"/> 743 </g> 744 <g id="shape2-309" v:mID="2" v:groupContext="shape" transform="translate(-7.99361E-014,-99.4867)"> 745 <title>Rectangle.2</title> 746 <desc>Network Application</desc> 747 <v:userDefs> 748 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 749 </v:userDefs> 750 <v:textBlock v:margins="rect(4,4,4,4)"/> 751 <v:textRect cx="137.515" cy="581.199" width="275.03" height="34.856"/> 752 <g id="shadow2-310" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 753 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 754 <rect x="0" y="563.771" width="275.03" height="34.856" class="st6"/> 755 </g> 756 <rect x="0" y="563.771" width="275.03" height="34.856" class="st7"/> 757 <text x="87.37" y="584.8" class="st45" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Network Application</text> </g> 758 <g id="shape157-315" v:mID="157" v:groupContext="shape" transform="translate(181.29,-91.2745)"> 759 <title>Rectangle.157</title> 760 <v:userDefs> 761 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 762 </v:userDefs> 763 <rect x="0" y="578.591" width="93.7395" height="20.0355" class="st1"/> 764 </g> 765 </g> 766 <g id="shape159-317" v:mID="159" v:groupContext="shape" transform="translate(36.1189,-163.355) rotate(-0.180044)"> 767 <title>Sheet.159</title> 768 <path d="M0 598.63 L423 598.63" class="st3"/> 769 </g> 770 <g id="shape161-320" v:mID="161" v:groupContext="shape" transform="translate(-130.051,492.159) rotate(-90)"> 771 <title>Sheet.161</title> 772 <desc>“Bottom Half”</desc> 773 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 774 <v:textRect cx="31.0698" cy="588.627" width="62.14" height="20"/> 775 <rect x="0" y="578.627" width="62.1396" height="20" class="st12"/> 776 <text x="4" y="589.83" class="st34" v:langID="1033"><v:paragraph/><v:tabList/>“Bottom Half”</text> </g> 777 <g id="shape162-323" v:mID="162" v:groupContext="shape" transform="translate(-130.051,430.95) rotate(-90)"> 778 <title>Sheet.162</title> 779 <desc>Core stack</desc> 780 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 781 <v:textRect cx="31.0698" cy="588.627" width="62.14" height="20"/> 782 <rect x="0" y="578.627" width="62.1396" height="20" class="st12"/> 783 <text x="4" y="589.83" class="st34" v:langID="1033"><v:paragraph/><v:tabList/>Core stack</text> </g> 784 <g id="shape168-326" v:mID="168" v:groupContext="shape" transform="translate(39.572,-66.8633)"> 785 <title>Circle</title> 786 <desc>1</desc> 787 <v:userDefs> 788 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 789 </v:userDefs> 790 <v:textBlock v:margins="rect(4,4,4,4)"/> 791 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 792 <g id="shadow168-327" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 793 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 794 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 795 </g> 796 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 797 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g> 798 <g id="shape171-332" v:mID="171" v:groupContext="shape" transform="translate(39.572,-141.44)"> 799 <title>Circle.171</title> 800 <desc>2</desc> 801 <v:userDefs> 802 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 803 </v:userDefs> 804 <v:textBlock v:margins="rect(4,4,4,4)"/> 805 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 806 <g id="shadow171-333" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 807 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 808 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 809 </g> 810 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 811 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g> 812 <g id="shape172-338" v:mID="172" v:groupContext="shape" transform="translate(39.572,-215.358)"> 813 <title>Circle.172</title> 814 <desc>3</desc> 815 <v:userDefs> 816 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 817 </v:userDefs> 818 <v:textBlock v:margins="rect(4,4,4,4)"/> 819 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 820 <g id="shadow172-339" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 821 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 822 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 823 </g> 824 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 825 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g> 826 <g id="shape173-344" v:mID="173" v:groupContext="shape" transform="translate(39.572,-249.234)"> 827 <title>Circle.173</title> 828 <desc>4</desc> 829 <v:userDefs> 830 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 831 </v:userDefs> 832 <v:textBlock v:margins="rect(4,4,4,4)"/> 833 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 834 <g id="shadow173-345" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 835 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 836 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 837 </g> 838 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 839 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>4</text> </g> 840 <g id="shape174-350" v:mID="174" v:groupContext="shape" transform="translate(39.572,-325.013)"> 841 <title>Circle.174</title> 842 <desc>5</desc> 843 <v:userDefs> 844 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 845 </v:userDefs> 846 <v:textBlock v:margins="rect(4,4,4,4)"/> 847 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 848 <g id="shadow174-351" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 849 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 850 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 851 </g> 852 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 853 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>5</text> </g> 854 <g id="shape175-356" v:mID="175" v:groupContext="shape" transform="translate(39.572,-381.858)"> 855 <title>Circle.175</title> 856 <desc>6</desc> 857 <v:userDefs> 858 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 859 </v:userDefs> 860 <v:textBlock v:margins="rect(4,4,4,4)"/> 861 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 862 <g id="shadow175-357" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 863 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 864 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 865 </g> 866 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 867 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>6</text> </g> 868 <g id="shape176-362" v:mID="176" v:groupContext="shape" transform="translate(39.572,-417.79)"> 869 <title>Circle.176</title> 870 <desc>7</desc> 871 <v:userDefs> 872 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 873 </v:userDefs> 874 <v:textBlock v:margins="rect(4,4,4,4)"/> 875 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 876 <g id="shadow176-363" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 877 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 878 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 879 </g> 880 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 881 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>7</text> </g> 882 <g id="shape177-368" v:mID="177" v:groupContext="shape" transform="translate(39.572,-482.718)"> 883 <title>Circle.177</title> 884 <desc>8</desc> 885 <v:userDefs> 886 <v:ud v:nameU="visVersion" v:val="VT0(15):26"/> 887 </v:userDefs> 888 <v:textBlock v:margins="rect(4,4,4,4)"/> 889 <v:textRect cx="10" cy="588.627" width="17.51" height="15"/> 890 <g id="shadow177-369" v:groupContext="shadow" v:shadowOffsetX="0.345598" v:shadowOffsetY="-1.97279" v:shadowType="1" 891 transform="matrix(1,0,0,1,0.345598,1.97279)" class="st5"> 892 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st46"/> 893 </g> 894 <path d="M0 588.63 A10 10 0 0 1 20 588.63 A10 10 0 1 1 0 588.63 Z" class="st47"/> 895 <text x="7.47" y="591.63" class="st48" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>8</text> </g> 896 <g id="shape110-374" v:mID="110" v:groupContext="shape" transform="translate(51.25,-239.634)"> 897 <title>Sheet.110</title> 898 <desc>Passed to Network Interface for further processing</desc> 899 <v:textBlock v:margins="rect(4,4,4,4)" v:verticalAlign="0"/> 900 <v:textRect cx="56.375" cy="584.425" width="112.76" height="28.4029"/> 901 <rect x="0" y="570.224" width="112.75" height="28.4029" class="st12"/> 902 <text x="5" y="582.32" class="st25" v:langID="1033"><v:paragraph v:horizAlign="2"/><v:tabList/>Passed to Network Interface <tspan 903 x="29.11" dy="1.2em" class="st23">for further processing</tspan></text> </g> 904 </g> 905</svg> 906