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!
== Appendix A: Checklist == This section concisely summarizes the requirements for conformance to this specification. No new requirements are introduced. Devices can conform at one of two levels, basic and advanced. A device can only conform at the advanced level if it also conforms to all requirements of the base level. Numerical requirements can include a value or range [minimum, maximum] that must be supported. Devices can conform to the spec with exceptions. If so, the device must list “conforms to level N, except for features A, B and C”, with a clear description how the listed features diverge from the behavior specified in this spec. <table> <tr> <td> Domain </td> <td> Feature </td> <td> Required </td> <td> Value </td> </tr> <tr> <td> Queues </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Queue Length </td> <td> basic </td> <td> [512, 4K] </td> </tr> <tr> <td> </td> <td> Num Queues </td> <td> basic </td> <td> [1, 1K] </td> </tr> <tr> <td> </td> <td> Separate Post + Completion Queues </td> <td> optional </td> <td> </td> </tr> <tr> <td> </td> <td> Scatter-gather I/O </td> <td> basic </td> <td> <blockquote>= 17 </td> </tr> <tr> <td> </td> <td> Header-Split </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> Fixed Offset Split (unless Header-split is supported) </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> Reconfiguration without link down </td> <td> optional </td> <td> </td> </tr> <tr> <td> </td> <td> MMIO Transmit Mode </td> <td> optional </td> <td> </td> </tr> <tr> <td> Multi Queue </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Independent Rx and Tx Queue Lengths </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> Emergency Reserve Queue </td> <td> optional </td> <td> </td> </tr> <tr> <td> Interrupts </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Num IRQs </td> <td> basic </td> <td> == Num Queues </td> </tr> <tr> <td> </td> <td> Moderation: Delay </td> <td> basic </td> <td> [2, 200] us </td> </tr> <tr> <td> </td> <td> Moderation: Event Count </td> <td> optional </td> <td> [2, 128] </td> </tr> <tr> <td> </td> <td> Moderation: Separate Tx and Rx </td> <td> basic </td> <td> </td> </tr> <tr> <td> Flow Steering </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> RSS: Toeplitz Hash </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> RSS: include flow label in the hash (configurable) </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> RSS: Indirection Table - entries </td> <td> basic </td> <td> == Num Queues <p> (combined space; 256 per context) </td> </tr> <tr> <td> </td> <td> RSS: Indirection Table </td> <td> basic </td> <td> == Num Queues </td> </tr> <tr> <td> </td> <td> RSS: Communicate Hash to Host </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> ARFS: Table Size </td> <td> optional </td> <td> </td> </tr> <tr> <td> </td> <td> PFS: Num Rules </td> <td> optional </td> <td> <blockquote>= 64 </blockquote> </td> </tr> <tr> <td> </td> <td> PFS: Num RSS Contexts </td> <td> optional </td> <td> </td> </tr> <tr> <td> </td> <td> RSS: Indirection Table: RSS contexts > 0 </td> <td> optional </td> <td> 64 </td> </tr> <tr> <td> </td> <td> Transmit Scheduling: DRR: Equal Weight </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> Transmit Scheduling: DRR: Weighted </td> <td> optional </td> <td> </td> </tr> <tr> <td> Checksum </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Tx Checksum </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> Tx Checksum: Zero Checksum Conversion </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> Tx Checksum: Protocol Independent </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> Rx Checksum </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> Rx Checksum: Protocol Independent </td> <td> advanced </td> <td> </td> </tr> <tr> <td> Segmentation </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> TCP TSO for IPv4 and IPv6 </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> TCP TSO with transport layer security (IPSec ESP, PSP) </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> TSO IPv6 jumbogram support </td> <td> advanced </td> <td> <blockquote>= 256KB </blockquote> </td> </tr> <tr> <td> </td> <td> UDP USO for IPv4 and IPv6 </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> PISO </td> <td> advanced </td> <td> </td> </tr> <tr> <td> Coalescing </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> RSC support </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> RSC with transport layer security (IPSec ESP, PSP) </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> RSC Num Contexts </td> <td> advanced </td> <td> 64 </td> </tr> <tr> <td> </td> <td> RSC Context Timeout </td> <td> advanced </td> <td> [2, 50] us </td> </tr> <tr> <td> </td> <td> Jumbogram RSC </td> <td> optional </td> <td> </td> </tr> <tr> <td> Time </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> HW Rx timestamping </td> <td> advanced </td> <td> line rate </td> </tr> <tr> <td> </td> <td> HW Tx timestamping </td> <td> advanced </td> <td> line rate </td> </tr> <tr> <td> </td> <td> PTP clock device </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> PPS output </td> <td> advanced </td> <td> </td> </tr> <tr> <td> </td> <td> PPS input </td> <td> advanced </td> <td> </td> </tr> <tr> <td> Traffic Shaping </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Ingress Traffic Shaping, number of queues </td> <td> advanced </td> <td> <blockquote>= 2 </blockquote> </td> </tr> <tr> <td> </td> <td> Egress Earliest Departure Time (EDT) Shaping </td> <td> advanced </td> <td> </td> </tr> <tr> <td> Link Layer </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Unicast Address Table Size </td> <td> basic </td> <td> <blockquote>= 64 </blockquote> </td> </tr> <tr> <td> </td> <td> Multicast Address Table Size </td> <td> basic </td> <td> <blockquote>= 64 </blockquote> </td> </tr> <tr> <td> </td> <td> MTU </td> <td> basic </td> <td> <blockquote>= 9216 </blockquote> </td> </tr> <tr> <td> Telemetry </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> Device Counters </td> <td> basic </td> <td> </td> </tr> <tr> <td> </td> <td> Feature Counters </td> <td> basic </td> <td> </td> </tr> <tr> <td> Performance </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> BPS: 100 flows </td> <td> basic </td> <td> bidir line rate </td> </tr> <tr> <td> </td> <td> BPS: single flow </td> <td> basic </td> <td> 40 Gbps </td> </tr> <tr> <td> </td> <td> PPS: max </td> <td> basic </td> <td> line rate @ 128B </td> </tr> <tr> <td> </td> <td> PPS: single queue </td> <td> basic </td> <td> max pps / 8 </td> </tr> <tr> <td> </td> <td> CPS: 10M concurrent open TCP/IP connections </td> <td> basic </td> <td> with <= 100 CPUs </td> </tr> <tr> <td> </td> <td> CPS: 100K TCP/IP opens + closes </td> <td> basic </td> <td> with <= 100 CPUs </td> </tr> <tr> <td> </td> <td> NIC Rx Latency: 99% </td> <td> basic </td> <td> 4 us </td> </tr> <tr> <td> </td> <td> NIC Tx Latency: 99% </td> <td> basic </td> <td> 4 us </td> </tr> </table></blockquote> <span id="appendix-b-validation"></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