Editing
Core Offloads
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==== Context Closure ==== An SO context closes if a packet matches the flow, but not the other conditions. Then the data is flushed to the host and the context released. In the common case, the SO packet and incoming packet are then passed to the host as two packets. In a few specific exception cases, the incoming packet is appended to the SO packet and the single larger SO packet is passed to the host. This special case MUST happen if all fields match, except for payload size, and payload size of the incoming packet is less than the previous segments. It then forms the valid remainder of the SO packet. The same SHOULD happen also if all fields match except for PSH or FIN and either or both of these is set on the incoming packet. <span id="general-match-exceptions"></span> ===== General Match Exceptions ===== * Length: if shorter than previous, may be appended, then closes context. * Checksums: must all have been verified before RO. Are ignored for packet matching. <span id="tcp-header-field-exceptions"></span> ===== TCP Header Field Exceptions ===== * Sequence number: must be previous plus segment size. * Flags: FIN and PSH bit only allow appending the packet, then close context. * Flags: all other flag differences close context without append. To state explicitly: Ack sequence number and TCP options must match. ''IP Header Field Exceptions'' * Fragmentation: fragmented packets are not coalesced. Detection of a first fragment closes the context for a flow, if open. * The IP ID must either increment for each segment or be the same for all segments. ** The first is common. The second may be the result of segmentation offload. To state explicitly: TTL, hop limit and flowlabel fields must match. Contexts can also be closed if a maximum number of segments is reached. This maximum may be host configurable. <span id="asynchronous-close"></span> ====== Asynchronous Close ====== Flows can also be closed asynchronously, due to one of two events. If the device applies RSC to a flow, it must set an expiry timer when the first packet opens an RSC context. The device must send the packet to the host no later than the timeout. The flow timeout value MUST be host readable and SHOULD be host configurable. The host may also notify the device that it wants RSC to be disabled. Any outstanding context must then be closed asynchronously, in the same manner as if their timers expired. <span id="so-packet-construction"></span>
Summary:
Please note that all contributions to OpenCompute may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
OpenCompute:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information