Hybrid Packet Processing Offloading Lookup Stages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software-defined data centers, the processing-intensive lookup stages in network devices are challenging due to the reliance on generic CPUs, which struggle to handle high-speed packet forwarding, especially when dealing with complex network topologies and security requirements, leading to performance pressure on hypervisors and virtual switch software.
Innovation Solution
A network control system that offloads processing-intensive tasks to separate modules, reducing the number of lookup stages by using flow entries that reference external modules for high-level actions, allowing the managed forwarding element to perform fewer processing-intensive operations, thereby improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If multiple lookup stages are used to process packets in network devices, then processing accuracy and security requirements are met, but processing speed and network performance deteriorate due to the computational intensity on generic CPUs
Solution Approach 1:
The patent segments the packet processing function into two parts: a simplified lookup stage in the network device that performs basic matching, and a more complex processing stage offloaded to an external module that handles computationally intensive operations. This segmentation allows the network device to maintain processing accuracy while improving forwarding speed by reducing its own computational burden.
Solution Approach 2:
The patent introduces an external module as an intermediary between the network device and the packet processing workload. This external module acts as a mediator that handles the computationally intensive lookup operations, allowing the network device to maintain accurate forwarding decisions while offloading speed-critical operations to a specialized external processor.
2Reliability
If processing-intensive tasks are handled by the managed forwarding element itself, then processing completeness is ensured, but device complexity and CPU overhead increase
Solution Approach 1:
The patent extracts the processing-intensive tasks from the managed forwarding element and places them in an external module. This extraction maintains processing completeness because the external module still performs the necessary computations, while reducing the complexity and CPU overhead of the forwarding element itself by removing these demanding operations from its responsibility.
Solution Approach 2:
The external module serves as a universal processing unit that can handle various computationally intensive tasks for multiple network devices. This multi-functionality allows the forwarding element to maintain reliable and complete processing by leveraging a shared external resource rather than duplicating complex processing capabilities within each device.
3Manufacturing precision
If multiple lookup stages are performed in the managed forwarding element, then packet processing thoroughness is improved, but processing time and network latency increase
Solution Approach 1:
The patent segments the multi-stage lookup process into a quick initial lookup in the forwarding element and a more thorough but time-consuming analysis in an external module. This segmentation maintains packet processing thoroughness by ensuring all necessary lookups are performed, while reducing overall processing time by allowing the initial fast path to handle simple cases and only invoking the external module when needed.
Data Source
AI summary
Some embodiments provide a method of processing an incoming packet for a managed forwarding element that executes in a host to forward packets in a network. The method performs a lookup into a forwarding table to identify a flow entry matched by the incoming packet. The flow entry specifies a high-level action to perform on the incoming packet. The method provides packet data to a module executing separately from the managed forwarding element in the host. The module performs a set of processes in order to identify a set of low-level actions for the managed forwarding element to perform on the incoming packet without additional lookups into the forwarding table. The method receives data from the separate module specifying the set of low-level actions. The method performs the set of low-level actions on the incoming packet in order to further process the packet.


