Browse Prior Art Database

SOFTWARE DEFINED NETWORK ADAPTER/NETWORK INTERFACE CONTROLLER FOR INCREASED THROUGHPUT AND PROCESSOR OFFLOADING

IP.com Disclosure Number: IPCOM000246222D
Publication Date: 2016-May-17
Document File: 6 page(s) / 233K

Publishing Venue

The IP.com Prior Art Database

Abstract

A network adapter/network interface controller is described with onboard Software Defined Network (SDN)-driven packet processing capabilities that can be controlled from a host Operating System (OS). A physical network adapter component is a device with any number of network ports feeding into a high-speed packet processing device that can be programmed via SDN to perform specific tasks such as packet tagging, forwarding, filtering, etc. The present disclosure proposes an open protocol, independent verification by the security community to ensure datapath trust, reconfigurability due to the openness, processor offloading and higher throughput, flexibility over conventional adapters, Virtual Machine (VM) interoperability, various use cases with SDN, etc.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 24% of the total text.

SOFTWARE DEFINED NETWORK ADAPTER/NETWORK INTERFACE CONTROLLER FOR INCREASED THROUGHPUT AND PROCESSOR OFFLOADING

ABSTRACT

[0001]               A network adapter/network interface controller is described with onboard Software Defined Network (SDN)-driven packet processing capabilities that can be controlled from a host Operating System (OS).  A physical network adapter component is a device with any number of network ports feeding into a high-speed packet processing device that can be programmed via SDN to perform specific tasks such as packet tagging, forwarding, filtering, etc.  The present disclosure proposes an open protocol, independent verification by the security community to ensure datapath trust, reconfigurability due to the openness, processor offloading and higher throughput, flexibility over conventional adapters, Virtual Machine (VM) interoperability, various use cases with SDN, etc.

BACKGROUND

[0002]               There are several techniques including industry standards for increasing network adapter throughput and reducing processor usage, but most of these techniques have substantial limitations and/or are not widely deployed.  For example, some of these techniques include

a.       SR-IOV (Single Root Input/output Virtualization) which acts as a simple mapping mechanism from a physical port into a Virtual Machine (VM) to avoid the performance penalty of traversing a host kernel or Operating System (OS) directly, but because the host OS cannot see the packets at all, any traffic traversing from one VM to another must be hair-pined outside of the network adapter which is not supported by all switches and substantially limits port capacity.  SR-IOV is usually limited to a small number of potential segmentations (usually 64 per port).

b.      DPDK (DataPlane Development Kit) which acts as a polling-based (rather than interrupt-based) mechanism for switching and routing traffic on the host OS.  Requires one or more processor cores to be dedicated to polling for new packets.  Because DPDK bypasses the kernel, current solutions require custom code to interact directly with the interface.  Due to the processor usage, it does not scale well as ports are added.  Some commercial extensions to DPDK exist but are too restrictive for general use.

c.       Transmission Control Protocol (TCP) Offload Engine (TOE) which allows processing-intensive functions of TCP/Internet Protocol (IP) such as checksum calculation, sequence number calculations, and connection handling to be performed on the network adapter.  This is not widely adopted (and officially rejected from the Linux kernel itself) due to the closed architecture, the inability to verify the integrity of the datapath, and the lack of ability to add functionality.  Also, this is limited in scope to TCP handling only.

d.      Large segment offload / large receive offload which are techniques for increasing throughput by aggregating multiple incoming packets into a buffer before being sent through the network stack.  This is not...