High-Level Forwarding Path Description Language for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet forwarding technologies in computer networks face challenges in efficiently managing and configuring internal forwarding paths within network devices, particularly in separating compiled programs from lookup data and handling the mixed instruction/data architecture of modern packet forwarding engines.

Innovation Solution

The introduction of a high-level forwarding path description language (FPDL) allows for the creation of templates that describe internal forwarding paths, enabling late binding techniques to manage the allocation and construction of forwarding path structures, separating compiled programs from lookup data and reducing the need for additional compilation permutations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a high-level forwarding path description language is introduced to manage forwarding paths, then the ease of operation and programming flexibility is improved, but the device complexity increases due to the need for template processing and late binding mechanisms

Engineering Contradiction:
Improveease of programming forwarding pathsVSAvoidcomplexity of control plane processing
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary processing layer between the high-level description language and the hardware forwarding engines. This intermediary handles the template processing, argument substitution, and generation of hardware-specific instructions, thereby shielding users from hardware complexity while managing the trade-off through centralized processing logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The forwarding path management is segmented into distinct phases: high-level template definition, argument binding, template processing, and hardware instruction generation. This segmentation allows each component to be optimized independently, reducing overall system complexity by dividing the processing workload across multiple manageable stages.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If late binding techniques are used to separate compiled programs from lookup data, then the adaptability of the system is improved, but the processing time increases due to runtime construction of forwarding paths

Engineering Contradiction:
Improveflexibility in forwarding path configurationVSAvoidtime for runtime path construction
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-compiling and caching template processing results. Forwarding path templates are processed in advance with common arguments, and results are stored for rapid retrieval during runtime, thereby reducing the time required for path construction while maintaining adaptability through template parameterization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by allowing templates to accept variable arguments that can be bound at runtime. This enables a single template to generate multiple hardware-specific implementations by changing parameters such as data types, table sizes, and addressing modes, achieving adaptability without requiring separate compiled programs for each configuration.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If multiple program permutations are created for different hardware configurations, then the manufacturing precision for hardware compatibility is improved, but the device complexity and memory requirements increase

Engineering Contradiction:
Improvehardware configuration compatibilityVSAvoidnumber of program permutations
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent implements universality by designing a single high-level forwarding path description language that can generate multiple hardware-specific implementations. The same template can be instantiated for different hardware configurations by providing appropriate arguments, eliminating the need to maintain separate compiled programs for each hardware type while ensuring compatibility across different platforms.

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

Data Source

PatentUS9742668B1Packet forwarding path programming using a high-level description language
Publication Date: 2017.08.22 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9742668B1 patent drawing
  • US9742668B1 patent drawing
  • US9742668B1 patent drawing

AI summary

In general, this disclosure describes a high-level forwarding path description language (FPDL) for describing internal forwarding paths within a network device. The FPDL enables developers to create a template that describes a section of an internal forwarding path within the forwarding plane of a network device. The FPDL provides syntactical elements for specifying the allocation of forwarding path structures as well as enabling the run-time construction of internal forwarding paths to interconnect the forwarding path structures in a manner specific to packet, packet flow, and/or interface properties, for example. In conjunction with late binding techniques, whereby the control plane of the network device provides arguments to template parameters that drive allocation by the packet forwarding engines of forwarding path structures specified by the FPDL, the techniques provide control plane processes a unified interface with which to manage the operation of the packet forwarding engines.