Packet Pre-Processor for NLFP IPv6 Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-programmable packet forwarding processors (NLFPs) lack flexibility and programmability, making it difficult to implement advanced functionalities like Layer 3 routing and IPv6 support, requiring expensive network processors despite their low cost and high performance.

Innovation Solution

A packet pre-processor (PP) device is introduced to pre-process data packets, enabling NLFPs to perform functions beyond their conventional capabilities by modifying packets to accommodate new features such as IPv6 routing, VPNs, and network address translation, allowing for scalable and diverse functions without the need for programmable processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If non-programmable packet forwarding processors (NLFPs) are used for mass production, then cost is reduced and forwarding performance is improved, but flexibility and programmability are lost

Engineering Contradiction:
ImprovecostVSAvoidflexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system is divided into two functional segments: a pre-processor that handles packet manipulation and modification, and the NLFP that handles high-speed forwarding. This segmentation allows the NLFP to remain simple and mass-producible while the pre-processor provides the necessary flexibility for advanced functionalities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A pre-processor acts as an intermediary between the input interface and the NLFP. It modifies packets to enable advanced functionalities (Layer 3 routing, IPv6, VPNs) before packets reach the NLFP, allowing the NLFP to maintain its simple, mass-producible architecture while the system as a whole gains enhanced capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If NLFPs are optimized for Layer 2 switching, then forwarding performance is improved, but Layer 3 routing functionality is difficult to implement

Engineering Contradiction:
Improveforwarding performanceVSAvoidLayer 3 routing functionality
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The pre-processor performs preliminary actions on packets before they reach the NLFP. It extracts Layer 3 information, performs address translations, and modifies packets to enable the NLFP to handle Layer 3 routing and IPv6 functionalities while maintaining optimized Layer 2 switching performance.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If expensive network processors are used to provide advanced functionalities, then flexibility and programmability are improved, but cost increases

Engineering Contradiction:
Improveadvanced capabilitiesVSAvoidcost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

Instead of using expensive programmable network processors, the system uses a pre-processor to copy and manipulate packet data in ways that enable advanced functionalities. The pre-processor creates modified packet representations that the simple NLFP can process, achieving advanced capabilities without the cost of programmable hardware.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9130883B2Method and apparatus to increase forwarding silicon functionality through packet manipulation
Publication Date: 2015.09.08 FUTUREWEI TECHNOLOGIES INC
  • US9130883B2 patent drawing
  • US9130883B2 patent drawing
  • US9130883B2 patent drawing

AI summary

A packet preprocessing device is used in conjunction with a non-programmable packet forwarding processor (NLFP) to apply a different system function to received data packets than the function normally applied by the NLFP on the packets. Received data packets are pre-processed (e.g., modifying, manipulating, altering, spoofing, etc.) in order to enable, or cause, NLFPs that process the data packets to provide, in effect, a system-level behavior on the packets that is different from the system-level behavior for which the NLFP is/was conventionally designed. The data packet is “pre-processed” to change or manipulate the data packet, and then the NLFP processes the pre-processed data packet in accordance with its conventional function(s) which alters the overall function applied to the data packet.