A method, apparatus, system, and computer-readable storage medium for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP.
By adopting the XDP-based reconfigurable modular data plane pipeline assembly method, a Profile configuration file is generated and the XDP ingress scheduler is used to realize the structural reconfigurability and deterministic execution of the modular data plane pipeline. This solves the problems of high-cost switching and insufficient auditability in the existing technology, and improves operation and maintenance efficiency and data processing performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANGHAI JINGZHI INTELLIGENT TECH CO LTD
- Filing Date
- 2026-03-02
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies are costly and lack auditability when switching data plane pipeline structures, making it difficult to achieve structure-level reconfigurability and deterministic execution.
The reconfigurable modular data plane pipeline assembly method based on XDP is adopted. The module information is described by generating a Profile configuration file, an assembly input list is generated by using self-describing metadata, and the XDP entry scheduler schedules the modules to be executed in sequence, forming an explicit call chain path.
It achieves pipeline-level reconfigurability, reduces scenario switching costs, improves operational interpretability and auditing efficiency, and ensures high performance in data processing and deployment efficiency.
Smart Images

Figure CN122132102A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network technology, and more specifically to a method, apparatus, system, and computer-readable storage medium for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP. Background Technology
[0002] In the field of network data processing, the data plane pipeline is a key component for implementing core functions such as packet forwarding, filtering, and security control. Currently, the mainstream technical solutions mainly fall into two categories: One type is the fixed or semi-modular pipeline solution (existing technology A). Its typical approach is to chain VLAN processing, ACL filtering, L2 / L3 forwarding, and mirroring statistics in a fixed order within the high-speed path of the kernel or user space. Even if the functionality is broken down into multiple modules, modules still need to be manually registered at the centralized entry point, and the jump relationships and sequence dependencies between modules need to be manually maintained. As the project evolves, it ultimately exhibits a "rigid structure." This solution has significant drawbacks: when devices need to switch between different modes such as simple switching, Layer 2 management switching, Layer 3 management switching, complex VLAN environments, and security orchestration, the main pipeline must be modified and redeployed, making on-demand reconstruction difficult and resulting in extremely high scenario switching costs.
[0003] Another type is the P4 programmable data plane solution (existing technology B), whose core is to describe the processing semantics of the data plane through programs, including message header parsing, table matching, action execution, and control flow definition. The runtime changes of this solution mainly manifest in the updating of table entries and parameters. However, when it is necessary to change the pipeline structure, such as inserting or deleting processing stages, migrating logic between the ingress and egress directions, or rearranging the execution order of modules, it is often necessary to recompile the program, redeploy it, or even replace the entire logical structure, leading to a significant increase in engineering verification costs. Therefore, the "programmability" of P4 is not equivalent to "structural-level reconfigurability," and its support for structural-level changes is insufficient.
[0004] Furthermore, both of these existing technologies lack a unified and auditable structured pipeline representation. When multiple functions are deployed simultaneously, there is no unified standard for describing the sequential dependencies and conflict management between modules, making it difficult to form an interpretable "call chain path," which in turn affects the observability and efficiency of network operations and maintenance.
[0005] Therefore, there is an urgent need for a technical solution that can overcome the shortcomings of existing technologies, achieve reconfigurable data plane pipeline structure, reduce scenario switching costs, and ensure execution determinism and auditability. Summary of the Invention
[0006] This invention provides a method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, so as to at least partially solve the above-mentioned technical problems.
[0007] To achieve the above objectives, in a first aspect, the present invention provides a method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, comprising: A Profile configuration file is generated based on the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. Based on the pre-configured self-describing metadata of the modules, the loader obtains the target information of all modules to be assembled and generates an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. Load and parse the Profile configuration file to obtain the module information. Generate a mapping relationship from the stage to the module entry point based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The XDP entry scheduler reads the stage scheduling table, jumps to the execution entry of the corresponding module according to the stage scheduling table, and schedules the execution of the ingress stage chain and the egress stage chain in sequence.
[0008] In conjunction with the first aspect above, in one possible implementation, the Profile configuration file can be expressed in any one of the following formats: YAML, JSON, TOML, CLI commands, database data, or control plane API objects.
[0009] In conjunction with the first aspect above, in one possible implementation, the source of the self-describing metadata includes any one of the following: ELF metadata segments, symbol naming conventions, standalone manifest files, and registry entries automatically generated during the build phase.
[0010] In conjunction with the first aspect mentioned above, in one possible implementation, the stage scheduling table uses the stage number as an index to quickly find the corresponding module execution entry point.
[0011] In conjunction with the first aspect above, in one possible implementation, the step of generating a mapping relationship from the module information and the assembly input list to the module entry point, and writing the mapping relationship into the stage scheduling table, includes: The dependencies between modules are checked based on the module information and the assembly input list; When there are no conflicts in the dependencies, a unique stage number is assigned to each module to be assembled, and the execution order of the ingress stage chain and the egress stage chain is determined according to the stage number. Generate a mapping relationship from the stage to the module entry point based on the stage number; Write the mapping relationship between the stage and the module entry point into the stage scheduling table.
[0012] In conjunction with the first aspect above, in one possible implementation, the step of reading the stage scheduling table through the XDP entry scheduler, jumping to the execution entry point of the corresponding module according to the stage scheduling table, and sequentially scheduling the execution of the ingress stage chain and the egress stage chain includes: The XDP ingress scheduler obtains and parses the stage schedule table to obtain the stage-to-module ingress mapping relationship of the corresponding ingress stage chain and egress stage chain under the current Profile configuration. Based on the stage number, the execution entry point of the corresponding module is jumped through the stage scheduling table index, and the module logic of the ingress stage chain and the egress stage chain is executed in sequence. Generate a telemetry event, wherein the telemetry event includes at least one or more of the following: stage identifier, action type, reason code, and rule identifier.
[0013] In conjunction with the first aspect above, in one possible implementation, when it is necessary to switch the network role of a device, the Profile configuration file is replaced or modified, and the stage scheduling table is regenerated for loading and execution.
[0014] Secondly, the present invention provides an apparatus for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, comprising: The configuration unit is used to generate a Profile configuration file according to the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters.
[0015] An automatic acquisition unit is used to acquire the target information of all modules to be assembled through a loader based on the self-descriptive metadata pre-configured by the modules, and generate an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. An assembly processing unit is used to load and parse the Profile configuration file to obtain the module information, generate a mapping relationship from stage to module entry based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The scheduling execution unit is used to read the stage scheduling table through the XDP entry scheduler, jump to the execution entry of the corresponding module according to the stage scheduling table, and schedule the execution of the modules in the ingress stage chain and the egress stage chain in sequence.
[0016] Thirdly, the present invention provides a system for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, characterized in that it includes: The configuration module is used to generate a Profile configuration file based on the target application scenario. The Profile configuration file describes the module information of the module to be assembled, including the module set, module execution order, module scope, and module running parameters.
[0017] The automatic acquisition module is used to obtain the target information of all modules to be assembled through the loader based on the self-descriptive metadata pre-configured by the module, and generate an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. The assembly processing module is used to load and parse the Profile configuration file to obtain the module information, generate a mapping relationship from the stage to the module entry based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The scheduling and execution module is used to read the stage scheduling table through the XDP entry scheduler, jump to the execution entry of the corresponding module according to the stage scheduling table, and schedule the execution of the ingress stage chain and the egress stage chain in sequence.
[0018] Fourthly, the present invention provides a computer-readable storage medium comprising a computer program that, when executed on an electronic device, causes the electronic device to perform the following steps: A Profile configuration file is generated based on the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. Based on the pre-configured self-describing metadata of the modules, the loader obtains the target information of all modules to be assembled and generates an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. Load and parse the Profile configuration file to obtain the module information. Generate a mapping relationship from the stage to the module entry point based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The XDP entry scheduler reads the stage scheduling table, jumps to the execution entry of the corresponding module according to the stage scheduling table, and schedules the execution of the ingress stage chain and the egress stage chain in sequence.
[0019] In summary, this invention abstracts structural changes such as inserting new functional segments, deleting modules, rearranging execution order, separating ingress and egress processing chains into assembly problems. These changes can be achieved simply through configuration and assembly processes, without the need for costly engineering modifications and verification. This makes it more flexible than the structural change capabilities of the P4 programmable data plane. A staged execution mechanism is adopted, clearly defining the sequential dependencies between modules with stage numbers, forming an explicit call chain path. Combined with telemetry event output, it can accurately locate "the processing stage the message passed through and the reason for the action execution," improving operational interpretability and auditing efficiency. Based on the XDP kernel-mode fast path, coupled with stage-execution entry mapping and efficient jump mechanisms, it ensures flexible pipeline structure reconfiguration while balancing high-performance data processing and deployment efficiency. By describing module sets, sequences, scopes, and parameters through Profile configuration files, the control plane automatically completes assembly and generates stage mappings. Devices can be quickly reconfigured into different network roles according to scenarios without rewriting the main pipeline, significantly reducing scenario switching costs. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without any creative effort.
[0021] To better understand the present invention and its beneficial effects, the following description will be made in conjunction with the accompanying drawings, wherein the same reference numerals denote the same parts in the following description.
[0022] Figure 1 This is a flowchart of a method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP in one embodiment of the present invention.
[0023] Figure 2 This is a schematic diagram of the structure of an apparatus for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP in one embodiment of the present invention.
[0024] Figure 3 This is a schematic diagram of the structure of a system based on XDP for reconfigurable modular data plane pipeline assembly and deterministic execution in one embodiment of the present invention.
[0025] Figure 4This is a schematic diagram of the structure of a computer device in one embodiment of the present invention. Detailed Implementation
[0026] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the protection scope of the present invention.
[0027] XDP, short for eXpressDataPath, is a high-performance, low-latency packet processing framework in the Linux kernel. Its core positioning is to "intervene in packet processing at the earliest stage of kernel mode," bypassing the redundant overhead of the traditional kernel network protocol stack and providing efficient and flexible packet processing capabilities for the data plane (DataPlane). It is also the core technical foundation of the technical solution of this invention. As it is existing technology, it will not be elaborated on here.
[0028] Figure 1 This is an exemplary embodiment of the present invention providing a method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP. The method's steps are merely one possible implementation of the present invention. Figure 1 As shown, the method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP provided in this embodiment of the invention includes the following steps: A method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, comprising: S10, Generate a Profile configuration file according to the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters.
[0029] In this embodiment of the invention, S10 is a preprocessing process.
[0030] S20: Based on the pre-configured self-describing metadata of the modules, the loader obtains the target information of all modules to be assembled and generates an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information.
[0031] S30, Load and parse the Profile configuration file to obtain the module information, and write the mapping relationship from the module information and the assembly input list to the module entry point into the stage scheduling table.
[0032] In this embodiment of the invention, S20 and S30 are both assembly processes for the control surface.
[0033] S40, the stage scheduling table is read through the XDP entry scheduler, and the execution entry of the corresponding module is jumped to according to the stage scheduling table, and the modules of the ingress stage chain and the egress stage chain are scheduled to run in sequence.
[0034] In this embodiment of the invention, S40 is the execution flow of the data plane.
[0035] As an example, a simple Layer 2 switching scenario is executed as follows: Preprocessing: Prepare the Dispatcher module, L2forwarding module, and Egressfinal module, and configure self-describing metadata for each module; Write a YAML-formatted Profile configuration file, specifying the module set as {Dispatcher, L2forwarding, Egressfinal}, the execution order as Dispatcher→L2forwarding→Egressfinal, the scope of all modules as "ingress+egress", and the parameter configuration as the default second-level exchange parameters.
[0036] Control surface assembly: Load the above Profile configuration file and parse it to obtain the module set, order, and parameters; Based on the module's self-describing metadata, the loader automatically discovers the identifiers, entry points, and dependencies of the three modules. Generation phase plan: Phase 1 → Dispatcher, Phase 2 → L2forwarding, Phase 3 → Egressfinal; Establish the phase-entry mapping relationship and write it into the phase scheduling table; The phase scheduling table is sent to the XDP data plane to complete the mounting.
[0037] Data plane execution: XDP receives the above message, reads the stage scheduling table, obtains the stage order and entry mapping, and executes the Dispatcher module, L2forwarding module, and Egressfinal module in the order of stage 1 → stage 2 → stage 3.
[0038] In one embodiment of the present invention, the Profile configuration file may be expressed in any one of the following formats: YAML, JSON, TOML, CLI commands, database data, or control plane API objects.
[0039] In one embodiment of the present invention, the source of the self-describing metadata includes any one of the following: ELF metadata segments, symbol naming conventions, standalone manifest files, and registry entries automatically generated during the build phase.
[0040] In one embodiment of the present invention, the stage scheduling table uses the stage number as an index to quickly find the corresponding module execution entry point through the stage number.
[0041] In summary, the method described in this embodiment of the invention abstracts structural changes such as inserting new functional segments, deleting modules, rearranging execution order, separating ingress and egress processing chains into assembly problems. These changes can be achieved simply through configuration and assembly processes, without the need for costly engineering modifications and verification. This method offers greater flexibility in structural changes than the P4 programmable data plane. The phased execution mechanism clarifies the sequential dependencies between modules using phase numbers, forming an explicit call chain path. Combined with telemetry event output, it can accurately pinpoint the "processing stage the message passed through and the reason for the action," improving operational interpretability and auditing efficiency. Based on the XDP kernel-mode fast path, coupled with phase-execution entry mapping and efficient jump mechanisms, it ensures flexible pipeline structure reconfiguration while also balancing high-performance data processing and deployment efficiency.
[0042] In one embodiment of the present invention, the step of generating a mapping relationship from the module information and the assembly input list to the module entry point, and writing the mapping relationship into the stage scheduling table, includes: S301, Check the dependencies between modules based on the module information and the assembly input list; S302, when there is no conflict in the dependency relationship, assign a unique stage number to each module to be assembled, and determine the execution order of the ingress stage chain and the egress stage chain according to the stage number.
[0043] In this embodiment, the dependency relationship is a necessary prerequisite for generating a valid mapping relationship. If the dependency verification is skipped, the mapping relationship may be invalid. The above steps can make the logic more rigorous.
[0044] S303, Generate a mapping relationship from the stage to the module entry based on the stage number.
[0045] S304, Write the mapping relationship from the stage to the module entry point into the stage scheduling table.
[0046] In one embodiment of the present invention, the step of reading the stage scheduling table through the XDP entry scheduler, jumping to the execution entry of the corresponding module according to the stage scheduling table, and sequentially scheduling the execution of the ingress stage chain and the egress stage chain includes: S401, obtain and parse the stage scheduling table through the XDP ingress scheduler to obtain the stage-to-module ingress mapping relationship of the corresponding ingress stage chain and egress stage chain under the current Profile configuration.
[0047] S402, based on the stage number, jump to the execution entry point of the corresponding module through the stage scheduling table index, and execute the module logic of the ingress stage chain and the egress stage chain in sequence.
[0048] S403, Generate a telemetry event, wherein the telemetry event includes at least one or more of the following: stage identifier, action type, reason code, and rule identifier.
[0049] In one embodiment of the present invention, the method further includes: when it is necessary to switch the network role of the device, replacing or modifying the Profile configuration file and regenerating the stage scheduling table for loading and execution.
[0050] As an example, when a device needs to switch to the security orchestration and routing role, the specific steps are as follows: Profile configuration update: Write a new JSON format Profile configuration file with the module set {Dispatcher, ACL, divert / mirror, observe / honeypotchain, Egress}, and the execution order is Dispatcher→ACL→divert / mirror→observe / honeypotchain→Egress.
[0051] The assembly process is repeated on the control plane, automatically discovering the metadata of newly added modules, generating new phase plans and phase schedules, and sending them to the data plane.
[0052] After receiving the message, XDP executes the corresponding actions according to the new stage chain and outputs telemetry events without modifying the main waterline code.
[0053] In this embodiment of the invention, the module set, order, scope and parameters are described by the Profile configuration file. The control plane automatically completes the assembly and generates the stage mapping. The device can be quickly reconstructed into different network roles according to the scenario without rewriting the mainstream waterline, which greatly reduces the cost of scenario switching.
[0054] Figure 2 This is an apparatus for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, provided in an exemplary embodiment of the present invention. For example... Figure 2 As shown, the apparatus for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP provided in this embodiment of the invention includes: The configuration unit is used to generate a Profile configuration file according to the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters.
[0055] An automatic acquisition unit is used to acquire the target information of all modules to be assembled through a loader based on the self-descriptive metadata pre-configured by the modules, and generate an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. An assembly processing unit is used to load and parse the Profile configuration file to obtain the module information, generate a mapping relationship from stage to module entry based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The scheduling execution unit is used to read the stage scheduling table through the XDP entry scheduler, jump to the execution entry of the corresponding module according to the stage scheduling table, and schedule the execution of the modules in the ingress stage chain and the egress stage chain in sequence.
[0056] Figure 3 This is a system for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, provided in an exemplary embodiment of the present invention. For example... Figure 3 As shown, the system for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP provided in this embodiment of the invention includes: The configuration module is used to generate a Profile configuration file based on the target application scenario. The Profile configuration file describes the module information of the module to be assembled, including the module set, module execution order, module scope, and module running parameters.
[0057] The automatic acquisition module is used to obtain the target information of all modules to be assembled through the loader based on the self-descriptive metadata pre-configured by the module, and generate an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. The assembly processing module is used to load and parse the Profile configuration file to obtain the module information, generate a mapping relationship from the stage to the module entry based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The scheduling and execution module is used to read the stage scheduling table through the XDP entry scheduler, jump to the execution entry of the corresponding module according to the stage scheduling table, and schedule the execution of the ingress stage chain and the egress stage chain in sequence.
[0058] Fourthly, the present invention provides a computer-readable storage medium comprising a computer program that, when executed on an electronic device, causes the electronic device to perform the following steps: A Profile configuration file is generated based on the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. Based on the pre-configured self-describing metadata of the modules, the loader obtains the target information of all modules to be assembled and generates an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. Load and parse the Profile configuration file to obtain the module information. Generate a mapping relationship from the stage to the module entry point based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The XDP entry scheduler reads the stage scheduling table, jumps to the execution entry of the corresponding module according to the stage scheduling table, and schedules the execution of the ingress stage chain and the egress stage chain in sequence.
[0059] Figure 4 This is a schematic diagram of the structure of the computer device provided in an embodiment of the present invention, such as... Figure 4 As shown, the computer device includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, causes the processor to perform the method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP as described in the above embodiments.
[0060] Furthermore, those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0061] To this end, embodiments of the present invention provide a computer-readable storage medium storing a plurality of computer programs, which can be loaded by a processor to execute any of the vehicle control methods provided in the embodiments of the present invention. The computer program can execute the steps of the following method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP: A Profile configuration file is generated based on the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. Based on the pre-configured self-describing metadata of the modules, the loader obtains the target information of all modules to be assembled and generates an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. Load and parse the Profile configuration file to obtain the module information. Generate a mapping relationship from the stage to the module entry point based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The XDP entry scheduler reads the stage scheduling table, jumps to the execution entry of the corresponding module according to the stage scheduling table, and schedules the execution of the ingress stage chain and the egress stage chain in sequence.
[0062] In summary, this invention abstracts structural changes such as inserting new functional segments, deleting modules, rearranging execution order, separating ingress and egress processing chains into assembly problems. These changes can be achieved simply through configuration and assembly processes, without the need for costly engineering modifications and verification. This makes it more flexible than the structural change capabilities of the P4 programmable data plane. A staged execution mechanism is adopted, clearly defining the sequential dependencies between modules with stage numbers, forming an explicit call chain path. Combined with telemetry event output, it can accurately locate "the processing stage the message passed through and the reason for the action execution," improving operational interpretability and auditing efficiency. Based on the XDP kernel-mode fast path, coupled with stage-execution entry mapping and efficient jump mechanisms, it ensures flexible pipeline structure reconfiguration while balancing high-performance data processing and deployment efficiency. By describing module sets, sequences, scopes, and parameters through Profile configuration files, the control plane automatically completes assembly and generates stage mappings. Devices can be quickly reconfigured into different network roles according to scenarios without rewriting the main pipeline, significantly reducing scenario switching costs.
[0063] The computer program instructions described in this application embodiment may be stored in a computer-readable storage medium capable of directing a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, the instruction means being implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0064] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0065] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0066] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0067] Computer-readable media include both permanent and non-permanent, removable and non-removable media, which can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated communication signals and carrier waves.
[0068] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0069] The embodiments, implementation methods, and related technical features of this invention can be combined and substituted for each other without conflict.
[0070] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any way. Any simple modifications, equivalent changes, and alterations made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the scope of the present invention.
Claims
1. A method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, characterized in that, include: A Profile configuration file is generated based on the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. Based on the pre-configured self-describing metadata of the modules, the loader obtains the target information of all modules to be assembled and generates an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. Load and parse the Profile configuration file to obtain the module information. Generate a mapping relationship from the stage to the module entry point based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The XDP entry scheduler reads the stage scheduling table, jumps to the execution entry of the corresponding module according to the stage scheduling table, and schedules the execution of the ingress stage chain and the egress stage chain in sequence.
2. The method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP according to claim 1, characterized in that, The Profile configuration file can be expressed in any of the following formats: YAML, JSON, TOML, CLI commands, database data, or control plane API objects.
3. The method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP according to claim 2, characterized in that, The sources of the self-describing metadata include any one of the following: ELF metadata segments, symbol naming conventions, standalone manifest files, and registry entries automatically generated during the build process.
4. The method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP according to claim 3, characterized in that, The stage scheduling table uses the stage number as an index to quickly find the corresponding module execution entry point.
5. The method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP according to claim 4, characterized in that, The step of generating a mapping relationship from the stage to the module entry point based on the module information and the assembly input list, and writing the mapping relationship into the stage scheduling table, includes: The dependencies between modules are checked based on the module information and the assembly input list; When there are no conflicts in the dependencies, a unique stage number is assigned to each module to be assembled, and the execution order of the ingress stage chain and the egress stage chain is determined according to the stage number. Generate a mapping relationship from the stage to the module entry point based on the stage number; Write the mapping relationship between the stage and the module entry point into the stage scheduling table.
6. The method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP according to claim 5, characterized in that, The step of reading the stage scheduling table through the XDP entry scheduler, jumping to the execution entry point of the corresponding module according to the stage scheduling table, and scheduling the execution of the ingress stage chain and the egress stage chain in sequence includes: The XDP ingress scheduler obtains and parses the stage schedule table to obtain the stage-to-module ingress mapping relationship of the corresponding ingress stage chain and egress stage chain under the current Profile configuration. Based on the stage number, the execution entry point of the corresponding module is jumped through the stage scheduling table index, and the module logic of the ingress stage chain and the egress stage chain is executed in sequence. Generate a telemetry event, wherein the telemetry event includes at least one or more of the following: stage identifier, action type, reason code, and rule identifier.
7. The method for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP according to claim 6, characterized in that, When it is necessary to switch the network role of a device, replace or modify the Profile configuration file and regenerate the stage scheduling table for loading and execution.
8. An apparatus for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, characterized in that, include: The configuration unit is used to generate a Profile configuration file according to the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. An automatic acquisition unit is used to acquire the target information of all modules to be assembled through a loader based on the self-descriptive metadata pre-configured by the modules, and generate an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. An assembly processing unit is used to load and parse the Profile configuration file to obtain the module information, generate a mapping relationship from stage to module entry based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The scheduling execution unit is used to read the stage scheduling table through the XDP entry scheduler, jump to the execution entry of the corresponding module according to the stage scheduling table, and schedule the execution of the modules in the ingress stage chain and the egress stage chain in sequence.
9. A system for reconfigurable modular data plane pipeline assembly and deterministic execution based on XDP, characterized in that, include: The configuration module is used to generate a Profile configuration file according to the target application scenario. The Profile configuration file is used to describe the module information of the module to be assembled. The module information includes the module set, module execution order, module scope and module running parameters. The automatic acquisition module is used to obtain the target information of all modules to be assembled through the loader based on the self-descriptive metadata pre-configured by the module, and generate an assembly input list. The target information includes module identifier, execution entry information, available stage, and dependency information. The assembly processing module is used to load and parse the Profile configuration file to obtain the module information, generate a mapping relationship from the stage to the module entry based on the module information and the assembly input list, and write the mapping relationship into the stage scheduling table. The scheduling and execution module is used to read the stage scheduling table through the XDP entry scheduler, jump to the execution entry of the corresponding module according to the stage scheduling table, and schedule the execution of the ingress stage chain and the egress stage chain in sequence.
10. A computer-readable storage medium, characterized in that, It includes a computer program that, when run on an electronic device, causes the electronic device to perform the steps of the method for reconfigurable modular data plane pipeline assembly and deterministic execution based on any one of claims 1 to 7.