Tunneling Protocol Header Offloading to Network Interface Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current tunneling protocols do not fully utilize network interface controllers' capabilities for offloading processing tasks, leading to inefficient data packet transmission and processing in network switches.
Innovation Solution
A method of encapsulating data packets with protocol headers and specifying information in header fields to offload processing tasks to network interface controllers, allowing switches to perform tasks like checksum calculation and packet segmentation, thereby optimizing network interface controller capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If tunneling protocols are used to encapsulate data packets, then protocol compatibility and security functions are improved, but network interface controller capabilities are not fully utilized for offloading processing tasks
Solution Approach 1:
The patent modifies the protocol header parameters to include offloadable fields that enable network interface controllers to perform processing tasks. By changing the header structure to include specific fields (such as checksum fields, segmentation indicators, and offload control bits), the system allows NICs to take over processing functions while maintaining protocol compatibility for tunneling operations.
Solution Approach 2:
The patent segments processing tasks between the network switch and network interface controller by dividing packet processing into offloadable components (checksum calculation, packet segmentation) and non-offloadable components (routing decisions, protocol encapsulation). This segmentation enables the NIC to handle specific processing functions independently, improving overall processing efficiency while maintaining the tunneling protocol's compatibility requirements.
2Productivity
If network switches offload processing tasks to network interface controllers, then switch performance is improved, but protocol support is limited to protocols that allow offloading
Solution Approach 1:
The patent creates a universal offloading mechanism that can work with multiple tunneling protocols by defining a common set of offloadable fields in the protocol headers. The network interface controller is designed to handle different protocol types (IPsec, GRE, VPN) through a unified offloading architecture, allowing the same NIC to perform checksum calculation and packet segmentation across various protocols without requiring protocol-specific hardware support.
Solution Approach 2:
The patent introduces an intermediary layer in the form of a protocol translator or adapter that mediates between the tunneling protocol requirements and the network interface controller's offloading capabilities. This intermediary component translates protocol-specific operations into standardized offload commands that the NIC can execute, enabling protocol versatility while maintaining offloading performance benefits.
3Productivity
If network interface controllers perform processing tasks, then data packet transmission efficiency is improved, but device complexity increases due to additional processing requirements
Solution Approach 1:
The patent implements self-service by enabling network interface controllers to autonomously perform processing tasks without requiring continuous micro-management from the network switch. The NICs self-manage checksum calculation, packet segmentation, and reassembly operations based on instructions from the switch, reducing the complexity of coordinated processing while maintaining high transmission efficiency through autonomous operation.
Data Source
AI summary
Some embodiments of the invention provide a method of tunneling a data packet by encapsulating the data packet with a protocol header and specifying information in the fields of the header in a manner that a network switch can offload processing tasks to its network interface controller. The switch on a transmit side sends the processed data packet through the tunnel to another switch on a receive side. The two sides represent the two ends of the tunnel established between the two switches. Each of the transmit and received side switches is controlled by a switch controller, which in some embodiments is implemented as software. The switch controllers and network interface controllers together process the data packet which is being transferred through the tunnel between the switches.


