Flow table name, which must comply with the DSL naming requirements.
Quantity
1 to 12
The sum of the main table and auxiliary tables is less than or equal to 12. At least one main table must be defined.
Type
Main table
Supports user declaration and stage-based division.
Keys
rte_eth_hdr_t
rte_vlan_hdr_t
rte_ipv4_hdr_t
rte_ipv6_hdr_t
rte_tcp_hdr_t
rte_udp_hdr_t
rte_icmp_hdr_t
rte_icmp6_hdr_t
rte_vxlan_hdr_t
rte_port_id_hdr_t
rte_geneve_hdr_t
Custom headers
Different tables support different keys, including DPDK standard headers and custom headers. The structures supported by the DPDK standard are defined in built-in header files that are not user-modifiable.
Actions
flexda_ct
rte_count
rte_port_id
rte_set_mac_src
rte_set_mac_dst
rte_set_ipv4_src
rte_set_ipv4_dst
rte_set_ipv6_src
rte_set_ipv6_dst
rte_dec_ttl
rte_set_ttl
rte_set_tp_src
rte_set_tp_dst
rte_of_pop_vlan
rte_of_push_vlan
rte_of_set_vlan_vid
rte_of_set_vlan_pcp
rte_vxlan_encap
rte_vxlan_decap
rte_queue
rte_rss
Custom actions
The supported actions vary with tables. The data size of a single action cannot exceed 128 bytes.
rte_queue and rte_rss can be defined in the same table with other actions, but cannot be issued to the same flow table simultaneously with other upcall-type, packet-modification, custom, and rte_port_id actions.
Matching mode
Exact
Classification by matching mode.
Number of entries
2,097,152
It is recommended that this attribute be set to a value less than or equal to 2,097,152. If the recommended value is exceeded, the DSL compilation result is subject to resource resolution.
Whether the OVS service is enabled depends on the memory resources of the DPU-SPU.
Key size
10/26/42/58 bytes
The key size is calculated as follows: Calculate the key size of the key list for every main table, take the maximum value across all main tables, and round it up to the next available value in {10, 26, 42, 58}.
Flow entry size
256/512/1,024 bytes
A main table supports multiple flow entry specifications. The calculation formulas are as follows:
Value size = 44 + Number of actions x 4 + Total data size of actions
The data size must be 1-byte aligned.
Entry size = Key size + Value size + 54. The result is rounded up to the next available value in {256, 512, 1,024}.
The value size used in this calculation is the maximum value size across all main tables.
NOTICE:
rte_counter, rte_port_id, rte_queue, flexda_ct, flexda_upcall, and flexda_inner_rss are not included in the calculation of actions.