doc: add GSO programmer's guide
Add programmer's guide doc to explain the design and use of the GSO library. Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com> Signed-off-by: Jiayu Hu <jiayu.hu@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
This commit is contained in:
parent
52f38a2055
commit
f6010c7655
@ -655,6 +655,12 @@ M: Jiayu Hu <jiayu.hu@intel.com>
|
||||
F: lib/librte_gro/
|
||||
F: doc/guides/prog_guide/generic_receive_offload_lib.rst
|
||||
|
||||
Generic Segmentation Offload
|
||||
M: Jiayu Hu <jiayu.hu@intel.com>
|
||||
M: Mark Kavanagh <mark.b.kavanagh@intel.com>
|
||||
F: lib/librte_gso/
|
||||
F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst
|
||||
|
||||
Distributor
|
||||
M: Bruce Richardson <bruce.richardson@intel.com>
|
||||
M: David Hunt <david.hunt@intel.com>
|
||||
|
256
doc/guides/prog_guide/generic_segmentation_offload_lib.rst
Normal file
256
doc/guides/prog_guide/generic_segmentation_offload_lib.rst
Normal file
@ -0,0 +1,256 @@
|
||||
.. BSD LICENSE
|
||||
Copyright(c) 2017 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.
|
||||
|
||||
Generic Segmentation Offload Library
|
||||
====================================
|
||||
|
||||
Overview
|
||||
--------
|
||||
Generic Segmentation Offload (GSO) is a widely used software implementation of
|
||||
TCP Segmentation Offload (TSO), which reduces per-packet processing overhead.
|
||||
Much like TSO, GSO gains performance by enabling upper layer applications to
|
||||
process a smaller number of large packets (e.g. MTU size of 64KB), instead of
|
||||
processing higher numbers of small packets (e.g. MTU size of 1500B), thus
|
||||
reducing per-packet overhead.
|
||||
|
||||
For example, GSO allows guest kernel stacks to transmit over-sized TCP segments
|
||||
that far exceed the kernel interface's MTU; this eliminates the need to segment
|
||||
packets within the guest, and improves the data-to-overhead ratio of both the
|
||||
guest-host link, and PCI bus. The expectation of the guest network stack in this
|
||||
scenario is that segmentation of egress frames will take place either in the NIC
|
||||
HW, or where that hardware capability is unavailable, either in the host
|
||||
application, or network stack.
|
||||
|
||||
Bearing that in mind, the GSO library enables DPDK applications to segment
|
||||
packets in software. Note however, that GSO is implemented as a standalone
|
||||
library, and not via a 'fallback' mechanism (i.e. for when TSO is unsupported
|
||||
in the underlying hardware); that is, applications must explicitly invoke the
|
||||
GSO library to segment packets. The size of GSO segments ``(segsz)`` is
|
||||
configurable by the application.
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
#. The GSO library doesn't check if input packets have correct checksums.
|
||||
|
||||
#. In addition, the GSO library doesn't re-calculate checksums for segmented
|
||||
packets (that task is left to the application).
|
||||
|
||||
#. IP fragments are unsupported by the GSO library.
|
||||
|
||||
#. The egress interface's driver must support multi-segment packets.
|
||||
|
||||
#. Currently, the GSO library supports the following IPv4 packet types:
|
||||
|
||||
- TCP
|
||||
- VxLAN
|
||||
- GRE
|
||||
|
||||
See `Supported GSO Packet Types`_ for further details.
|
||||
|
||||
Packet Segmentation
|
||||
-------------------
|
||||
|
||||
The ``rte_gso_segment()`` function is the GSO library's primary
|
||||
segmentation API.
|
||||
|
||||
Before performing segmentation, an application must create a GSO context object
|
||||
``(struct rte_gso_ctx)``, which provides the library with some of the
|
||||
information required to understand how the packet should be segmented. Refer to
|
||||
`How to Segment a Packet`_ for additional details on same. Once the GSO context
|
||||
has been created, and populated, the application can then use the
|
||||
``rte_gso_segment()`` function to segment packets.
|
||||
|
||||
The GSO library typically stores each segment that it creates in two parts: the
|
||||
first part contains a copy of the original packet's headers, while the second
|
||||
part contains a pointer to an offset within the original packet. This mechanism
|
||||
is explained in more detail in `GSO Output Segment Format`_.
|
||||
|
||||
The GSO library supports both single- and multi-segment input mbufs.
|
||||
|
||||
GSO Output Segment Format
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
To reduce the number of expensive memcpy operations required when segmenting a
|
||||
packet, the GSO library typically stores each segment that it creates as a
|
||||
two-part mbuf (technically, this is termed a 'two-segment' mbuf; however, since
|
||||
the elements produced by the API are also called 'segments', for clarity the
|
||||
term 'part' is used here instead).
|
||||
|
||||
The first part of each output segment is a direct mbuf and contains a copy of
|
||||
the original packet's headers, which must be prepended to each output segment.
|
||||
These headers are copied from the original packet into each output segment.
|
||||
|
||||
The second part of each output segment, represents a section of data from the
|
||||
original packet, i.e. a data segment. Rather than copy the data directly from
|
||||
the original packet into the output segment (which would impact performance
|
||||
considerably), the second part of each output segment is an indirect mbuf,
|
||||
which contains no actual data, but simply points to an offset within the
|
||||
original packet.
|
||||
|
||||
The combination of the 'header' segment and the 'data' segment constitutes a
|
||||
single logical output GSO segment of the original packet. This is illustrated
|
||||
in :numref:`figure_gso-output-segment-format`.
|
||||
|
||||
.. _figure_gso-output-segment-format:
|
||||
|
||||
.. figure:: img/gso-output-segment-format.svg
|
||||
:align: center
|
||||
|
||||
Two-part GSO output segment
|
||||
|
||||
In one situation, the output segment may contain additional 'data' segments.
|
||||
This only occurs when:
|
||||
|
||||
- the input packet on which GSO is to be performed is represented by a
|
||||
multi-segment mbuf.
|
||||
|
||||
- the output segment is required to contain data that spans the boundaries
|
||||
between segments of the input multi-segment mbuf.
|
||||
|
||||
The GSO library traverses each segment of the input packet, and produces
|
||||
numerous output segments; for optimal performance, the number of output
|
||||
segments is kept to a minimum. Consequently, the GSO library maximizes the
|
||||
amount of data contained within each output segment; i.e. each output segment
|
||||
``segsz`` bytes of data. The only exception to this is in the case of the very
|
||||
final output segment; if ``pkt_len`` % ``segsz``, then the final segment is
|
||||
smaller than the rest.
|
||||
|
||||
In order for an output segment to meet its MSS, it may need to include data from
|
||||
multiple input segments. Due to the nature of indirect mbufs (each indirect mbuf
|
||||
can point to only one direct mbuf), the solution here is to add another indirect
|
||||
mbuf to the output segment; this additional segment then points to the next
|
||||
input segment. If necessary, this chaining process is repeated, until the sum of
|
||||
all of the data 'contained' in the output segment reaches ``segsz``. This
|
||||
ensures that the amount of data contained within each output segment is uniform,
|
||||
with the possible exception of the last segment, as previously described.
|
||||
|
||||
:numref:`figure_gso-three-seg-mbuf` illustrates an example of a three-part
|
||||
output segment. In this example, the output segment needs to include data from
|
||||
the end of one input segment, and the beginning of another. To achieve this,
|
||||
an additional indirect mbuf is chained to the second part of the output segment,
|
||||
and is attached to the next input segment (i.e. it points to the data in the
|
||||
next input segment).
|
||||
|
||||
.. _figure_gso-three-seg-mbuf:
|
||||
|
||||
.. figure:: img/gso-three-seg-mbuf.svg
|
||||
:align: center
|
||||
|
||||
Three-part GSO output segment
|
||||
|
||||
Supported GSO Packet Types
|
||||
--------------------------
|
||||
|
||||
TCP/IPv4 GSO
|
||||
~~~~~~~~~~~~
|
||||
TCP/IPv4 GSO supports segmentation of suitably large TCP/IPv4 packets, which
|
||||
may also contain an optional VLAN tag.
|
||||
|
||||
VxLAN GSO
|
||||
~~~~~~~~~
|
||||
VxLAN packets GSO supports segmentation of suitably large VxLAN packets,
|
||||
which contain an outer IPv4 header, inner TCP/IPv4 headers, and optional
|
||||
inner and/or outer VLAN tag(s).
|
||||
|
||||
GRE GSO
|
||||
~~~~~~~
|
||||
GRE GSO supports segmentation of suitably large GRE packets, which contain
|
||||
an outer IPv4 header, inner TCP/IPv4 headers, and an optional VLAN tag.
|
||||
|
||||
How to Segment a Packet
|
||||
-----------------------
|
||||
|
||||
To segment an outgoing packet, an application must:
|
||||
|
||||
#. First create a GSO context ``(struct rte_gso_ctx)``; this contains:
|
||||
|
||||
- a pointer to the mbuf pool for allocating the direct buffers, which are
|
||||
used to store the GSO segments' packet headers.
|
||||
|
||||
- a pointer to the mbuf pool for allocating indirect buffers, which are
|
||||
used to locate GSO segments' packet payloads.
|
||||
|
||||
.. note::
|
||||
|
||||
An application may use the same pool for both direct and indirect
|
||||
buffers. However, since each indirect mbuf simply stores a pointer, the
|
||||
application may reduce its memory consumption by creating a separate memory
|
||||
pool, containing smaller elements, for the indirect pool.
|
||||
|
||||
- the size of each output segment, including packet headers and payload,
|
||||
measured in bytes.
|
||||
|
||||
- the bit mask of required GSO types. The GSO library uses the same macros as
|
||||
those that describe a physical device's TX offloading capabilities (i.e.
|
||||
``DEV_TX_OFFLOAD_*_TSO``) for gso_types. For example, if an application
|
||||
wants to segment TCP/IPv4 packets, it should set gso_types to
|
||||
``DEV_TX_OFFLOAD_TCP_TSO``. The only other supported values currently
|
||||
supported for gso_types are ``DEV_TX_OFFLOAD_VXLAN_TNL_TSO``, and
|
||||
``DEV_TX_OFFLOAD_GRE_TNL_TSO``; a combination of these macros is also
|
||||
allowed.
|
||||
|
||||
- a flag, that indicates whether the IPv4 headers of output segments should
|
||||
contain fixed or incremental ID values.
|
||||
|
||||
2. Set the appropriate ol_flags in the mbuf.
|
||||
|
||||
- The GSO library use the value of an mbuf's ``ol_flags`` attribute to
|
||||
to determine how a packet should be segmented. It is the application's
|
||||
responsibility to ensure that these flags are set.
|
||||
|
||||
- For example, in order to segment TCP/IPv4 packets, the application should
|
||||
add the ``PKT_TX_IPV4`` and ``PKT_TX_TCP_SEG`` flags to the mbuf's
|
||||
ol_flags.
|
||||
|
||||
- If checksum calculation in hardware is required, the application should
|
||||
also add the ``PKT_TX_TCP_CKSUM`` and ``PKT_TX_IP_CKSUM`` flags.
|
||||
|
||||
#. Check if the packet should be processed. Packets with one of the
|
||||
following properties are not processed and are returned immediately:
|
||||
|
||||
- Packet length is less than ``segsz`` (i.e. GSO is not required).
|
||||
|
||||
- Packet type is not supported by GSO library (see
|
||||
`Supported GSO Packet Types`_).
|
||||
|
||||
- Application has not enabled GSO support for the packet type.
|
||||
|
||||
- Packet's ol_flags have been incorrectly set.
|
||||
|
||||
#. Allocate space in which to store the output GSO segments. If the amount of
|
||||
space allocated by the application is insufficient, segmentation will fail.
|
||||
|
||||
#. Invoke the GSO segmentation API, ``rte_gso_segment()``.
|
||||
|
||||
#. If required, update the L3 and L4 checksums of the newly-created segments.
|
||||
For tunneled packets, the outer IPv4 headers' checksums should also be
|
||||
updated. Alternatively, the application may offload checksum calculation
|
||||
to HW.
|
||||
|
313
doc/guides/prog_guide/img/gso-output-segment-format.svg
Normal file
313
doc/guides/prog_guide/img/gso-output-segment-format.svg
Normal file
@ -0,0 +1,313 @@
|
||||
<?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 gso-output-segment-format.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="19.3975in" height="8.21796in"
|
||||
viewBox="0 0 1396.62 591.693" xml:space="preserve" color-interpolation-filters="sRGB" class="st21">
|
||||
<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
|
||||
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#006fc5;stroke:#006fc5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0552552}
|
||||
.st2 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st3 {stroke:#c3d600;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.68828}
|
||||
.st4 {fill:#c3d600;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st5 {stroke:#8f9d00;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.75735}
|
||||
.st6 {fill:#00aeef;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st7 {stroke:#007fb0;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.75735}
|
||||
.st8 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st9 {fill:#ffffff;font-family:Intel Clear;font-size:1.99999em;font-weight:bold}
|
||||
.st10 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0552552}
|
||||
.st11 {fill:#ffffff;font-family:Intel Clear;font-size:2.44732em;font-weight:bold}
|
||||
.st12 {fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-width:5.52552}
|
||||
.st13 {fill:#000000;font-family:Intel Clear;font-size:2.15291em}
|
||||
.st14 {fill:#000000;font-family:Intel Clear;font-size:1.8401em}
|
||||
.st15 {fill:#006fc5;stroke:#006fc5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0276276}
|
||||
.st16 {fill:#c3d600;font-family:Intel Clear;font-size:2.44732em}
|
||||
.st17 {fill:#ffc000;font-family:Intel Clear;font-size:2.44732em}
|
||||
.st18 {fill:#ffc000;stroke:#ffc000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0276276}
|
||||
.st19 {fill:#0070c0;font-family:Intel Clear;font-size:1.8401em}
|
||||
.st20 {fill:#006fc5;font-family:Intel Clear;font-size:1.61927em}
|
||||
.st21 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
|
||||
<title>Page-1</title>
|
||||
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
|
||||
v:shadowOffsetY="-8.50394"/>
|
||||
<g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(577.244,-560.42)">
|
||||
<title>Sheet.3</title>
|
||||
<path d="M9.24 585.29 L16.32 585.29 L16.32 587.06 L9.24 587.06 L9.24 585.29 L9.24 585.29 ZM21.63 585.29 L23.4 585.29
|
||||
L23.4 587.06 L21.63 587.06 L21.63 585.29 L21.63 585.29 ZM28.7 585.29 L35.78 585.29 L35.78 587.06 L28.7 587.06
|
||||
L28.7 585.29 L28.7 585.29 ZM41.09 585.29 L42.86 585.29 L42.86 587.06 L41.09 587.06 L41.09 585.29 L41.09
|
||||
585.29 ZM48.17 585.29 L55.25 585.29 L55.25 587.06 L48.17 587.06 L48.17 585.29 L48.17 585.29 ZM60.56 585.29
|
||||
L62.33 585.29 L62.33 587.06 L60.56 587.06 L60.56 585.29 L60.56 585.29 ZM67.64 585.29 L74.72 585.29 L74.72
|
||||
587.06 L67.64 587.06 L67.64 585.29 L67.64 585.29 ZM80.03 585.29 L81.8 585.29 L81.8 587.06 L80.03 587.06
|
||||
L80.03 585.29 L80.03 585.29 ZM87.11 585.29 L94.19 585.29 L94.19 587.06 L87.11 587.06 L87.11 585.29 L87.11
|
||||
585.29 ZM99.5 585.29 L101.27 585.29 L101.27 587.06 L99.5 587.06 L99.5 585.29 L99.5 585.29 ZM106.58 585.29
|
||||
L113.66 585.29 L113.66 587.06 L106.58 587.06 L106.58 585.29 L106.58 585.29 ZM118.97 585.29 L120.74 585.29
|
||||
L120.74 587.06 L118.97 587.06 L118.97 585.29 L118.97 585.29 ZM126.05 585.29 L133.13 585.29 L133.13 587.06
|
||||
L126.05 587.06 L126.05 585.29 L126.05 585.29 ZM138.43 585.29 L140.2 585.29 L140.2 587.06 L138.43 587.06
|
||||
L138.43 585.29 L138.43 585.29 ZM145.51 585.29 L152.59 585.29 L152.59 587.06 L145.51 587.06 L145.51 585.29
|
||||
L145.51 585.29 ZM157.9 585.29 L159.67 585.29 L159.67 587.06 L157.9 587.06 L157.9 585.29 L157.9 585.29 ZM164.98
|
||||
585.29 L172.06 585.29 L172.06 587.06 L164.98 587.06 L164.98 585.29 L164.98 585.29 ZM177.37 585.29 L179.14
|
||||
585.29 L179.14 587.06 L177.37 587.06 L177.37 585.29 L177.37 585.29 ZM184.45 585.29 L191.53 585.29 L191.53
|
||||
587.06 L184.45 587.06 L184.45 585.29 L184.45 585.29 ZM196.84 585.29 L198.61 585.29 L198.61 587.06 L196.84
|
||||
587.06 L196.84 585.29 L196.84 585.29 ZM203.92 585.29 L211 585.29 L211 587.06 L203.92 587.06 L203.92 585.29
|
||||
L203.92 585.29 ZM216.31 585.29 L218.08 585.29 L218.08 587.06 L216.31 587.06 L216.31 585.29 L216.31 585.29
|
||||
ZM223.39 585.29 L230.47 585.29 L230.47 587.06 L223.39 587.06 L223.39 585.29 L223.39 585.29 ZM235.78 585.29
|
||||
L237.55 585.29 L237.55 587.06 L235.78 587.06 L235.78 585.29 L235.78 585.29 ZM242.86 585.29 L249.93 585.29
|
||||
L249.93 587.06 L242.86 587.06 L242.86 585.29 L242.86 585.29 ZM255.24 585.29 L257.01 585.29 L257.01 587.06
|
||||
L255.24 587.06 L255.24 585.29 L255.24 585.29 ZM262.32 585.29 L269.4 585.29 L269.4 587.06 L262.32 587.06
|
||||
L262.32 585.29 L262.32 585.29 ZM274.71 585.29 L276.48 585.29 L276.48 587.06 L274.71 587.06 L274.71 585.29
|
||||
L274.71 585.29 ZM281.79 585.29 L288.87 585.29 L288.87 587.06 L281.79 587.06 L281.79 585.29 L281.79 585.29
|
||||
ZM294.18 585.29 L295.95 585.29 L295.95 587.06 L294.18 587.06 L294.18 585.29 L294.18 585.29 ZM301.26 585.29
|
||||
L308.34 585.29 L308.34 587.06 L301.26 587.06 L301.26 585.29 L301.26 585.29 ZM313.65 585.29 L315.42 585.29
|
||||
L315.42 587.06 L313.65 587.06 L313.65 585.29 L313.65 585.29 ZM320.73 585.29 L324.99 585.29 L324.99 587.06
|
||||
L320.73 587.06 L320.73 585.29 L320.73 585.29 ZM11.06 591.69 L0 586.17 L11.06 580.65 L11.06 591.69 L11.06
|
||||
591.69 ZM323.16 580.65 L334.22 586.17 L323.16 591.69 L323.16 580.65 L323.16 580.65 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape4-3" v:mID="4" v:groupContext="shape" transform="translate(184.298,-201.906)">
|
||||
<title>Sheet.4</title>
|
||||
<path d="M94.04 570.43 L117.87 557.26 L0 344.58 L47.68 318.26 L165.55 530.94 L189.39 517.79 L168.08 591.69 L94.04 570.43
|
||||
Z" class="st2"/>
|
||||
</g>
|
||||
<g id="shape5-5" v:mID="5" v:groupContext="shape" transform="translate(184.298,-201.906)">
|
||||
<title>Sheet.5</title>
|
||||
<path d="M94.04 570.43 L117.87 557.26 L0 344.58 L47.68 318.26 L165.55 530.94 L189.39 517.79 L168.08 591.69 L94.04 570.43"
|
||||
class="st3"/>
|
||||
</g>
|
||||
<g id="shape6-8" v:mID="6" v:groupContext="shape" transform="translate(119.408,-447.917)">
|
||||
<title>Sheet.6</title>
|
||||
<path d="M0 510.21 L0 591.69 L129.86 591.69 L129.86 510.21 L0 510.21 L0 510.21 Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape7-10" v:mID="7" v:groupContext="shape" transform="translate(119.408,-447.917)">
|
||||
<title>Sheet.7</title>
|
||||
<path d="M0 510.21 L129.86 510.21 L129.86 591.69 L0 591.69 L0 510.21" class="st5"/>
|
||||
</g>
|
||||
<g id="shape10-13" v:mID="10" v:groupContext="shape" transform="translate(250.819,-447.917)">
|
||||
<title>Sheet.10</title>
|
||||
<path d="M0 510.21 L0 591.69 L822.53 591.69 L822.53 510.21 L0 510.21 L0 510.21 Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape11-15" v:mID="11" v:groupContext="shape" transform="translate(250.819,-447.917)">
|
||||
<title>Sheet.11</title>
|
||||
<path d="M0 510.21 L822.53 510.21 L822.53 591.69 L0 591.69 L0 510.21" class="st7"/>
|
||||
</g>
|
||||
<g id="shape12-18" v:mID="12" v:groupContext="shape" transform="translate(255.478,-470.123)">
|
||||
<title>Sheet.12</title>
|
||||
<desc>Payload 0</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="157.315" cy="574.07" width="314.63" height="35.245"/>
|
||||
<path d="M314.63 556.45 L0 556.45 L0 591.69 L314.63 591.69 L314.63 556.45" class="st8"/>
|
||||
<text x="102.08" y="581.27" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 0</text> </g>
|
||||
<g id="shape13-22" v:mID="13" v:groupContext="shape" transform="translate(577.354,-470.123)">
|
||||
<title>Sheet.13</title>
|
||||
<desc>Payload 1</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="167.112" cy="574.07" width="334.23" height="35.245"/>
|
||||
<path d="M334.22 556.45 L0 556.45 L0 591.69 L334.22 591.69 L334.22 556.45" class="st8"/>
|
||||
<text x="111.88" y="581.27" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 1</text> </g>
|
||||
<g id="shape14-26" v:mID="14" v:groupContext="shape" transform="translate(910.635,-470.956)">
|
||||
<title>Sheet.14</title>
|
||||
<desc>Payload 2</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="81.8509" cy="574.07" width="163.71" height="35.245"/>
|
||||
<path d="M163.7 556.45 L0 556.45 L0 591.69 L163.7 591.69 L163.7 556.45" class="st8"/>
|
||||
<text x="26.61" y="581.27" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 2</text> </g>
|
||||
<g id="shape15-30" v:mID="15" v:groupContext="shape" transform="translate(909.144,-453.824)">
|
||||
<title>Sheet.15</title>
|
||||
<path d="M1.16 453.85 L1.05 465.33 L3.93 465.39 L4.04 453.91 L1.16 453.85 L1.16 453.85 ZM1 473.95 L0.94 476.82 L3.82
|
||||
476.87 L3.87 474 L1 473.95 L1 473.95 ZM0.88 485.43 L0.77 496.91 L3.65 496.96 L3.76 485.48 L0.88 485.43 L0.88
|
||||
485.43 ZM0.72 505.52 L0.72 508.39 L3.59 508.45 L3.59 505.58 L0.72 505.52 L0.72 505.52 ZM0.61 517 L0.55 528.49
|
||||
L3.43 528.54 L3.48 517.06 L0.61 517 L0.61 517 ZM0.44 537.1 L0.44 539.97 L3.32 540.02 L3.32 537.15 L0.44
|
||||
537.1 L0.44 537.1 ZM0.39 548.58 L0.28 560.06 L3.15 560.12 L3.26 548.63 L0.39 548.58 L0.39 548.58 ZM0.22
|
||||
568.67 L0.17 571.54 L3.04 571.6 L3.1 568.73 L0.22 568.67 L0.22 568.67 ZM0.11 580.16 L0 591.64 L2.88 591.69
|
||||
L2.99 580.21 L0.11 580.16 L0.11 580.16 Z" class="st10"/>
|
||||
</g>
|
||||
<g id="shape16-32" v:mID="16" v:groupContext="shape" transform="translate(119.187,-447.917)">
|
||||
<title>Sheet.16</title>
|
||||
<path d="M0 510.21 L0 591.69 L129.86 591.69 L129.86 510.21 L0 510.21 L0 510.21 Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape17-34" v:mID="17" v:groupContext="shape" transform="translate(119.187,-447.917)">
|
||||
<title>Sheet.17</title>
|
||||
<path d="M0 510.21 L129.86 510.21 L129.86 591.69 L0 591.69 L0 510.21" class="st5"/>
|
||||
</g>
|
||||
<g id="shape18-37" v:mID="18" v:groupContext="shape" transform="translate(121.944,-471.034)">
|
||||
<title>Sheet.18</title>
|
||||
<desc>Header</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="61.0973" cy="574.07" width="122.2" height="35.245"/>
|
||||
<path d="M122.19 556.45 L0 556.45 L0 591.69 L122.19 591.69 L122.19 556.45" class="st8"/>
|
||||
<text x="20.61" y="581.27" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Header</text> </g>
|
||||
<g id="shape19-41" v:mID="19" v:groupContext="shape" transform="translate(329.798,-1.87868)">
|
||||
<title>Sheet.19</title>
|
||||
<path d="M0 510.43 L0 591.69 L289.81 591.69 L289.81 510.43 L0 510.43 L0 510.43 Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape20-43" v:mID="20" v:groupContext="shape" transform="translate(329.798,-1.87868)">
|
||||
<title>Sheet.20</title>
|
||||
<path d="M0 510.43 L289.81 510.43 L289.81 591.69 L0 591.69 L0 510.43" class="st5"/>
|
||||
</g>
|
||||
<g id="shape21-46" v:mID="21" v:groupContext="shape" transform="translate(424.908,-21.567)">
|
||||
<title>Sheet.21</title>
|
||||
<desc>Header</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="61.0973" cy="574.07" width="122.2" height="35.245"/>
|
||||
<path d="M122.19 556.45 L0 556.45 L0 591.69 L122.19 591.69 L122.19 556.45" class="st8"/>
|
||||
<text x="11.55" y="582.88" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Header</text> </g>
|
||||
<g id="shape22-50" v:mID="22" v:groupContext="shape" transform="translate(619.609,-1.87868)">
|
||||
<title>Sheet.22</title>
|
||||
<path d="M0 510.43 L0 591.69 L453.74 591.69 L453.74 510.43 L0 510.43 L0 510.43 Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape23-52" v:mID="23" v:groupContext="shape" transform="translate(619.609,-1.87868)">
|
||||
<title>Sheet.23</title>
|
||||
<path d="M0 510.43 L453.74 510.43 L453.74 591.69 L0 591.69 L0 510.43" class="st7"/>
|
||||
</g>
|
||||
<g id="shape24-55" v:mID="24" v:groupContext="shape" transform="translate(778.624,-21.5672)">
|
||||
<title>Sheet.24</title>
|
||||
<desc>Payload 1</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="81.8509" cy="574.07" width="163.71" height="35.245"/>
|
||||
<path d="M163.7 556.45 L0 556.45 L0 591.69 L163.7 591.69 L163.7 556.45" class="st8"/>
|
||||
<text x="14.26" y="582.88" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 1</text> </g>
|
||||
<g id="shape25-59" v:mID="25" v:groupContext="shape" transform="translate(710.092,-113.83)">
|
||||
<title>Sheet.25</title>
|
||||
<path d="M0 522.69 C0 515.07 6.19 508.89 13.83 508.89 L349.43 508.89 C357.12 508.89 363.26 515.07 363.26 522.69 L363.26
|
||||
577.89 C363.26 585.57 357.12 591.69 349.43 591.69 L13.83 591.69 C6.19 591.69 0 585.57 0 577.89 L0 522.69
|
||||
Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape26-61" v:mID="26" v:groupContext="shape" transform="translate(710.092,-113.83)">
|
||||
<title>Sheet.26</title>
|
||||
<path d="M0 522.69 C0 515.07 6.19 508.89 13.83 508.89 L349.43 508.89 C357.12 508.89 363.26 515.07 363.26 522.69 L363.26
|
||||
577.89 C363.26 585.57 357.12 591.69 349.43 591.69 L13.83 591.69 C6.19 591.69 0 585.57 0 577.89 L0 522.69
|
||||
Z" class="st12"/>
|
||||
</g>
|
||||
<g id="shape27-63" v:mID="27" v:groupContext="shape" transform="translate(813.057,-150.108)">
|
||||
<title>Sheet.27</title>
|
||||
<desc>Indirect mbuf</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="94.1386" cy="576.19" width="188.28" height="31.0055"/>
|
||||
<path d="M188.28 560.69 L0 560.69 L0 591.69 L188.28 591.69 L188.28 560.69" class="st8"/>
|
||||
<text x="15.43" y="583.94" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Indirect mbuf</text> </g>
|
||||
<g id="shape28-67" v:mID="28" v:groupContext="shape" transform="translate(810.845,-123.854)">
|
||||
<title>Sheet.28</title>
|
||||
<desc>(pointer to data)</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="95.5065" cy="578.442" width="191.02" height="26.501"/>
|
||||
<path d="M191.01 565.19 L0 565.19 L0 591.69 L191.01 591.69 L191.01 565.19" class="st8"/>
|
||||
<text x="15.15" y="585.07" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(pointer to data)</text> </g>
|
||||
<g id="shape29-71" v:mID="29" v:groupContext="shape" transform="translate(573.151,-149.601)">
|
||||
<title>Sheet.29</title>
|
||||
<path d="M0 584.74 L127.76 584.74 L127.76 587.61 L0 587.61 L0 584.74 L0 584.74 ZM125.91 580.65 L136.97 586.17 L125.91
|
||||
591.69 L125.91 580.65 L125.91 580.65 Z" class="st15"/>
|
||||
</g>
|
||||
<g id="shape30-73" v:mID="30" v:groupContext="shape" transform="translate(0,-309.671)">
|
||||
<title>Sheet.30</title>
|
||||
<desc>Memory copy</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="108.076" cy="574.07" width="216.16" height="35.245"/>
|
||||
<path d="M216.15 556.45 L0 556.45 L0 591.69 L216.15 591.69 L216.15 556.45" class="st8"/>
|
||||
<text x="17.68" y="582.88" class="st16" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Memory copy</text> </g>
|
||||
<g id="shape31-77" v:mID="31" v:groupContext="shape" transform="translate(680.77,-305.707)">
|
||||
<title>Sheet.31</title>
|
||||
<desc>No Memory Copy</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="136.547" cy="574.07" width="273.1" height="35.245"/>
|
||||
<path d="M273.09 556.45 L0 556.45 L0 591.69 L273.09 591.69 L273.09 556.45" class="st8"/>
|
||||
<text x="21.4" y="582.88" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>No Memory Copy</text> </g>
|
||||
<g id="shape32-81" v:mID="32" v:groupContext="shape" transform="translate(1102.72,-26.7532)">
|
||||
<title>Sheet.32</title>
|
||||
<desc>Logical output segment</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="138.243" cy="578.442" width="276.49" height="26.501"/>
|
||||
<path d="M276.49 565.19 L0 565.19 L0 591.69 L276.49 591.69 L276.49 565.19" class="st8"/>
|
||||
<text x="20.73" y="585.07" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Logical output segment</text> </g>
|
||||
<g id="shape36-85" v:mID="36" v:groupContext="shape" transform="translate(1106.81,-138.647)">
|
||||
<title>Sheet.36</title>
|
||||
<desc>Two-part output segment</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="144.906" cy="578.442" width="289.82" height="26.501"/>
|
||||
<path d="M289.81 565.19 L0 565.19 L0 591.69 L289.81 591.69 L289.81 565.19" class="st8"/>
|
||||
<text x="16.56" y="585.07" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Two-part output segment</text> </g>
|
||||
<g id="shape37-89" v:mID="37" v:groupContext="shape" transform="translate(575.916,-453.879)">
|
||||
<title>Sheet.37</title>
|
||||
<path d="M2.88 453.91 L2.9 465.39 L0.03 465.39 L0 453.91 L2.88 453.91 L2.88 453.91 ZM2.9 474 L2.9 476.87 L0.03 476.87
|
||||
L0.03 474 L2.9 474 L2.9 474 ZM2.9 485.48 L2.9 496.96 L0.03 496.96 L0.03 485.48 L2.9 485.48 L2.9 485.48 ZM2.9
|
||||
505.58 L2.9 508.45 L0.03 508.45 L0.03 505.58 L2.9 505.58 L2.9 505.58 ZM2.9 517.06 L2.9 528.54 L0.03 528.54
|
||||
L0.03 517.06 L2.9 517.06 L2.9 517.06 ZM2.9 537.15 L2.9 540.02 L0.03 540.02 L0.03 537.15 L2.9 537.15 L2.9
|
||||
537.15 ZM2.9 548.63 L2.9 560.12 L0.03 560.12 L0.03 548.63 L2.9 548.63 L2.9 548.63 ZM2.9 568.73 L2.9 571.6
|
||||
L0.03 571.6 L0.03 568.73 L2.9 568.73 L2.9 568.73 ZM2.9 580.21 L2.9 591.69 L0.03 591.69 L0.03 580.21 L2.9
|
||||
580.21 L2.9 580.21 Z" class="st18"/>
|
||||
</g>
|
||||
<g id="shape38-91" v:mID="38" v:groupContext="shape" transform="translate(577.354,-193.764)">
|
||||
<title>Sheet.38</title>
|
||||
<path d="M5.59 347.01 L10.92 357.16 L8.38 358.52 L3.04 348.36 L5.59 347.01 L5.59 347.01 ZM14.96 364.78 L16.29 367.32
|
||||
L13.74 368.67 L12.42 366.13 L14.96 364.78 L14.96 364.78 ZM20.33 374.97 L25.66 385.12 L23.12 386.45 L17.78
|
||||
376.29 L20.33 374.97 L20.33 374.97 ZM29.7 392.74 L31.03 395.28 L28.48 396.61 L27.16 394.07 L29.7 392.74
|
||||
L29.7 392.74 ZM35.04 402.9 L40.4 413.06 L37.86 414.38 L32.49 404.22 L35.04 402.9 L35.04 402.9 ZM44.41 420.67
|
||||
L45.77 423.21 L43.22 424.57 L41.87 422.03 L44.41 420.67 L44.41 420.67 ZM49.78 430.83 L55.14 440.99 L52.6
|
||||
442.34 L47.23 432.18 L49.78 430.83 L49.78 430.83 ZM59.15 448.61 L60.51 451.15 L57.96 452.5 L56.61 449.96
|
||||
L59.15 448.61 L59.15 448.61 ZM64.52 458.79 L69.88 468.95 L67.34 470.27 L61.97 460.12 L64.52 458.79 L64.52
|
||||
458.79 ZM73.89 476.57 L75.25 479.11 L72.7 480.43 L71.35 477.89 L73.89 476.57 L73.89 476.57 ZM79.26 486.72
|
||||
L84.62 496.88 L82.08 498.21 L76.71 488.05 L79.26 486.72 L79.26 486.72 ZM88.63 504.5 L89.96 507.04 L87.41
|
||||
508.39 L86.09 505.85 L88.63 504.5 L88.63 504.5 ZM94 514.66 L99.33 524.81 L96.79 526.17 L91.45 516.01 L94
|
||||
514.66 L94 514.66 ZM103.37 532.43 L104.7 534.97 L102.15 536.32 L100.83 533.79 L103.37 532.43 L103.37 532.43
|
||||
ZM108.73 542.62 L114.07 552.77 L111.53 554.1 L106.19 543.94 L108.73 542.62 L108.73 542.62 ZM118.11 560.39
|
||||
L119.44 562.93 L116.89 564.26 L115.57 561.72 L118.11 560.39 L118.11 560.39 ZM123.45 570.55 L128.81 580.71
|
||||
L126.27 582.03 L120.9 571.87 L123.45 570.55 L123.45 570.55 ZM132.82 588.33 L133.9 590.37 L131.36 591.69
|
||||
L130.28 589.68 L132.82 588.33 L132.82 588.33 ZM0.28 351.89 L0 339.53 L10.07 346.73 L0.28 351.89 L0.28 351.89
|
||||
Z" class="st18"/>
|
||||
</g>
|
||||
<g id="shape39-93" v:mID="39" v:groupContext="shape" transform="translate(329.798,-113.83)">
|
||||
<title>Sheet.39</title>
|
||||
<path d="M0 522.69 C0 515.07 6.19 508.89 13.83 508.89 L229.53 508.89 C237.19 508.89 243.35 515.07 243.35 522.69 L243.35
|
||||
577.89 C243.35 585.54 237.19 591.69 229.53 591.69 L13.83 591.69 C6.19 591.69 0 585.54 0 577.89 L0 522.69
|
||||
Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape40-95" v:mID="40" v:groupContext="shape" transform="translate(329.798,-113.83)">
|
||||
<title>Sheet.40</title>
|
||||
<path d="M0 522.69 C0 515.07 6.19 508.89 13.83 508.89 L229.53 508.89 C237.19 508.89 243.35 515.07 243.35 522.69 L243.35
|
||||
577.89 C243.35 585.54 237.19 591.69 229.53 591.69 L13.83 591.69 C6.19 591.69 0 585.54 0 577.89 L0 522.69
|
||||
Z" class="st12"/>
|
||||
</g>
|
||||
<g id="shape41-97" v:mID="41" v:groupContext="shape" transform="translate(368.774,-150.453)">
|
||||
<title>Sheet.41</title>
|
||||
<desc>Direct mbuf</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="82.7002" cy="576.19" width="165.41" height="31.0055"/>
|
||||
<path d="M165.4 560.69 L0 560.69 L0 591.69 L165.4 591.69 L165.4 560.69" class="st8"/>
|
||||
<text x="13.94" y="583.94" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Direct mbuf</text> </g>
|
||||
<g id="shape42-101" v:mID="42" v:groupContext="shape" transform="translate(351.856,-123.854)">
|
||||
<title>Sheet.42</title>
|
||||
<desc>(copy of headers)</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="102.121" cy="578.442" width="204.25" height="26.501"/>
|
||||
<path d="M204.24 565.19 L0 565.19 L0 591.69 L204.24 591.69 L204.24 565.19" class="st8"/>
|
||||
<text x="16.02" y="585.07" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(copy of headers)</text> </g>
|
||||
<g id="shape43-105" v:mID="43" v:groupContext="shape" transform="translate(619.797,-155.563)">
|
||||
<title>Sheet.43</title>
|
||||
<desc>next</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="28.011" cy="578.442" width="56.03" height="26.501"/>
|
||||
<path d="M56.02 565.19 L0 565.19 L0 591.69 L56.02 591.69 L56.02 565.19" class="st8"/>
|
||||
<text x="6.35" y="585.07" class="st19" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>next</text> </g>
|
||||
<g id="shape44-109" v:mID="44" v:groupContext="shape" transform="translate(700.911,-551.367)">
|
||||
<title>Sheet.44</title>
|
||||
<path d="M0 559.23 L0 591.69 L84.29 591.69 L84.29 559.23 L0 559.23 L0 559.23 Z" class="st2"/>
|
||||
</g>
|
||||
<g id="shape45-111" v:mID="45" v:groupContext="shape" transform="translate(709.883,-555.163)">
|
||||
<title>Sheet.45</title>
|
||||
<desc>segsz</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="30.7501" cy="580.032" width="61.51" height="23.3211"/>
|
||||
<path d="M61.5 568.37 L0 568.37 L0 591.69 L61.5 591.69 L61.5 568.37" class="st8"/>
|
||||
<text x="6.38" y="585.86" class="st20" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>segsz</text> </g>
|
||||
<g id="shape46-115" v:mID="46" v:groupContext="shape" transform="translate(1111.54,-477.36)">
|
||||
<title>Sheet.46</title>
|
||||
<desc>Input packet</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="74.9" cy="578.442" width="149.8" height="26.501"/>
|
||||
<path d="M149.8 565.19 L0 565.19 L0 591.69 L149.8 591.69 L149.8 565.19" class="st8"/>
|
||||
<text x="12.47" y="585.07" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Input packet</text> </g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 23 KiB |
477
doc/guides/prog_guide/img/gso-three-seg-mbuf.svg
Normal file
477
doc/guides/prog_guide/img/gso-three-seg-mbuf.svg
Normal file
@ -0,0 +1,477 @@
|
||||
<?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 gso-three-seg-mbuf.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="21.8589in" height="9.63966in"
|
||||
viewBox="0 0 1573.84 694.055" xml:space="preserve" color-interpolation-filters="sRGB" class="st23">
|
||||
<title>GSO three-part output segment</title>
|
||||
<v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/>
|
||||
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.st1 {fill:#ffc000;stroke:#ffc000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0329073}
|
||||
.st2 {fill:#006fc5;stroke:#006fc5;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0329073}
|
||||
.st3 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.42236}
|
||||
.st4 {fill:#c3d600;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st5 {stroke:#8f9d00;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.47539}
|
||||
.st6 {fill:#00aeef;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st7 {stroke:#007fb0;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.47539}
|
||||
.st8 {stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st9 {fill:#ffffff;font-family:Calibri;font-size:2.08333em;font-weight:bold}
|
||||
.st10 {fill:#ffffff;font-family:Intel Clear;font-size:2.91502em;font-weight:bold}
|
||||
.st11 {fill:#000000;font-family:Intel Clear;font-size:2.19175em}
|
||||
.st12 {fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-width:6.58146}
|
||||
.st13 {fill:#000000;font-family:Intel Clear;font-size:2.50001em}
|
||||
.st14 {fill:#000000;font-family:Intel Clear;font-size:1.99999em}
|
||||
.st15 {fill:#0070c0;font-family:Intel Clear;font-size:2.19175em}
|
||||
.st16 {fill:#ffffff;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.75}
|
||||
.st17 {fill:#006fc5;font-family:Intel Clear;font-size:1.92874em}
|
||||
.st18 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0329073}
|
||||
.st19 {fill:#0070c0;font-family:Intel Clear;font-size:1.5em}
|
||||
.st20 {fill:#000000;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.0658146}
|
||||
.st21 {fill:#000000;font-family:Intel Clear;font-size:1.81915em}
|
||||
.st22 {fill:#000000;font-family:Intel Clear;font-size:1.49785em}
|
||||
.st23 {fill:none;fill-rule:evenodd;font-size:12px;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<g v:mID="0" v:index="1" v:groupContext="foregroundPage">
|
||||
<title>Page-1</title>
|
||||
<v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"
|
||||
v:shadowOffsetY="-8.50394"/>
|
||||
<v:layer v:name="top" v:index="0"/>
|
||||
<v:layer v:name="middle" v:index="1"/>
|
||||
<g id="shape111-1" v:mID="111" v:groupContext="shape" v:layerMember="0" transform="translate(787.208,-220.973)">
|
||||
<title>Sheet.111</title>
|
||||
<path d="M6.65 402.61 L13.01 414.71 L9.98 416.32 L3.62 404.22 L6.65 402.61 L6.65 402.61 ZM17.82 423.78 L19.4 426.81 L16.37
|
||||
428.42 L14.79 425.39 L17.82 423.78 L17.82 423.78 ZM24.21 435.91 L30.57 448.01 L27.54 449.59 L21.18 437.49
|
||||
L24.21 435.91 L24.21 435.91 ZM35.38 457.08 L36.96 460.11 L33.93 461.69 L32.35 458.66 L35.38 457.08 L35.38
|
||||
457.08 ZM41.73 469.18 L48.12 481.28 L45.09 482.86 L38.7 470.76 L41.73 469.18 L41.73 469.18 ZM52.9 490.36
|
||||
L54.51 493.38 L51.48 494.99 L49.87 491.97 L52.9 490.36 L52.9 490.36 ZM59.29 502.45 L65.68 514.55 L62.65
|
||||
516.16 L56.26 504.06 L59.29 502.45 L59.29 502.45 ZM70.46 523.63 L72.07 526.65 L69.04 528.26 L67.43 525.24
|
||||
L70.46 523.63 L70.46 523.63 ZM76.85 535.76 L83.24 547.86 L80.21 549.43 L73.82 537.34 L76.85 535.76 L76.85
|
||||
535.76 ZM88.01 556.93 L89.63 559.95 L86.6 561.53 L84.98 558.51 L88.01 556.93 L88.01 556.93 ZM94.4 569.03
|
||||
L100.79 581.13 L97.76 582.7 L91.37 570.61 L94.4 569.03 L94.4 569.03 ZM105.57 590.2 L107.15 593.22 L104.12
|
||||
594.84 L102.54 591.81 L105.57 590.2 L105.57 590.2 ZM111.96 602.3 L118.32 614.4 L115.28 616.01 L108.93 603.91
|
||||
L111.96 602.3 L111.96 602.3 ZM123.12 623.47 L124.71 626.5 L121.67 628.11 L120.09 625.08 L123.12 623.47 L123.12
|
||||
623.47 ZM129.51 635.6 L135.87 647.7 L132.84 649.28 L126.48 637.18 L129.51 635.6 L129.51 635.6 ZM140.68 656.77
|
||||
L142.26 659.8 L139.23 661.38 L137.65 658.35 L140.68 656.77 L140.68 656.77 ZM147.04 668.87 L153.43 680.97
|
||||
L150.4 682.55 L144.01 670.45 L147.04 668.87 L147.04 668.87 ZM158.2 690.04 L159.49 692.48 L156.46 694.06
|
||||
L155.17 691.66 L158.2 690.04 L158.2 690.04 ZM0.33 408.43 L0 393.7 L11.99 402.28 L0.33 408.43 L0.33 408.43
|
||||
Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape110-3" v:mID="110" v:groupContext="shape" v:layerMember="0" transform="translate(685.078,-560.166)">
|
||||
<title>Sheet.110</title>
|
||||
<path d="M0 685.77 L90.67 685.77 L90.67 689.19 L0 689.19 L0 685.77 L0 685.77 ZM89.36 680.9 L97.21 687.48 L89.36 694.06
|
||||
L89.36 680.9 L89.36 680.9 Z" class="st2"/>
|
||||
</g>
|
||||
<g id="shape4-5" v:mID="4" v:groupContext="shape" transform="translate(718.715,-469.955)">
|
||||
<title>Sheet.4</title>
|
||||
<path d="M0 655.13 L0 678.22 C0 686.97 11.69 694.06 26.05 694.06 C40.45 694.06 52.11 686.97 52.11 678.22 L52.11 673.91
|
||||
L59.55 673.91 L44.66 664.86 L29.78 673.91 L37.22 673.91 L37.22 678.22 C37.22 681.98 32.25 685 26.05 685
|
||||
C19.89 685 14.89 681.98 14.89 678.22 L14.89 655.13 L0 655.13 Z" class="st3"/>
|
||||
</g>
|
||||
<g id="shape5-7" v:mID="5" v:groupContext="shape" transform="translate(547.831,-656.823)">
|
||||
<title>Sheet.5</title>
|
||||
<path d="M11 686.43 L19.43 686.43 L19.43 688.53 L11 688.53 L11 686.43 L11 686.43 ZM25.76 686.43 L27.87 686.43 L27.87
|
||||
688.53 L25.76 688.53 L25.76 686.43 L25.76 686.43 ZM34.19 686.43 L42.62 686.43 L42.62 688.53 L34.19 688.53
|
||||
L34.19 686.43 L34.19 686.43 ZM48.95 686.43 L51.05 686.43 L51.05 688.53 L48.95 688.53 L48.95 686.43 L48.95
|
||||
686.43 ZM57.38 686.43 L65.81 686.43 L65.81 688.53 L57.38 688.53 L57.38 686.43 L57.38 686.43 ZM72.14 686.43
|
||||
L74.24 686.43 L74.24 688.53 L72.14 688.53 L72.14 686.43 L72.14 686.43 ZM80.57 686.43 L89 686.43 L89 688.53
|
||||
L80.57 688.53 L80.57 686.43 L80.57 686.43 ZM95.32 686.43 L97.43 686.43 L97.43 688.53 L95.32 688.53 L95.32
|
||||
686.43 L95.32 686.43 ZM103.76 686.43 L112.19 686.43 L112.19 688.53 L103.76 688.53 L103.76 686.43 L103.76
|
||||
686.43 ZM118.51 686.43 L120.62 686.43 L120.62 688.53 L118.51 688.53 L118.51 686.43 L118.51 686.43 ZM126.94
|
||||
686.43 L135.38 686.43 L135.38 688.53 L126.94 688.53 L126.94 686.43 L126.94 686.43 ZM141.7 686.43 L143.81
|
||||
686.43 L143.81 688.53 L141.7 688.53 L141.7 686.43 L141.7 686.43 ZM150.13 686.43 L158.57 686.43 L158.57 688.53
|
||||
L150.13 688.53 L150.13 686.43 L150.13 686.43 ZM164.89 686.43 L167 686.43 L167 688.53 L164.89 688.53 L164.89
|
||||
686.43 L164.89 686.43 ZM173.32 686.43 L181.75 686.43 L181.75 688.53 L173.32 688.53 L173.32 686.43 L173.32
|
||||
686.43 ZM188.08 686.43 L190.19 686.43 L190.19 688.53 L188.08 688.53 L188.08 686.43 L188.08 686.43 ZM196.51
|
||||
686.43 L204.94 686.43 L204.94 688.53 L196.51 688.53 L196.51 686.43 L196.51 686.43 ZM211.27 686.43 L213.38
|
||||
686.43 L213.38 688.53 L211.27 688.53 L211.27 686.43 L211.27 686.43 ZM219.7 686.43 L228.13 686.43 L228.13
|
||||
688.53 L219.7 688.53 L219.7 686.43 L219.7 686.43 ZM234.46 686.43 L236.56 686.43 L236.56 688.53 L234.46 688.53
|
||||
L234.46 686.43 L234.46 686.43 ZM242.89 686.43 L251.32 686.43 L251.32 688.53 L242.89 688.53 L242.89 686.43
|
||||
L242.89 686.43 ZM257.64 686.43 L259.75 686.43 L259.75 688.53 L257.64 688.53 L257.64 686.43 L257.64 686.43
|
||||
ZM266.08 686.43 L274.51 686.43 L274.51 688.53 L266.08 688.53 L266.08 686.43 L266.08 686.43 ZM280.83 686.43
|
||||
L282.94 686.43 L282.94 688.53 L280.83 688.53 L280.83 686.43 L280.83 686.43 ZM289.27 686.43 L297.7 686.43
|
||||
L297.7 688.53 L289.27 688.53 L289.27 686.43 L289.27 686.43 ZM304.02 686.43 L306.13 686.43 L306.13 688.53
|
||||
L304.02 688.53 L304.02 686.43 L304.02 686.43 ZM312.45 686.43 L320.89 686.43 L320.89 688.53 L312.45 688.53
|
||||
L312.45 686.43 L312.45 686.43 ZM327.21 686.43 L329.32 686.43 L329.32 688.53 L327.21 688.53 L327.21 686.43
|
||||
L327.21 686.43 ZM335.64 686.43 L344.08 686.43 L344.08 688.53 L335.64 688.53 L335.64 686.43 L335.64 686.43
|
||||
ZM350.4 686.43 L352.51 686.43 L352.51 688.53 L350.4 688.53 L350.4 686.43 L350.4 686.43 ZM358.83 686.43 L367.26
|
||||
686.43 L367.26 688.53 L358.83 688.53 L358.83 686.43 L358.83 686.43 ZM373.59 686.43 L375.7 686.43 L375.7
|
||||
688.53 L373.59 688.53 L373.59 686.43 L373.59 686.43 ZM382.02 686.43 L387.06 686.43 L387.06 688.53 L382.02
|
||||
688.53 L382.02 686.43 L382.02 686.43 ZM13.18 694.06 L0 687.48 L13.18 680.9 L13.18 694.06 L13.18 694.06 ZM384.89
|
||||
680.9 L398.06 687.48 L384.89 694.06 L384.89 680.9 L384.89 680.9 Z" class="st2"/>
|
||||
</g>
|
||||
<g id="shape6-9" v:mID="6" v:groupContext="shape" transform="translate(2.5012,-522.82)">
|
||||
<title>Sheet.6</title>
|
||||
<path d="M0 597.01 L0 694.06 L154.68 694.06 L154.68 597.01 L0 597.01 L0 597.01 Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape7-11" v:mID="7" v:groupContext="shape" transform="translate(2.5012,-522.82)">
|
||||
<title>Sheet.7</title>
|
||||
<path d="M0 597.01 L154.68 597.01 L154.68 694.06 L0 694.06 L0 597.01" class="st5"/>
|
||||
</g>
|
||||
<g id="shape10-14" v:mID="10" v:groupContext="shape" transform="translate(159.025,-522.82)">
|
||||
<title>Sheet.10</title>
|
||||
<path d="M0 597.01 L0 694.06 L563.73 694.06 L563.73 597.01 L0 597.01 L0 597.01 Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape11-16" v:mID="11" v:groupContext="shape" transform="translate(159.025,-522.82)">
|
||||
<title>Sheet.11</title>
|
||||
<path d="M0 597.01 L563.73 597.01 L563.73 694.06 L0 694.06 L0 597.01" class="st7"/>
|
||||
</g>
|
||||
<g id="shape12-19" v:mID="12" v:groupContext="shape" transform="translate(262.039,-549.269)">
|
||||
<title>Sheet.12</title>
|
||||
<desc>Payload 0</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="97.4929" cy="673.065" width="194.99" height="41.9798"/>
|
||||
<path d="M194.99 652.08 L0 652.08 L0 694.06 L194.99 694.06 L194.99 652.08" class="st8"/>
|
||||
<text x="46.92" y="680.57" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 0</text> </g>
|
||||
<g id="shape13-23" v:mID="13" v:groupContext="shape" transform="translate(547.615,-549.269)">
|
||||
<title>Sheet.13</title>
|
||||
<desc>Payload 1</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="87.5716" cy="673.065" width="175.15" height="41.9798"/>
|
||||
<path d="M175.14 652.08 L0 652.08 L0 694.06 L175.14 694.06 L175.14 652.08" class="st8"/>
|
||||
<text x="37" y="680.57" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 1</text> </g>
|
||||
<g id="shape15-27" v:mID="15" v:groupContext="shape" transform="translate(2.2377,-522.82)">
|
||||
<title>Sheet.15</title>
|
||||
<path d="M0 597.01 L0 694.06 L154.68 694.06 L154.68 597.01 L0 597.01 L0 597.01 Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape16-29" v:mID="16" v:groupContext="shape" transform="translate(2.2377,-522.82)">
|
||||
<title>Sheet.16</title>
|
||||
<path d="M0 597.01 L154.68 597.01 L154.68 694.06 L0 694.06 L0 597.01" class="st5"/>
|
||||
</g>
|
||||
<g id="shape17-32" v:mID="17" v:groupContext="shape" transform="translate(6.52106,-546.331)">
|
||||
<title>Sheet.17</title>
|
||||
<desc>Header</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="72.773" cy="673.065" width="145.55" height="41.9798"/>
|
||||
<path d="M145.55 652.08 L0 652.08 L0 694.06 L145.55 694.06 L145.55 652.08" class="st8"/>
|
||||
<text x="34.98" y="680.57" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Header</text> </g>
|
||||
<g id="shape23-36" v:mID="23" v:groupContext="shape" transform="translate(286.548,-2.2377)">
|
||||
<title>Sheet.23</title>
|
||||
<path d="M0 597.27 L0 694.06 L345.2 694.06 L345.2 597.27 L0 597.27 L0 597.27 Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape24-38" v:mID="24" v:groupContext="shape" transform="translate(286.548,-2.2377)">
|
||||
<title>Sheet.24</title>
|
||||
<path d="M0 597.27 L345.2 597.27 L345.2 694.06 L0 694.06 L0 597.27" class="st5"/>
|
||||
</g>
|
||||
<g id="shape25-41" v:mID="25" v:groupContext="shape" transform="translate(399.834,-25.6887)">
|
||||
<title>Sheet.25</title>
|
||||
<desc>Header</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="72.773" cy="673.065" width="145.55" height="41.9798"/>
|
||||
<path d="M145.55 652.08 L0 652.08 L0 694.06 L145.55 694.06 L145.55 652.08" class="st8"/>
|
||||
<text x="13.76" y="683.56" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Header</text> </g>
|
||||
<g id="shape31-45" v:mID="31" v:groupContext="shape" transform="translate(631.744,-2.2377)">
|
||||
<title>Sheet.31</title>
|
||||
<path d="M0 597.27 L0 694.06 L516.21 694.06 L516.21 597.27 L0 597.27 L0 597.27 Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape32-47" v:mID="32" v:groupContext="shape" transform="translate(631.744,-2.2377)">
|
||||
<title>Sheet.32</title>
|
||||
<path d="M0 597.27 L516.21 597.27 L516.21 694.06 L0 694.06 L0 597.27" class="st7"/>
|
||||
</g>
|
||||
<g id="shape33-50" v:mID="33" v:groupContext="shape" transform="translate(809.035,-25.6889)">
|
||||
<title>Sheet.33</title>
|
||||
<desc>Payload 1</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="97.4929" cy="673.065" width="194.99" height="41.9798"/>
|
||||
<path d="M194.99 652.08 L0 652.08 L0 694.06 L194.99 694.06 L194.99 652.08" class="st8"/>
|
||||
<text x="16.99" y="683.56" class="st10" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 1</text> </g>
|
||||
<g id="shape35-54" v:mID="35" v:groupContext="shape" transform="translate(1199.29,-21.1708)">
|
||||
<title>Sheet.35</title>
|
||||
<desc>Logical output segment</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="164.662" cy="678.273" width="329.33" height="31.5648"/>
|
||||
<path d="M329.32 662.49 L0 662.49 L0 694.06 L329.32 694.06 L329.32 662.49" class="st8"/>
|
||||
<text x="24.69" y="686.16" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Logical output segment</text> </g>
|
||||
<g id="shape38-58" v:mID="38" v:groupContext="shape" transform="translate(1204.65,-254.446)">
|
||||
<title>Sheet.38</title>
|
||||
<desc>Three-part output segment</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="181.707" cy="678.273" width="363.42" height="31.5648"/>
|
||||
<path d="M363.41 662.49 L0 662.49 L0 694.06 L363.41 694.06 L363.41 662.49" class="st8"/>
|
||||
<text x="19.51" y="686.16" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Three-part output segment</text> </g>
|
||||
<g id="shape39-62" v:mID="39" v:groupContext="shape" transform="translate(546.25,-529.921)">
|
||||
<title>Sheet.39</title>
|
||||
<path d="M3.43 529.94 L3.46 543.61 L0.03 543.61 L0 529.94 L3.43 529.94 L3.43 529.94 ZM3.46 553.87 L3.46 557.29 L0.03
|
||||
557.29 L0.03 553.87 L3.46 553.87 L3.46 553.87 ZM3.46 567.55 L3.46 581.22 L0.03 581.22 L0.03 567.55 L3.46
|
||||
567.55 L3.46 567.55 ZM3.46 591.48 L3.46 594.9 L0.03 594.9 L0.03 591.48 L3.46 591.48 L3.46 591.48 ZM3.46
|
||||
605.16 L3.46 618.83 L0.03 618.83 L0.03 605.16 L3.46 605.16 L3.46 605.16 ZM3.46 629.09 L3.46 632.51 L0.03
|
||||
632.51 L0.03 629.09 L3.46 629.09 L3.46 629.09 ZM3.46 642.77 L3.46 656.45 L0.03 656.45 L0.03 642.77 L3.46
|
||||
642.77 L3.46 642.77 ZM3.46 666.7 L3.46 670.12 L0.03 670.12 L0.03 666.7 L3.46 666.7 L3.46 666.7 ZM3.46 680.38
|
||||
L3.46 694.06 L0.03 694.06 L0.03 680.38 L3.46 680.38 L3.46 680.38 Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape40-64" v:mID="40" v:groupContext="shape" transform="translate(549.097,-223.749)">
|
||||
<title>Sheet.40</title>
|
||||
<path d="M6.65 402.61 L13.01 414.71 L9.98 416.32 L3.62 404.22 L6.65 402.61 L6.65 402.61 ZM17.82 423.78 L19.4 426.81 L16.37
|
||||
428.42 L14.79 425.39 L17.82 423.78 L17.82 423.78 ZM24.21 435.91 L30.57 448.01 L27.54 449.59 L21.18 437.49
|
||||
L24.21 435.91 L24.21 435.91 ZM35.38 457.08 L36.96 460.11 L33.93 461.69 L32.35 458.66 L35.38 457.08 L35.38
|
||||
457.08 ZM41.73 469.18 L48.12 481.28 L45.09 482.86 L38.7 470.76 L41.73 469.18 L41.73 469.18 ZM52.9 490.36
|
||||
L54.51 493.38 L51.48 494.99 L49.87 491.97 L52.9 490.36 L52.9 490.36 ZM59.29 502.45 L65.68 514.55 L62.65
|
||||
516.16 L56.26 504.06 L59.29 502.45 L59.29 502.45 ZM70.46 523.63 L72.07 526.65 L69.04 528.26 L67.43 525.24
|
||||
L70.46 523.63 L70.46 523.63 ZM76.85 535.76 L83.24 547.86 L80.21 549.43 L73.82 537.34 L76.85 535.76 L76.85
|
||||
535.76 ZM88.01 556.93 L89.63 559.95 L86.6 561.53 L84.98 558.51 L88.01 556.93 L88.01 556.93 ZM94.4 569.03
|
||||
L100.79 581.13 L97.76 582.7 L91.37 570.61 L94.4 569.03 L94.4 569.03 ZM105.57 590.2 L107.15 593.22 L104.12
|
||||
594.84 L102.54 591.81 L105.57 590.2 L105.57 590.2 ZM111.96 602.3 L118.32 614.4 L115.28 616.01 L108.93 603.91
|
||||
L111.96 602.3 L111.96 602.3 ZM123.12 623.47 L124.71 626.5 L121.67 628.11 L120.09 625.08 L123.12 623.47 L123.12
|
||||
623.47 ZM129.51 635.6 L135.87 647.7 L132.84 649.28 L126.48 637.18 L129.51 635.6 L129.51 635.6 ZM140.68 656.77
|
||||
L142.26 659.8 L139.23 661.38 L137.65 658.35 L140.68 656.77 L140.68 656.77 ZM147.04 668.87 L153.43 680.97
|
||||
L150.4 682.55 L144.01 670.45 L147.04 668.87 L147.04 668.87 ZM158.2 690.04 L159.49 692.48 L156.46 694.06
|
||||
L155.17 691.66 L158.2 690.04 L158.2 690.04 ZM0.33 408.43 L0 393.7 L11.99 402.28 L0.33 408.43 L0.33 408.43
|
||||
Z" class="st1"/>
|
||||
</g>
|
||||
<g id="shape46-66" v:mID="46" v:groupContext="shape" transform="translate(66.8445,-221.499)">
|
||||
<title>Sheet.46</title>
|
||||
<path d="M0 611.87 C0 602.79 7.38 595.43 16.47 595.43 L273.39 595.43 C282.51 595.43 289.86 602.79 289.86 611.87 L289.86
|
||||
677.62 C289.86 686.72 282.51 694.06 273.39 694.06 L16.47 694.06 C7.38 694.06 -0 686.72 0 677.62 L0 611.87
|
||||
Z" class="st4"/>
|
||||
</g>
|
||||
<g id="shape47-68" v:mID="47" v:groupContext="shape" transform="translate(66.8445,-221.499)">
|
||||
<title>Sheet.47</title>
|
||||
<path d="M0 611.87 C0 602.79 7.38 595.43 16.47 595.43 L273.39 595.43 C282.51 595.43 289.86 602.79 289.86 611.87 L289.86
|
||||
677.62 C289.86 686.72 282.51 694.06 273.39 694.06 L16.47 694.06 C7.38 694.06 -0 686.72 0 677.62 L0 611.87
|
||||
Z" class="st12"/>
|
||||
</g>
|
||||
<g id="shape48-70" v:mID="48" v:groupContext="shape" transform="translate(113.27,-263.667)">
|
||||
<title>Sheet.48</title>
|
||||
<desc>Direct mbuf</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="98.5041" cy="675.59" width="197.01" height="36.9302"/>
|
||||
<path d="M197.01 657.13 L0 657.13 L0 694.06 L197.01 694.06 L197.01 657.13" class="st8"/>
|
||||
<text x="18.66" y="684.59" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Direct mbuf</text> </g>
|
||||
<g id="shape51-74" v:mID="51" v:groupContext="shape" transform="translate(85.817,-233.439)">
|
||||
<title>Sheet.51</title>
|
||||
<desc>(copy of headers)</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="127.916" cy="678.273" width="255.84" height="31.5648"/>
|
||||
<path d="M255.83 662.49 L0 662.49 L0 694.06 L255.83 694.06 L255.83 662.49" class="st8"/>
|
||||
<text x="34.33" y="685.47" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(copy of headers)</text> </g>
|
||||
<g id="shape53-78" v:mID="53" v:groupContext="shape" transform="translate(371.944,-275.998)">
|
||||
<title>Sheet.53</title>
|
||||
<desc>next</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="33.3635" cy="678.273" width="66.73" height="31.5648"/>
|
||||
<path d="M66.73 662.49 L0 662.49 L0 694.06 L66.73 694.06 L66.73 662.49" class="st8"/>
|
||||
<text x="7.56" y="686.16" class="st15" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>next</text> </g>
|
||||
<g id="shape54-82" v:mID="54" v:groupContext="shape" transform="translate(695.132,-646.04)">
|
||||
<title>Sheet.54</title>
|
||||
<path d="M0 655.39 L0 694.06 L100.4 694.06 L100.4 655.39 L0 655.39 L0 655.39 Z" class="st16"/>
|
||||
</g>
|
||||
<g id="shape55-84" v:mID="55" v:groupContext="shape" transform="translate(709.033,-648.946)">
|
||||
<title>Sheet.55</title>
|
||||
<desc>segsz</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="36.6265" cy="680.167" width="73.26" height="27.7775"/>
|
||||
<path d="M73.25 666.28 L0 666.28 L0 694.06 L73.25 694.06 L73.25 666.28" class="st8"/>
|
||||
<text x="7.6" y="687.11" class="st17" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>segsz</text> </g>
|
||||
<g id="shape56-88" v:mID="56" v:groupContext="shape" transform="translate(785.874,-521.182)">
|
||||
<title>Sheet.56</title>
|
||||
<path d="M0 597.27 L0 694.06 L363.41 694.06 L363.41 597.27 L0 597.27 L0 597.27 Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape57-90" v:mID="57" v:groupContext="shape" transform="translate(785.874,-521.182)">
|
||||
<title>Sheet.57</title>
|
||||
<path d="M0 597.27 L363.41 597.27 L363.41 694.06 L0 694.06 L0 597.27" class="st7"/>
|
||||
</g>
|
||||
<g id="shape58-93" v:mID="58" v:groupContext="shape" v:layerMember="0" transform="translate(943.158,-529.889)">
|
||||
<title>Sheet.58</title>
|
||||
<path d="M1.35 529.91 L1.25 543.58 L4.68 543.61 L4.78 529.94 L1.35 529.91 L1.35 529.91 ZM1.15 553.84 L1.12 557.26 L4.55
|
||||
557.29 L4.58 553.87 L1.15 553.84 L1.15 553.84 ZM1.05 567.52 L0.92 581.19 L4.35 581.22 L4.48 567.55 L1.05
|
||||
567.52 L1.05 567.52 ZM0.86 591.45 L0.82 594.87 L4.25 594.9 L4.28 591.48 L0.86 591.45 L0.86 591.45 ZM0.72
|
||||
605.13 L0.63 618.8 L4.05 618.83 L4.15 605.16 L0.72 605.13 L0.72 605.13 ZM0.53 629.06 L0.53 632.48 L3.95
|
||||
632.51 L3.95 629.09 L0.53 629.06 L0.53 629.06 ZM0.43 642.74 L0.33 656.41 L3.75 656.45 L3.85 642.77 L0.43
|
||||
642.74 L0.43 642.74 ZM0.23 666.67 L0.2 670.09 L3.62 670.12 L3.66 666.7 L0.23 666.67 L0.23 666.67 ZM0.13
|
||||
680.35 L0 694.02 L3.43 694.06 L3.56 680.38 L0.13 680.35 L0.13 680.35 Z" class="st18"/>
|
||||
</g>
|
||||
<g id="shape59-95" v:mID="59" v:groupContext="shape" transform="translate(785.874,-549.473)">
|
||||
<title>Sheet.59</title>
|
||||
<desc>Payload 1</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="77.3395" cy="673.065" width="154.68" height="41.9798"/>
|
||||
<path d="M154.68 652.08 L0 652.08 L0 694.06 L154.68 694.06 L154.68 652.08" class="st8"/>
|
||||
<text x="26.77" y="680.57" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 1</text> </g>
|
||||
<g id="shape60-99" v:mID="60" v:groupContext="shape" transform="translate(952.97,-548.822)">
|
||||
<title>Sheet.60</title>
|
||||
<desc>Payload 2</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="97.4929" cy="673.065" width="194.99" height="41.9798"/>
|
||||
<path d="M194.99 652.08 L0 652.08 L0 694.06 L194.99 694.06 L194.99 652.08" class="st8"/>
|
||||
<text x="46.92" y="680.57" class="st9" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Payload 2</text> </g>
|
||||
<g id="shape63-103" v:mID="63" v:groupContext="shape" transform="translate(1210.43,-551.684)">
|
||||
<title>Sheet.63</title>
|
||||
<desc>Multi-segment input packet</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="181.707" cy="678.273" width="363.42" height="31.5648"/>
|
||||
<path d="M363.41 662.49 L0 662.49 L0 694.06 L363.41 694.06 L363.41 662.49" class="st8"/>
|
||||
<text x="17.75" y="686.16" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Multi-segment input packet</text> </g>
|
||||
<g id="shape70-107" v:mID="70" v:groupContext="shape" v:layerMember="1" transform="translate(455.049,-221.499)">
|
||||
<title>Sheet.70</title>
|
||||
<path d="M0 611.87 C0 602.79 5.33 595.43 11.89 595.43 L282.92 595.43 C289.53 595.43 294.8 602.79 294.8 611.87 L294.8
|
||||
677.62 C294.8 686.76 289.53 694.06 282.92 694.06 L11.89 694.06 C5.33 694.06 0 686.76 0 677.62 L0 611.87
|
||||
Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape71-109" v:mID="71" v:groupContext="shape" transform="translate(455.049,-221.499)">
|
||||
<title>Sheet.71</title>
|
||||
<path d="M0 611.87 C0 602.79 7.38 595.43 16.47 595.43 L391.97 595.43 C401.12 595.43 408.44 602.79 408.44 611.87 L408.44
|
||||
677.62 C408.44 686.76 401.12 694.06 391.97 694.06 L16.47 694.06 C7.38 694.06 0 686.76 0 677.62 L0 611.87
|
||||
Z" class="st12"/>
|
||||
</g>
|
||||
<g id="shape72-111" v:mID="72" v:groupContext="shape" transform="translate(489.065,-263.434)">
|
||||
<title>Sheet.72</title>
|
||||
<desc>Indirect mbuf</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="112.128" cy="675.59" width="224.26" height="36.9302"/>
|
||||
<path d="M224.26 657.13 L0 657.13 L0 694.06 L224.26 694.06 L224.26 657.13" class="st8"/>
|
||||
<text x="20.73" y="684.59" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Indirect mbuf</text> </g>
|
||||
<g id="shape75-115" v:mID="75" v:groupContext="shape" transform="translate(849.065,-281.435)">
|
||||
<title>Sheet.75</title>
|
||||
<desc>(pointer to data)</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="100.199" cy="678.273" width="200.4" height="31.5648"/>
|
||||
<path d="M200.4 662.49 L0 662.49 L0 694.06 L200.4 694.06 L200.4 662.49" class="st8"/>
|
||||
<text x="4.49" y="686.16" class="st11" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(pointer to data)</text> </g>
|
||||
<g id="shape77-119" v:mID="77" v:groupContext="shape" transform="translate(717.742,-563.523)">
|
||||
<title>Sheet.77</title>
|
||||
<desc>next</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="33.3635" cy="678.273" width="66.73" height="31.5648"/>
|
||||
<path d="M66.73 662.49 L0 662.49 L0 694.06 L66.73 694.06 L66.73 662.49" class="st8"/>
|
||||
<text x="15.71" y="683.67" class="st19" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>next</text> </g>
|
||||
<g id="shape78-123" v:mID="78" v:groupContext="shape" transform="translate(1148.17,-529.067)">
|
||||
<title>Sheet.78</title>
|
||||
<path d="M1.38 529.87 L1.25 543.55 L4.68 543.61 L4.81 529.94 L1.38 529.87 L1.38 529.87 ZM1.19 553.81 L1.12 557.23 L4.55
|
||||
557.29 L4.61 553.87 L1.19 553.81 L1.19 553.81 ZM1.05 567.48 L0.92 581.16 L4.35 581.22 L4.48 567.55 L1.05
|
||||
567.48 L1.05 567.48 ZM0.86 591.42 L0.86 594.84 L4.28 594.9 L4.28 591.48 L0.86 591.42 L0.86 591.42 ZM0.72
|
||||
605.09 L0.66 618.77 L4.08 618.83 L4.15 605.16 L0.72 605.09 L0.72 605.09 ZM0.53 629.03 L0.53 632.45 L3.95
|
||||
632.51 L3.95 629.09 L0.53 629.03 L0.53 629.03 ZM0.46 642.7 L0.33 656.38 L3.75 656.45 L3.89 642.77 L0.46
|
||||
642.7 L0.46 642.7 ZM0.26 666.64 L0.2 670.06 L3.62 670.12 L3.69 666.7 L0.26 666.64 L0.26 666.64 ZM0.13 680.31
|
||||
L0 693.99 L3.43 694.06 L3.56 680.38 L0.13 680.31 L0.13 680.31 Z" class="st20"/>
|
||||
</g>
|
||||
<g id="shape79-125" v:mID="79" v:groupContext="shape" transform="translate(946.254,-657.81)">
|
||||
<title>Sheet.79</title>
|
||||
<path d="M11 686.69 L17.33 686.69 L17.33 688.27 L11 688.27 L11 686.69 L11 686.69 ZM22.07 686.69 L23.65 686.69 L23.65
|
||||
688.27 L22.07 688.27 L22.07 686.69 L22.07 686.69 ZM28.39 686.69 L34.72 686.69 L34.72 688.27 L28.39 688.27
|
||||
L28.39 686.69 L28.39 686.69 ZM39.46 686.69 L41.04 686.69 L41.04 688.27 L39.46 688.27 L39.46 686.69 L39.46
|
||||
686.69 ZM45.78 686.69 L52.11 686.69 L52.11 688.27 L45.78 688.27 L45.78 686.69 L45.78 686.69 ZM56.85 686.69
|
||||
L58.43 686.69 L58.43 688.27 L56.85 688.27 L56.85 686.69 L56.85 686.69 ZM63.18 686.69 L69.5 686.69 L69.5
|
||||
688.27 L63.18 688.27 L63.18 686.69 L63.18 686.69 ZM74.24 686.69 L75.82 686.69 L75.82 688.27 L74.24 688.27
|
||||
L74.24 686.69 L74.24 686.69 ZM80.57 686.69 L86.89 686.69 L86.89 688.27 L80.57 688.27 L80.57 686.69 L80.57
|
||||
686.69 ZM91.63 686.69 L93.22 686.69 L93.22 688.27 L91.63 688.27 L91.63 686.69 L91.63 686.69 ZM97.96 686.69
|
||||
L104.28 686.69 L104.28 688.27 L97.96 688.27 L97.96 686.69 L97.96 686.69 ZM109.03 686.69 L110.61 686.69 L110.61
|
||||
688.27 L109.03 688.27 L109.03 686.69 L109.03 686.69 ZM115.35 686.69 L121.67 686.69 L121.67 688.27 L115.35
|
||||
688.27 L115.35 686.69 L115.35 686.69 ZM126.42 686.69 L128 686.69 L128 688.27 L126.42 688.27 L126.42 686.69
|
||||
L126.42 686.69 ZM132.74 686.69 L139.07 686.69 L139.07 688.27 L132.74 688.27 L132.74 686.69 L132.74 686.69
|
||||
ZM143.81 686.69 L145.39 686.69 L145.39 688.27 L143.81 688.27 L143.81 686.69 L143.81 686.69 ZM150.13 686.69
|
||||
L156.46 686.69 L156.46 688.27 L150.13 688.27 L150.13 686.69 L150.13 686.69 ZM161.2 686.69 L162.78 686.69
|
||||
L162.78 688.27 L161.2 688.27 L161.2 686.69 L161.2 686.69 ZM167.53 686.69 L173.85 686.69 L173.85 688.27 L167.53
|
||||
688.27 L167.53 686.69 L167.53 686.69 ZM178.59 686.69 L180.17 686.69 L180.17 688.27 L178.59 688.27 L178.59
|
||||
686.69 L178.59 686.69 ZM184.92 686.69 L189.4 686.69 L189.4 688.27 L184.92 688.27 L184.92 686.69 L184.92
|
||||
686.69 ZM13.18 694.06 L0 687.41 L13.18 680.9 L13.18 694.06 L13.18 694.06 ZM187.22 680.9 L200.4 687.48 L187.22
|
||||
694.06 L187.22 680.9 L187.22 680.9 Z" class="st20"/>
|
||||
</g>
|
||||
<g id="shape80-127" v:mID="80" v:groupContext="shape" transform="translate(982.882,-643.673)">
|
||||
<title>Sheet.80</title>
|
||||
<path d="M0 655.13 L0 694.06 L127.01 694.06 L127.01 655.13 L0 655.13 L0 655.13 Z" class="st16"/>
|
||||
</g>
|
||||
<g id="shape81-129" v:mID="81" v:groupContext="shape" transform="translate(1003.39,-660.621)">
|
||||
<title>Sheet.81</title>
|
||||
<desc>pkt_len</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="48.6041" cy="680.956" width="97.21" height="26.1994"/>
|
||||
<path d="M97.21 667.86 L0 667.86 L0 694.06 L97.21 694.06 L97.21 667.86" class="st8"/>
|
||||
<text x="11.67" y="687.5" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>pkt_len </text> </g>
|
||||
<g id="shape82-133" v:mID="82" v:groupContext="shape" transform="translate(1001.18,-634.321)">
|
||||
<title>Sheet.82</title>
|
||||
<desc>% segsz</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="49.2945" cy="680.956" width="98.59" height="26.1994"/>
|
||||
<path d="M98.59 667.86 L0 667.86 L0 694.06 L98.59 694.06 L98.59 667.86" class="st8"/>
|
||||
<text x="9.09" y="687.5" class="st21" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>% segsz</text> </g>
|
||||
<g id="shape34-137" v:mID="34" v:groupContext="shape" v:layerMember="0" transform="translate(356.703,-264.106)">
|
||||
<title>Sheet.34</title>
|
||||
<path d="M0 685.77 L90.67 685.77 L90.67 689.19 L0 689.19 L0 685.77 L0 685.77 ZM89.36 680.9 L97.21 687.48 L89.36 694.06
|
||||
L89.36 680.9 L89.36 680.9 Z" class="st2"/>
|
||||
</g>
|
||||
<g id="shape85-139" v:mID="85" v:groupContext="shape" v:layerMember="0" transform="translate(78.5359,-282.66)">
|
||||
<title>Sheet.85</title>
|
||||
<path d="M0 680.87 C-0 673.59 6.88 667.69 15.37 667.69 C23.86 667.69 30.73 673.59 30.73 680.87 C30.73 688.15 23.86 694.06
|
||||
15.37 694.06 C6.88 694.06 0 688.15 0 680.87 Z" class="st16"/>
|
||||
</g>
|
||||
<g id="shape87-141" v:mID="87" v:groupContext="shape" v:layerMember="0" transform="translate(85.4791,-284.062)">
|
||||
<title>Sheet.87</title>
|
||||
<desc>1</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="8.66303" cy="683.269" width="17.33" height="21.5726"/>
|
||||
<path d="M17.33 672.48 L0 672.48 L0 694.06 L17.33 694.06 L17.33 672.48" class="st8"/>
|
||||
<text x="3.32" y="688.66" class="st22" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>1</text> </g>
|
||||
<g id="shape88-145" v:mID="88" v:groupContext="shape" v:layerMember="0" transform="translate(468.906,-282.66)">
|
||||
<title>Sheet.88</title>
|
||||
<path d="M0 680.87 C-0 673.59 6.89 667.69 15.37 667.69 C23.86 667.69 30.73 673.59 30.73 680.87 C30.73 688.15 23.86 694.06
|
||||
15.37 694.06 C6.89 694.06 -0 688.15 0 680.87 Z" class="st16"/>
|
||||
</g>
|
||||
<g id="shape90-147" v:mID="90" v:groupContext="shape" v:layerMember="0" transform="translate(474.575,-284.062)">
|
||||
<title>Sheet.90</title>
|
||||
<desc>2</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="8.66303" cy="683.269" width="17.33" height="21.5726"/>
|
||||
<path d="M17.33 672.48 L0 672.48 L0 694.06 L17.33 694.06 L17.33 672.48" class="st8"/>
|
||||
<text x="3.32" y="688.66" class="st22" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>2</text> </g>
|
||||
<g id="shape95-151" v:mID="95" v:groupContext="shape" v:layerMember="0" transform="translate(764.026,-275.998)">
|
||||
<title>Sheet.95</title>
|
||||
<desc>next</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="33.3635" cy="678.273" width="66.73" height="31.5648"/>
|
||||
<path d="M66.73 662.49 L0 662.49 L0 694.06 L66.73 694.06 L66.73 662.49" class="st8"/>
|
||||
<text x="7.56" y="686.16" class="st15" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>next</text> </g>
|
||||
<g id="shape97-155" v:mID="97" v:groupContext="shape" v:layerMember="0" transform="translate(889.755,-220.915)">
|
||||
<title>Sheet.97</title>
|
||||
<path d="M0 611.87 C0 602.79 7.38 595.43 16.47 595.43 L391.97 595.43 C401.12 595.43 408.44 602.79 408.44 611.87 L408.44
|
||||
677.62 C408.44 686.76 401.12 694.06 391.97 694.06 L16.47 694.06 C7.38 694.06 0 686.76 0 677.62 L0 611.87
|
||||
Z" class="st12"/>
|
||||
</g>
|
||||
<g id="shape100-157" v:mID="100" v:groupContext="shape" v:layerMember="0" transform="translate(751.857,-262.528)">
|
||||
<title>Sheet.100</title>
|
||||
<path d="M0 685.77 L90.67 685.77 L90.67 689.19 L0 689.19 L0 685.77 L0 685.77 ZM89.36 680.9 L97.21 687.48 L89.36 694.06
|
||||
L89.36 680.9 L89.36 680.9 Z" class="st2"/>
|
||||
</g>
|
||||
<g id="shape104-159" v:mID="104" v:groupContext="shape" v:layerMember="1" transform="translate(851.429,-218.08)">
|
||||
<title>Sheet.104</title>
|
||||
<path d="M0 611.87 C0 602.79 5.33 595.43 11.89 595.43 L282.92 595.43 C289.53 595.43 294.8 602.79 294.8 611.87 L294.8
|
||||
677.62 C294.8 686.76 289.53 694.06 282.92 694.06 L11.89 694.06 C5.33 694.06 0 686.76 0 677.62 L0 611.87
|
||||
Z" class="st6"/>
|
||||
</g>
|
||||
<g id="shape105-161" v:mID="105" v:groupContext="shape" v:layerMember="0" transform="translate(885.444,-260.015)">
|
||||
<title>Sheet.105</title>
|
||||
<desc>Indirect mbuf</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="112.128" cy="675.59" width="224.26" height="36.9302"/>
|
||||
<path d="M224.26 657.13 L0 657.13 L0 694.06 L224.26 694.06 L224.26 657.13" class="st8"/>
|
||||
<text x="20.73" y="684.59" class="st13" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Indirect mbuf</text> </g>
|
||||
<g id="shape106-165" v:mID="106" v:groupContext="shape" v:layerMember="0" transform="translate(895.672,-229.419)">
|
||||
<title>Sheet.106</title>
|
||||
<desc>(pointer to data)</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="100.199" cy="678.273" width="200.4" height="31.5648"/>
|
||||
<path d="M200.4 662.49 L0 662.49 L0 694.06 L200.4 694.06 L200.4 662.49" class="st8"/>
|
||||
<text x="12.86" y="685.47" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(pointer to data)</text> </g>
|
||||
<g id="shape107-169" v:mID="107" v:groupContext="shape" v:layerMember="0" transform="translate(863.297,-280.442)">
|
||||
<title>Sheet.107</title>
|
||||
<path d="M0 680.87 C-0 673.59 6.89 667.69 15.37 667.69 C23.86 667.69 30.73 673.59 30.73 680.87 C30.73 688.15 23.86 694.06
|
||||
15.37 694.06 C6.89 694.06 -0 688.15 0 680.87 Z" class="st16"/>
|
||||
</g>
|
||||
<g id="shape108-171" v:mID="108" v:groupContext="shape" v:layerMember="0" transform="translate(870.001,-281.547)">
|
||||
<title>Sheet.108</title>
|
||||
<desc>3</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="8.66303" cy="683.269" width="17.33" height="21.5726"/>
|
||||
<path d="M17.33 672.48 L0 672.48 L0 694.06 L17.33 694.06 L17.33 672.48" class="st8"/>
|
||||
<text x="3.32" y="688.66" class="st22" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>3</text> </g>
|
||||
<g id="shape109-175" v:mID="109" v:groupContext="shape" v:layerMember="0" transform="translate(500.959,-231.87)">
|
||||
<title>Sheet.109</title>
|
||||
<desc>(pointer to data)</desc>
|
||||
<v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>
|
||||
<v:textRect cx="100.199" cy="678.273" width="200.4" height="31.5648"/>
|
||||
<path d="M200.4 662.49 L0 662.49 L0 694.06 L200.4 694.06 L200.4 662.49" class="st8"/>
|
||||
<text x="12.86" y="685.47" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>(pointer to data)</text> </g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 36 KiB |
@ -57,6 +57,7 @@ Programmer's Guide
|
||||
reorder_lib
|
||||
ip_fragment_reassembly_lib
|
||||
generic_receive_offload_lib
|
||||
generic_segmentation_offload_lib
|
||||
pdump_lib
|
||||
multi_proc_support
|
||||
kernel_nic_interface
|
||||
|
Loading…
Reference in New Issue
Block a user