Editing Networking/NIC Software
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 2: | Line 2: | ||
==Welcome== | ==Welcome== | ||
:Welcome to the | :Welcome to the OCP '''Networking NIC Software''' Sub-Project. | ||
Our goal is to bring together NIC vendors and hyperscaler and other users to spur discussion about relevant NIC features, and | Our goal is to bring together NIC vendors and hyperscaler and other users to spur discussion about relevant NIC features, and arrive at agreed concrete specs for interface and behavior. | ||
We aim to ensure that all vendor implementations | We aim to ensure that all vendor implementations conform to the actual business requirements of large users. These requirements have historically often been underspecified or shared only with individual vendors. | ||
For each feature | For each feature, we aim to arrive at a clear specification that covers both driver API and behavioral elements, such as scalability and performance expectations. Additionally, we aim to publish concrete conformance tests that vendors can use to self-certify. | ||
===Charter=== | ===Charter=== | ||
The focus is on | The focus is on foundational NIC features. | ||
Significant developments are taking place in SmartNICs. | Significant developments are taking place in SmartNICs. For now, features not strictly related to the core network transmit and receive path are out of scope for this subproject. This includes on-board co-processors, control plane offload and offload of non networking interfaces, such as NVME (storage). | ||
===Public=== | ===Public=== | ||
Line 21: | Line 21: | ||
Disclaimer: Please do not submit any confidential information to the Project Community. All presentation materials, proposals, meeting minutes and/or supporting documents are published by OCP and are open to the public in accordance to OCP's Bylaws and IP Policy. This can be found on the OCP [http://www.opencompute.org/about/ocp-policies/ OCP Policies] page. If you have any questions please contact OCP. | Disclaimer: Please do not submit any confidential information to the Project Community. All presentation materials, proposals, meeting minutes and/or supporting documents are published by OCP and are open to the public in accordance to OCP's Bylaws and IP Policy. This can be found on the OCP [http://www.opencompute.org/about/ocp-policies/ OCP Policies] page. If you have any questions please contact OCP. | ||
== | ==Documents== | ||
:- [https://2021ocpglobal.fnvirtual.app/a/event/1996 NICs for Hyperscale Deployments]: 2021 OCP Global Summit introductory presentation | |||
==Topics== | ==Topics== | ||
Line 46: | Line 31: | ||
The current list of active topics are | The current list of active topics are | ||
===Telemetry=== | ====Telemetry==== | ||
Define a standard set of network device and queue statistics, with standard names and unambiguous definition of each statistic's meaning. | Define a standard set of network device and queue statistics, with standard names and unambiguous definition of each statistic's meaning. | ||
Line 54: | Line 39: | ||
Standardize state-of-the-art TE mechanisms. | Standardize state-of-the-art TE mechanisms. | ||
Develop common support for stateless [https://www.kernel.org/doc/html/latest/networking/segmentation-offloads.html#generic-segmentation-offload generic tunneling offload] | Develop common support for stateless [https://www.kernel.org/doc/html/latest/networking/segmentation-offloads.html#generic-segmentation-offload generic tunneling offload]: combine TCP segmentation offload (an indispensible offload for many workloads) with arbitrary tunnel protocols, instead of building an offload for each tunnel protocol. Because hyperscalers may use protocols, protocol stacks and protocol variants --proprietary or not-- that the vendor cannot always anticipate. | ||
Develop industry standard support for [https://legacy.netdevconf.info/0x12/session.html?evolving-from-afap-teaching-nics-about-time Earliest Departure Time] (EDT) stateless rate limiting offload. | Develop industry standard support for [https://legacy.netdevconf.info/0x12/session.html?evolving-from-afap-teaching-nics-about-time Earliest Departure Time] (EDT) stateless rate limiting offload. | ||
===Flow Steering=== | ====Flow Steering==== | ||
Device queues are the basis for scalable networking | Device queues are the basis for scalable networking, as well as task isolation and userspace queues. | ||
Define | Define | ||
# a common interface for configuring devices queues and RSS groups, including | # a common interface for configuring devices queues and RSS groups, including dynamically without device down. | ||
# a common interface for steering flows to queue (groups), including expectations on datapath performance and scalability | # a common interface for steering flows to queue (groups), including expectations on datapath performance and scalability. | ||
Additionally, define | Additionally, define | ||
# a common queue interface for userspace network stacks like DPDK and [https://research.google/pubs/pub48630/ Google SNAP]. | # a common queue interface for userspace network stacks like DPDK and [https://research.google/pubs/pub48630/ Google SNAP]. | ||
==Project Leadership== | |||
===Incubation Committee Representative=== | |||
:- [mailto:jason.forrester@ocproject.net Jason Forrester] (Target) | |||
=== | ===Sub-Project Leads=== | ||
:- [mailto:kicinski@fb.com Jakub Kicinski] (Meta) | |||
:- [mailto:willemb@google.com Willem de Bruijn] (Google) | |||
==Get Involved== | ==Get Involved== | ||
:- [https://ocp-all.groups.io/g/OCP-Networking Mailing List] | :- [https://ocp-all.groups.io/g/OCP-Networking Main Networking Project Mailing List] | ||
:- [http://www.opencompute.org/projects/networking/ | :- [http://www.opencompute.org/projects/networking/ OCP website] | ||
:- [ | :- [http://opencompute.org/projects/projects-calendar/ OCP Calendar] | ||
==Regular Project Calls== | ==Regular Project Calls== | ||
TBD | |||
'''[[Networking/MonthlyCalls|This page]]''' has: | |||
:- the agenda for upcoming calls | |||
:- complete information on how to join the call | |||
:- minutes from past calls. | |||
== | ==Recordings from Past Calls== | ||
==Specs and Designs== | |||
Link to the Specs and Designs page -http://www.opencompute.org/wiki/Networking/SpecsAndDesigns | |||
==== | ===Past Workshops=== | ||