PNIC Logical Packet Handling via Processing Pipeline
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional physical network interface controllers (PNICs) in software-defined networking (SDN) environments are inadequate for handling logical network packets, leading to inefficient communication among virtual machines (VMs) deployed on various logical networks, as they typically rely on direct dispatch approaches that lack additional processing and require explicit programming of destination MAC addresses.
Innovation Solution
Implementing logical network packet handling on PNICs enabled with I/O virtualization by steering packets through a processing pipeline that applies logical network policies, using tags and filters to facilitate packet steering and policy enforcement, thereby enabling efficient handling of local and remote L2/L3 traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If direct dispatch approach is used for packet handling, then device complexity is reduced, but logical network packet handling capability deteriorates
Solution Approach 1:
The packet handling process is segmented into multiple processing stages: receive queue selection, logical network policy application, and transmit queue selection. This segmentation allows complex logical network packet handling to be broken down into manageable steps while maintaining the ability to handle various packet types efficiently
Solution Approach 2:
A processing pipeline is introduced as an intermediary component between the receive and transmit queues. This pipeline applies logical network policies and steers packets through multiple stages of processing, enabling sophisticated packet handling without requiring complex direct dispatch mechanisms
2Ease of operation
If conventional PNIC is used, then ease of operation is maintained, but communication efficiency among VMs deteriorates
Solution Approach 1:
The PNIC incorporates self-service capabilities through hardware-supported I/O virtualization features. The device automatically applies logical network policies, selects appropriate receive/transmit queues, and handles packet steering without requiring manual intervention, thus maintaining ease of operation while significantly improving communication efficiency among VMs
3Loss of time
If direct dispatch approach is used, then processing time is reduced, but packet processing capability deteriorates
Solution Approach 1:
Logical network policies are applied in advance during the packet reception stage, and receive queue selection is performed beforehand based on packet characteristics. This preliminary action reduces the processing time required during packet transmission, as the routing decisions are already made, while still maintaining comprehensive packet processing capability
Solution Approach 2:
The packet handling system dynamically adjusts processing based on packet characteristics and network conditions. The processing pipeline can adapt to different packet types and apply appropriate handling mechanisms, maintaining fast processing times while preserving versatile packet processing capability for various scenarios
Data Source
AI summary
Example methods and systems for logical network packet handling are described. In one example, a physical network interface controller (PNIC) may receive an ingress encapsulated packet associated with a packet flow via a physical network. The ingress encapsulated packet may include an outer header and an inner packet that is destined for a virtualized computing instance. The ingress encapsulated packet may be steered towards a processing pipeline for processing to generate a processed packet. The processing pipeline may include (a) retrieving a logical network policy associated with the packet flow from a datastore on the PNIC; and (b) performing decapsulation to remove the outer header and one or more actions on the inner packet according to the logical network policy. The processed packet may be forwarded towards the virtualized computing instance via a virtual function supported by the PNIC or a physical network connected to the PNIC.


