| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd"> |
| <svg width="32cm" height="29cm" viewBox="50 16 628 568" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| <g> |
| <rect style="fill: #ffffff" x="70.825" y="471.5" width="136.85" height="54"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="70.825" y="471.5" width="136.85" height="54"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="139.25" y="494.4"> |
| <tspan x="139.25" y="494.4">Network Interface</tspan> |
| <tspan x="139.25" y="510.4">Instance</tspan> |
| </text> |
| </g> |
| <g> |
| <rect style="fill: #ffffff" x="403.3" y="384.8" width="136.85" height="54"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="403.3" y="384.8" width="136.85" height="54"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="471.725" y="407.7"> |
| <tspan x="471.725" y="407.7">Network Interface</tspan> |
| <tspan x="471.725" y="423.7">Instance</tspan> |
| </text> |
| </g> |
| <g> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 246 218.5 C 288.08,218.5 441,159 439.971,137.725"/> |
| <polygon style="fill: #000000" points="439.608,130.233 445.086,139.98 439.971,137.725 435.097,140.463 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="439.608,130.233 445.086,139.98 439.971,137.725 435.097,140.463 "/> |
| </g> |
| <g> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="173.5" y1="204" x2="108.779" y2="136.812"/> |
| <polygon style="fill: #000000" points="103.576,131.41 114.115,135.144 108.779,136.812 106.913,142.081 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="103.576,131.41 114.115,135.144 108.779,136.812 106.913,142.081 "/> |
| </g> |
| <g> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="105.038" y1="471.5" x2="135.469" y2="308.571"/> |
| <polygon style="fill: #000000" points="136.846,301.198 139.925,311.946 135.469,308.571 130.095,310.11 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="136.846,301.198 139.925,311.946 135.469,308.571 130.095,310.11 "/> |
| </g> |
| <g> |
| <rect style="fill: #ffffff" x="101" y="204" width="145" height="58"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="101" y="204" width="145" height="58"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="173.5" y="236.9"> |
| <tspan x="173.5" y="236.9">RX thread</tspan> |
| </text> |
| </g> |
| <g> |
| <rect style="fill: #ffffff" x="101" y="261" width="145.025" height="38"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="101" y="261" width="145.025" height="38"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="173.512" y="283.9"> |
| <tspan x="173.512" y="283.9">RX queue</tspan> |
| </text> |
| </g> |
| <g> |
| <rect style="fill: #ffffff" x="416.424" y="242.6" width="175.35" height="58"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="416.424" y="242.6" width="175.35" height="58"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="504.099" y="275.5"> |
| <tspan x="504.099" y="275.5">TX thread</tspan> |
| </text> |
| </g> |
| <g> |
| <rect style="fill: #ffffff" x="416.3" y="196.8" width="175" height="54"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="416.3" y="196.8" width="175" height="54"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="503.8" y="219.7"> |
| <tspan x="503.8" y="219.7">TX queues,</tspan> |
| <tspan x="503.8" y="235.7">one / network interface</tspan> |
| </text> |
| </g> |
| <g> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 403.3 411.8 C 338.792,411.8 235.769,350 214.191,307.674"/> |
| <polygon style="fill: #000000" points="210.784,300.992 219.781,307.63 214.191,307.674 210.872,312.172 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="210.784,300.992 219.781,307.63 214.191,307.674 210.872,312.172 "/> |
| </g> |
| <g> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M 249.525 130.8 C 258.525,171.8 384.66,237.3 406.564,237.3"/> |
| <polygon style="fill: #000000" points="414.064,237.3 404.064,242.3 406.564,237.3 404.064,232.3 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="414.064,237.3 404.064,242.3 406.564,237.3 404.064,232.3 "/> |
| </g> |
| <g> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M 587 129 C 571,148 507,161 504.667,187.103"/> |
| <polygon style="fill: #000000" points="503.999,194.573 499.909,184.167 504.667,187.103 509.87,185.058 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="503.999,194.573 499.909,184.167 504.667,187.103 509.87,185.058 "/> |
| </g> |
| <g> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M 547.936 300.6 C 490,329 472,362 471.843,375.065"/> |
| <polygon style="fill: #000000" points="471.753,382.564 466.873,372.505 471.843,375.065 476.873,372.625 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="471.753,382.564 466.873,372.505 471.843,375.065 476.873,372.625 "/> |
| </g> |
| <g> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M 460.261 300.6 C 428.999,346 200,411 177.373,462.584"/> |
| <polygon style="fill: #000000" points="174.361,469.452 173.799,458.286 177.373,462.584 182.956,462.303 "/> |
| <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="174.361,469.452 173.799,458.286 177.373,462.584 182.956,462.303 "/> |
| </g> |
| <g> |
| <rect style="fill: #ffffff" x="389" y="18" width="264" height="111"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="389" y="18" width="264" height="111"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="521" y="77.4"> |
| <tspan x="521" y="77.4">Task B</tspan> |
| </text> |
| </g> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="579" y="123.5"> |
| <tspan x="579" y="123.5">TX</tspan> |
| </text> |
| <g> |
| <rect style="fill: #ffffff" x="51.525" y="19.8" width="264" height="111"/> |
| <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="51.525" y="19.8" width="264" height="111"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="183.525" y="79.2"> |
| <tspan x="183.525" y="79.2">Task A</tspan> |
| </text> |
| </g> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="241.526" y="123.3"> |
| <tspan x="241.526" y="123.3">TX</tspan> |
| </text> |
| <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347,464 347,463 437.512,463 437.512,438.8 "/> |
| <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="105.038,525.5 105.038,565 191.03,565 191.03,561.838 "/> |
| <g> |
| <path style="fill: #ffffff" d="M 180.108 552.696 C 177.009,552.546 171,555.697 171.845,562.45 C 172.69,569.203 176.728,570.704 178.418,568.753 C 180.108,566.802 175.789,578.207 184.052,581.209 C 192.315,584.21 196.54,579.408 195.319,575.956 C 194.099,572.505 202.549,584.06 206.493,577.457 C 210.437,570.854 202.455,564.551 204.146,565.452 C 205.836,566.352 211,565.152 209.31,553.896 C 207.62,542.641 192.408,551.345 194.099,549.695 C 195.789,548.044 191.563,539.79 186.305,541.441 C 181.047,543.092 180.674,546.087 180.111,552.69 L 180.108,552.696z"/> |
| <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 180.108 552.696 C 177.009,552.546 171,555.697 171.845,562.45 C 172.69,569.203 176.728,570.704 178.418,568.753 C 180.108,566.802 175.789,578.207 184.052,581.209 C 192.315,584.21 196.54,579.408 195.319,575.956 C 194.099,572.505 202.549,584.06 206.493,577.457 C 210.437,570.854 202.455,564.551 204.146,565.452 C 205.836,566.352 211,565.152 209.31,553.896 C 207.62,542.641 192.408,551.345 194.099,549.695 C 195.789,548.044 191.563,539.79 186.305,541.441 C 181.047,543.092 180.674,546.087 180.111,552.69 L 180.108,552.696"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="192.072" y="566.783"> |
| <tspan x="192.072" y="566.783"></tspan> |
| </text> |
| </g> |
| <g> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x1="589" y1="556" x2="677" y2="557"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="605" y="552"> |
| <tspan x="605" y="552">Transmit</tspan> |
| </text> |
| </g> |
| <g> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="589" y1="520" x2="677" y2="521"/> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="606" y="514"> |
| <tspan x="606" y="514">Receive</tspan> |
| </text> |
| </g> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="96.525" y="123.3"> |
| <tspan x="96.525" y="123.3">RX</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="433.3" y="117.7"> |
| <tspan x="433.3" y="117.7">RX</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="85" y="179"> |
| <tspan x="85" y="179">callback</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="325" y="173"> |
| <tspan x="325" y="173">callback</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="128" y="374"> |
| <tspan x="128" y="374">fifo</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="251.3" y="342.7"> |
| <tspan x="251.3" y="342.7">fifo</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="498.6" y="151.5"> |
| <tspan x="498.6" y="151.5">fifo</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="284.2" y="162.1"> |
| <tspan x="284.2" y="162.1">fifo</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="200" y="398"> |
| <tspan x="200" y="398">function</tspan> |
| <tspan x="200" y="414">call</tspan> |
| </text> |
| <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="514.3" y="335.7"> |
| <tspan x="514.3" y="335.7">function</tspan> |
| <tspan x="514.3" y="351.7">call</tspan> |
| </text> |
| <g> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="347.001" y1="464" x2="347.001" y2="437.333"/> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="338.112" y1="424" x2="347.001" y2="437.333"/> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="347.001" y1="424" x2="347.001" y2="437.333"/> |
| <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="355.89" y1="424" x2="347.001" y2="437.333"/> |
| </g> |
| </svg> |