Rate This Document
Findability
Accuracy
Completeness
Readability

Adding Compilation Files

The FlexDA programming framework provides a suite of architecture header files. When performing OVS development using the Hydra language, you need to place these header files in the specified directory and include the required files in service code via the #include directive.

Table 1 Header files

Header File

Description

hydra_core.hdr

Core library, which contains the declarations required by most programs. For example, the definitions of common types and constants, match_kind enumeration, and packet_in for packet parsing.

hydra_model.hdr

Provides the definitions for programmable blocks within the FlexDA framework, such as parsers and controls. It also provides three distinct packages for assembling these blocks based on the packet direction. Users need to instantiate the appropriate package according to their specific requirements.

hydra_headers.hdr

Provides declarations for common packet protocols, such as Ethernet, IPv4, and IPv6.

hydra_parser.hdr

Contains the packet structure definitions supported by the default hardware parser, along with the parser implementation. Users can leverage the pre-provided parser implementation to simplify programming and improve development efficiency.

hydra_externs.hdr

Provides extern functions for packet editing and checksum calculation.

hydra_builtin.hdr

Provides header structure declarations and action declarations to support default DPDK keys/actions and built-in actions provided by the framework.

log.hdr

Provides log interface declarations. In the DSL, logging is strictly restricted to the state, apply, and action logic. For details, see Header File Usage Example.

The architecture header files are read-only. Do not modify the file content.