High-Level Forwarding Path Description Language for Network Devices
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


