aboutsummaryrefslogtreecommitdiffstats
path: root/architecture.svg
blob: f62ca075357d38dbac1efa1c1ec03cc79539175b (plain) (blame)
1
2
3
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="471px" height="641px" viewBox="-0.5 -0.5 471 641" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2020-06-14T19:56:22.800Z&quot; agent=&quot;5.0 (Windows)&quot; etag=&quot;UgKCr4tiDCqFxxiLh2i1&quot; version=&quot;13.2.4&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;6hGFLwfOUW9BJ-s0fimq&quot; name=&quot;Page-1&quot;&gt;5VrLcqM4FP0ab1MIgcDLvLtrprtSSXdlrcA1ZoKRWwjbma8fyQjbSCRh0uCZGC/8uAgZnaOrc65ggi8Xm1tOl/NvLIZs4jrxZoKvJq6LPBfJDxV5qSLBFFeBhKexbrQPPKR/gw46OlqmMRSNhoKxTKTLZjBieQ6RaMQo52zdbDZjWfNflzQBK/AQ0cyOPqaxmFfR0A328S+QJvP6nxGZVkcWtG6sR1LMaczWByF8PcGXnDFRfVtsLiFT4NW4VOfdvHJ0d2EcctHpBA38imalHpy+MPFSj5azMo9BneBM8MV6ngp4WNJIHV1LfmVsLhaZ/IXk11maZZcsY3x7LiZeQMJAxgvB2TMcHMHIw76nzmC5OIjPti8Zt4eiR7cCLmBzENJDuwW2AMFfZBN9NNQo62mG6sGt96R5vm4zPyDMI+6Zr6eLnirJrvM9mvKLBrQdXGJBCbGcR/on42LOEpbT7HofvWiCvW/zJ2NLDfFfIMSLTgpaCtYkoAK6npbuW0Cqq3kTRg4ZFemqOevbENGn3rFU/sUOfhf5DfyxZ4BasJJHoM86nKVGR3j6TkeC8gSE1dGWoN14OnHmWvnwheaxTNNnkGG5lJWSpl4zJA4D4rVmyLnvYTRwhhjAOo6VIchtyZCp8/vpYS8996wUwE8RZ8/5D4H2LKB/pAvgRa/4xj6EcSu+ofuECekHR9dr4ugFHXEMe8AxsHD8A9S1faNy1qY0s/CUgxJtq3MNTs5yMJDUIZqlSS5/RhIqmRH4QkGUSgdyrg8s0jjeCkYbS00e+4CdNJUUuzbs0xbU3R5QD993KJDH58rWKcAyWhRpNJwmHoy4zTrUsd+VzsCY58RAsqt0mhrsOUZH/Unn1F7P4VcJhbqa77CW7wdSeqqZgvxmpnjYzpRadPvOFIQsBkaQKqY5tGZ4Z5eJ38m5/lIF2TbzQTIzUbPgRr7fQ7SSH9cribkt0yeTLNgPzgzMW9IFOQMpC7KN0cQlmdBWcKI2EGoXQ36VqiaXo8Y329dhiCTq8zHlcFtSHh8Y2Ko3eSFVh1XDDoT+z4gyCmmftLCEh2KJWCzd0egZFD9XsCjVtk8GG1U3fHo7u1OPY9hZZPvZEciF6aykXnxMLna7kXVHZqnWo1zY1moETJl6/GGmTIcwIFN1rjb3j3bbR1AUNIETVnRkFIo7zo5gf13b/v7gEvwl42IU4GPySsIcA3zb0Y5hiTK29UxZ7rxCGf0gc6nrcYXqcMfn9IjyzLL8o0Wi2RExk6dHplr2bX9+37reVRq9tTuO/rXdfUJxPHPa7C5yAjyFYXbBSVu112Z3zXT40Apl292vatnOQfQK5SyMIIraoHwKfTV9BqkcjoqkvSV7D1SVvT+v7tT8pIImnC5OV2l3DlKjP21BH7Wg34vS2sXAI5djlqGvCv26OD5V7HHgGptGpOVmWjAQ+tg2+GOQT+KdEX+6fwUNAqyCqrOakrf9U39iike5N468Jm/hO4VwV96QdzTe7LriE6u29bjF8UQb277/EwNpP09xRCRtX14L8Fj8z+6xi9f9z2ACbN8OGBv65j3mY6I/ynsGnnH/yyr6O/sdo6MBn8bArxZpo6gSLMqGqxHkz/0D2xVT+8fe8fU/&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="0" y="92" width="450" height="462.5" fill="#647687" stroke="#314354" pointer-events="all"/><path d="M 135 315 L 306.76 315" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 312.76 315 L 304.76 319 L 306.76 315 L 304.76 311 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="5" y="270" width="120" height="90" fill="#6d8764" stroke="#3a5431" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 315px; margin-left: 6px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Handshake Module</div></div></div></foreignObject><text x="65" y="319" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">Handshake Module</text></switch></g><rect x="325" y="270" width="120" height="90" fill="#6d8764" stroke="#3a5431" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 315px; margin-left: 326px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #ffffff; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Router Module</div></div></div></foreignObject><text x="385" y="319" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">Router Module</text></switch></g><rect x="165" y="440" width="120" height="80" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 480px; margin-left: 166px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Timers</div></div></div></foreignObject><text x="225" y="484" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Timers</text></switch></g><rect x="180" y="290" width="90" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 300px; margin-left: 181px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Key Material</div></div></div></foreignObject><text x="225" y="304" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Key Material</text></switch></g><path d="M 195 430 L 140.82 375.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 136.58 371.58 L 145.07 374.41 L 140.82 375.82 L 139.41 380.07 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="70" y="400" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 83px; height: 1px; padding-top: 410px; margin-left: 71px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Request New Handshake</div></div></div></foreignObject><text x="113" y="414" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Request New Ha...</text></switch></g><path d="M 315 370 L 260.82 424.18" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 256.58 428.42 L 259.41 419.93 L 260.82 424.18 L 265.07 425.59 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="277.5" y="400" width="100" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 410px; margin-left: 279px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Send / Recv Events</div></div></div></foreignObject><text x="328" y="414" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Send / Recv Even...</text></switch></g><rect x="0" y="530" width="130" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 540px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font color="#FFFFFF">WireGuard Module</font></div></div></div></foreignObject><text x="65" y="544" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">WireGuard Module</text></switch></g><rect x="165" y="120" width="120" height="80" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 160px; margin-left: 166px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Packet Demultiplexer</div></div></div></foreignObject><text x="225" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Packet Demultiplexer</text></switch></g><path d="M 195 210 L 136.53 254.98" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 131.77 258.64 L 135.67 250.59 L 136.53 254.98 L 140.55 256.93 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 255 210 L 308.67 254.73" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 313.28 258.57 L 304.58 256.52 L 308.67 254.73 L 309.7 250.37 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="80" y="210" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 83px; height: 1px; padding-top: 220px; margin-left: 81px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Hanshake Messages</div></div></div></foreignObject><text x="123" y="224" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Hanshake Messa...</text></switch></g><rect x="285" y="210" width="85" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 83px; height: 1px; padding-top: 220px; margin-left: 286px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Transport Messages</div></div></div></foreignObject><text x="328" y="224" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Transport Mess...</text></switch></g><path d="M 225 50 L 225 101.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 225 107.76 L 221 99.76 L 225 101.76 L 229 99.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 370 370 L 370 581.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 370 587.76 L 366 579.76 L 370 581.76 L 374 579.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="325" y="600" width="120" height="40" rx="6" ry="6" fill="#b1ddf0" stroke="#10739e" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 620px; margin-left: 326px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">TUN Device</div></div></div></foreignObject><text x="385" y="624" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">TUN Device</text></switch></g><rect x="165" y="0" width="120" height="40" rx="6" ry="6" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 166px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Internet</div></div></div></foreignObject><text x="225" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Internet</text></switch></g><rect x="210" y="60" width="110" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 70px; margin-left: 211px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Read UDP Datagram</div></div></div></foreignObject><text x="265" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Read UDP Datagram</text></switch></g><rect x="292.5" y="570" width="70" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 580px; margin-left: 294px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Write IP Packet</div></div></div></foreignObject><text x="328" y="584" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Write IP Pa...</text></switch></g><path d="M 384.66 260 L 384.99 58.24" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 385 52.24 L 388.98 60.24 L 384.99 58.24 L 380.98 60.23 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 64.66 260 L 64.99 58.24" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 65 52.24 L 68.98 60.24 L 64.99 58.24 L 60.98 60.23 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="5" y="0" width="120" height="40" rx="6" ry="6" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 6px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Internet</div></div></div></foreignObject><text x="65" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Internet</text></switch></g><rect x="325" y="0" width="120" height="40" rx="6" ry="6" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 326px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Internet</div></div></div></foreignObject><text x="385" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Internet</text></switch></g><rect x="390" y="60" width="70" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 70px; margin-left: 391px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Write UDP Datagram</div></div></div></foreignObject><text x="425" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Write UDP D...</text></switch></g><rect x="70" y="60" width="70" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 70px; margin-left: 71px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Write UDP Datagram</div></div></div></foreignObject><text x="105" y="74" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Write UDP D...</text></switch></g><path d="M 400 590 L 400 378.24" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 400 372.24 L 404 380.24 L 400 378.24 L 396 380.24 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="400" y="570" width="70" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 580px; margin-left: 401px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: sans serif,serif,monospace,auto; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Read IP Packet</div></div></div></foreignObject><text x="435" y="584" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Read IP Pac...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>