Dual Datapath Packet Processing via Kernel-User Space Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices in computer networks face limitations in packet processing due to prioritization of kernel space over user space, leading to restricted software programs and increased latency, which hinders the utilization of user space capabilities for enhanced packet processing operations.

Innovation Solution

Implementing a dual datapath approach by leveraging a hook point in kernel space to introduce a kernel program that places network traffic onto the user datapath, allowing for packet processing operations to be performed in both kernel and user spaces, thereby accessing additional software and hardware capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If kernel space is prioritized for packet processing, then data security and integrity are maintained, but software program diversity is restricted and latency increases

Engineering Contradiction:
Improvedata security and integrityVSAvoidsoftware program diversity
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides packet processing into two separate datapaths: a kernel space datapath for security-critical operations and a user space datapath for diverse software programs. This segmentation allows each space to operate independently with its own priorities and constraints, resolving the contradiction between security and software diversity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a user module as an intermediary that bridges kernel space and user space. The user module receives packets from the kernel space datapath, processes them through user space programs, and returns processed packets to the kernel space datapath for final transmission. This intermediary enables both security maintenance in kernel space and software diversity in user space.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If kernel space is prioritized for packet processing, then data security is protected, but packet processing latency increases

Engineering Contradiction:
Improvedata securityVSAvoidpacket processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting packet processing into kernel space and user space datapaths, the patent allows packets to be processed in user space where fewer security restrictions apply, reducing processing time while maintaining security through the kernel space gateway.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The user module acts as an efficient intermediary that minimizes the overhead of transferring packets between kernel and user spaces. By processing packets in user space and only returning them to kernel space for final transmission, the system reduces latency while maintaining security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If only kernel space datapath is used, then system simplicity is maintained, but access to user space capabilities is lost

Engineering Contradiction:
Improvesystem simplicityVSAvoiduser space capability access
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The user module serves as a simple intermediary layer that enables user space capability access without fundamentally complicating the kernel space datapath. The kernel space remains relatively simple for security-critical operations, while the user module provides a straightforward interface to user space programs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The dual datapath system provides universality by allowing packets to be processed through either kernel space or user space datapaths depending on the requirements. The same packet processing infrastructure can serve both security-critical and diverse software needs, making the system multi-functional without requiring completely separate systems.

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

Data Source

PatentUS12003429B2Dual user space-kernel space datapaths for packet processing operations
Publication Date: 2024.06.04 JUNIPER NETWORKS INC
  • US12003429B2 patent drawing
  • US12003429B2 patent drawing
  • US12003429B2 patent drawing

AI summary

In general, techniques are described for enhancing packet processing in a computing device of a network. The computing device is configured to in response to receiving ingress data of a flow from the first network device via the first network interface, execute, based on a hook point in kernel space of the device, a kernel program to transfer, via a first socket of a user module, the ingress data for packet processing; configure an code point for the second network interface, wherein the user module is configured to couple a second socket with the code point; and in response to determining the second network device as a next hop for the flow, transfer, based on the code point, egress data of the flow via the second socket to the second network interface, wherein the second network interface is operative to output the egress data to the second network device.