Hybrid Packet Processing Offloading Lookup Stages

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvepacket forwarding accuracyVSAvoidpacket forwarding speed
Core Design Contradiction:
Manufacturing precisionVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveprocessing completenessVSAvoidforwarding element complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvepacket processing thoroughnessVSAvoidpacket processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10680948B2Hybrid packet processing
Publication Date: 2020.06.09 VMWARE INC
  • US10680948B2 patent drawing
  • US10680948B2 patent drawing
  • US10680948B2 patent drawing

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.