20 #include <rte_compat.h> 49 #define RTE_FLOW_LOG(level, ...) \ 50 rte_log(RTE_LOG_ ## level, rte_eth_dev_logtype, "" __VA_ARGS__) 134 struct rte_flow_group_attr {
754 .classification = RTE_BE16(UINT16_MAX),
755 .vid = RTE_BE16(0xfff),
841 .reserved = 0x3fffffff,
842 .offset = 0xffffffff,
887 .hdr.src_addr.addr_bytes =
"\xff\xff\xff\xff\xff\xff",
888 .hdr.ether_type = RTE_BE16(0x0000),
928 .hdr.eth_proto = RTE_BE16(0x0000),
948 .dst_addr = RTE_BE32(0xffffffff),
989 "\xff\xff\xff\xff\xff\xff\xff\xff" 990 "\xff\xff\xff\xff\xff\xff\xff\xff",
992 "\xff\xff\xff\xff\xff\xff\xff\xff" 993 "\xff\xff\xff\xff\xff\xff\xff\xff",
1043 .dst_port = RTE_BE16(0xffff),
1062 .dst_port = RTE_BE16(0xffff),
1081 .dst_port = RTE_BE16(0xffff),
1110 .hdr.
vni =
"\xff\xff\xff",
1163 .
tni =
"\xff\xff\xff",
1176 uint8_t label_tc_s[3];
1286 .
hdr.
teid = RTE_BE32(UINT32_MAX),
1303 .
spi = RTE_BE32(0xffffffff),
1327 .
vni =
"\xff\xff\xff",
1356 .hdr.
vni =
"\xff\xff\xff",
1391 .hdr.arp_data.arp_sip = RTE_BE32(UINT32_MAX),
1392 .hdr.arp_data.arp_tha.addr_bytes =
"\xff\xff\xff\xff\xff\xff",
1393 .hdr.arp_data.arp_tip = RTE_BE32(UINT32_MAX),
1430 struct rte_ipv6_fragment_ext hdr;
1472 uint8_t target_addr[16];
1480 "\xff\xff\xff\xff\xff\xff\xff\xff" 1481 "\xff\xff\xff\xff\xff\xff\xff\xff",
1499 uint8_t target_addr[16];
1507 "\xff\xff\xff\xff\xff\xff\xff\xff" 1508 "\xff\xff\xff\xff\xff\xff\xff\xff",
1745 uint32_t reserved1:4;
1747 uint32_t next_proto:8;
1772 uint32_t max_resp_time:8;
1773 uint32_t checksum:16;
1774 uint32_t group_addr;
1780 .group_addr = 0xffffffff,
1793 uint32_t next_hdr:8;
1794 uint32_t payload_len:8;
1826 .seid = RTE_BE64(UINT64_C(0xffffffffffffffff)),
1860 uint8_t option_type;
1869 .option_type = 0xff,
1913 rte_flow_item_integrity_mask = {
1922 #define RTE_FLOW_CONNTRACK_PKT_STATE_VALID RTE_BIT32(0) 1926 #define RTE_FLOW_CONNTRACK_PKT_STATE_CHANGED RTE_BIT32(1) 1931 #define RTE_FLOW_CONNTRACK_PKT_STATE_INVALID RTE_BIT32(2) 1936 #define RTE_FLOW_CONNTRACK_PKT_STATE_DISABLED RTE_BIT32(3) 1941 #define RTE_FLOW_CONNTRACK_PKT_STATE_BAD RTE_BIT32(4) 1960 .flags = 0xffffffff,
2026 .proto_id = RTE_BE16(0xffff),
2045 .dst_qp =
"\xff\xff\xff",
3552 uint8_t ipv6_addr[16];
3687 struct rte_flow_action_handle;
3982 struct rte_flow_item_flex_handle *flex_handle;
4045 struct rte_flow_meter_policy *policy;
4126 extern int32_t rte_flow_dynf_metadata_offs;
4129 extern uint64_t rte_flow_dynf_metadata_mask;
4132 #define RTE_FLOW_DYNF_METADATA(m) \ 4133 RTE_MBUF_DYNFIELD((m), rte_flow_dynf_metadata_offs, uint32_t *) 4136 #define RTE_MBUF_DYNFLAG_RX_METADATA (rte_flow_dynf_metadata_mask) 4137 #define RTE_MBUF_DYNFLAG_TX_METADATA (rte_flow_dynf_metadata_mask) 4140 static inline uint32_t
4141 rte_flow_dynf_metadata_get(
struct rte_mbuf *m)
4143 return *RTE_FLOW_DYNF_METADATA(m);
4148 rte_flow_dynf_metadata_set(
struct rte_mbuf *m, uint32_t v)
4150 *RTE_FLOW_DYNF_METADATA(m) = v;
4178 struct rte_flow_meter_profile;
4185 struct rte_flow_meter_policy;
4455 return !!rte_flow_dynf_metadata_mask;
4580 struct rte_flow *flow,
4602 struct rte_flow *flow,
4652 struct rte_flow *flow,
4727 const char *message);
4948 struct rte_flow_action_handle *
4979 struct rte_flow_action_handle *handle,
5018 struct rte_flow_action_handle *handle,
5050 const struct rte_flow_action_handle *handle,
5054 struct rte_flow_tunnel {
5090 #define RTE_FLOW_RESTORE_INFO_TUNNEL RTE_BIT64(0) 5095 #define RTE_FLOW_RESTORE_INFO_ENCAPSULATED RTE_BIT64(1) 5100 #define RTE_FLOW_RESTORE_INFO_GROUP_ID RTE_BIT64(2) 5114 struct rte_flow_tunnel tunnel;
5143 struct rte_flow_tunnel *tunnel,
5145 uint32_t *num_of_actions,
5174 struct rte_flow_tunnel *tunnel,
5176 uint32_t *num_of_items,
5242 uint32_t num_of_actions,
5265 uint32_t num_of_items,
5316 struct rte_flow_item_flex_handle *
5338 const struct rte_flow_item_flex_handle *handle,
5345 #define RTE_FLOW_PORT_FLAG_STRICT_QUEUE RTE_BIT32(0) 5352 #define RTE_FLOW_PORT_FLAG_SHARE_INDIRECT RTE_BIT32(1) 5539 struct rte_flow_pattern_template;
5597 struct rte_flow_pattern_template *
5626 struct rte_flow_pattern_template *pattern_template,
5633 struct rte_flow_actions_template;
5691 struct rte_flow_actions_template *
5721 struct rte_flow_actions_template *actions_template,
5728 struct rte_flow_template_table;
5743 #define RTE_FLOW_TABLE_SPECIALIZE_TRANSFER_WIRE_ORIG RTE_BIT32(0) 5751 #define RTE_FLOW_TABLE_SPECIALIZE_TRANSFER_VPORT_ORIG RTE_BIT32(1) 5863 struct rte_flow_template_table *
5866 struct rte_flow_pattern_template *pattern_templates[],
5867 uint8_t nb_pattern_templates,
5868 struct rte_flow_actions_template *actions_templates[],
5869 uint8_t nb_actions_templates,
5895 struct rte_flow_template_table *template_table,
5923 const struct rte_flow_group_attr *attr,
5983 struct rte_flow_template_table *template_table,
5985 uint8_t pattern_template_index,
5987 uint8_t actions_template_index,
6028 struct rte_flow_template_table *template_table,
6029 uint32_t rule_index,
6031 uint8_t actions_template_index,
6069 struct rte_flow *flow,
6106 struct rte_flow *flow,
6108 uint8_t actions_template_index,
6233 struct rte_flow_action_handle *
6272 struct rte_flow_action_handle *action_handle,
6311 struct rte_flow_action_handle *action_handle,
6355 const struct rte_flow_action_handle *action_handle,
6410 struct rte_flow_action_handle *handle,
6411 const void *update,
void *query,
6454 struct rte_flow_action_handle *handle,
6455 const void *update,
void *query,
6460 struct rte_flow_action_list_handle;
6512 struct rte_flow_action_list_handle *
6554 struct rte_flow_action_list_handle *
6586 struct rte_flow_action_list_handle *handle,
6622 (uint16_t port_id, uint32_t queue_id,
6624 struct rte_flow_action_list_handle *handle,
6666 const struct rte_flow_action_list_handle *handle,
6667 const void **update,
void **query,
6718 const struct rte_flow_action_list_handle *handle,
6719 const void **update,
void **query,
6753 const struct rte_flow_item pattern[], uint8_t pattern_template_index,
static const struct rte_flow_item_icmp6_nd_opt_sla_eth rte_flow_item_icmp6_nd_opt_sla_eth_mask
rte_be16_t ver_opt_len_o_c_rsvd0
__rte_experimental int rte_flow_action_handle_update(uint16_t port_id, struct rte_flow_action_handle *handle, const void *update, struct rte_flow_error *error)
__rte_experimental int rte_flow_async_action_handle_query(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, const struct rte_flow_action_handle *action_handle, void *data, void *user_data, struct rte_flow_error *error)
static const struct rte_flow_item_quota rte_flow_item_quota_mask
int rte_flow_validate(uint16_t port_id, const struct rte_flow_attr *attr, const struct rte_flow_item pattern[], const struct rte_flow_action actions[], struct rte_flow_error *error)
uint32_t max_nb_aging_objects
struct rte_ether_addr src_addr
struct rte_flow_action * actions
static const struct rte_flow_item_icmp6_nd_na rte_flow_item_icmp6_nd_na_mask
static const struct rte_flow_item_ipv6 rte_flow_item_ipv6_mask
rte_be16_t epcp_edei_in_ecid_b
__rte_experimental int rte_flow_action_handle_query(uint16_t port_id, const struct rte_flow_action_handle *handle, void *data, struct rte_flow_error *error)
__rte_experimental struct rte_flow * rte_flow_async_create(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_template_table *template_table, const struct rte_flow_item pattern[], uint8_t pattern_template_index, const struct rte_flow_action actions[], uint8_t actions_template_index, void *user_data, struct rte_flow_error *error)
struct rte_flow_action_list_handle * handle
static const struct rte_flow_item_pfcp rte_flow_item_pfcp_mask
__rte_experimental struct rte_flow_action_list_handle * rte_flow_async_action_list_handle_create(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *attr, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action *actions, void *user_data, struct rte_flow_error *error)
struct rte_ether_addr arp_sha
__rte_experimental int rte_flow_async_destroy(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow *flow, void *user_data, struct rte_flow_error *error)
struct rte_flow_attr * attr
uint32_t color_mode_valid
uint32_t sec_since_last_hit
__rte_experimental int rte_flow_action_handle_destroy(uint16_t port_id, struct rte_flow_action_handle *handle, struct rte_flow_error *error)
__rte_experimental int rte_flow_async_action_list_handle_destroy(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_list_handle *handle, void *user_data, struct rte_flow_error *error)
rte_flow_item_flex_tunnel_mode
int rte_flow_query(uint16_t port_id, struct rte_flow *flow, const struct rte_flow_action *action, void *data, struct rte_flow_error *error)
struct rte_flow_item_flex_link * input_link
__rte_experimental int rte_flow_async_action_handle_destroy(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_handle *action_handle, void *user_data, struct rte_flow_error *error)
uint32_t nb_aging_objects
struct rte_flow_item * definition
static const struct rte_flow_item_gre rte_flow_item_gre_mask
struct rte_flow_meter_profile * profile
__rte_experimental int rte_flow_template_table_destroy(uint16_t port_id, struct rte_flow_template_table *template_table, struct rte_flow_error *error)
struct rte_ether_addr dst_addr
uint32_t relaxed_matching
static const struct rte_flow_item_gtp rte_flow_item_gtp_mask
static const struct rte_flow_item_icmp rte_flow_item_icmp_mask
#define RTE_ETHER_ADDR_LEN
uint8_t retransmission_limit
static const struct rte_flow_item_geneve rte_flow_item_geneve_mask
const struct rte_flow_attr * attr_ro
static const struct rte_flow_item_sctp rte_flow_item_sctp_mask
int rte_flow_isolate(uint16_t port_id, int set, struct rte_flow_error *error)
static const struct rte_flow_item_any rte_flow_item_any_mask
__rte_experimental int rte_flow_action_handle_query_update(uint16_t port_id, struct rte_flow_action_handle *handle, const void *update, void *query, enum rte_flow_query_update_mode mode, struct rte_flow_error *error)
static const struct rte_flow_item_meta rte_flow_item_meta_mask
static const struct rte_flow_item_esp rte_flow_item_esp_mask
__rte_experimental int rte_flow_get_restore_info(uint16_t port_id, struct rte_mbuf *m, struct rte_flow_restore_info *info, struct rte_flow_error *error)
__rte_deprecated size_t rte_flow_copy(struct rte_flow_desc *fd, size_t len, const struct rte_flow_attr *attr, const struct rte_flow_item *items, const struct rte_flow_action *actions)
struct rte_ether_addr tla
rte_flow_item_flex_field_mode
static const struct rte_flow_item_meter_color rte_flow_item_meter_color_mask
static const struct rte_flow_item_conntrack rte_flow_item_conntrack_mask
static const struct rte_flow_item_geneve_opt rte_flow_item_geneve_opt_mask
static const struct rte_flow_item_icmp6 rte_flow_item_icmp6_mask
struct rte_flow_action * actions
uint32_t max_nb_conn_tracks
static const struct rte_flow_item_mark rte_flow_item_mark_mask
struct rte_flow_item_flex_field * sample_data
static const struct rte_flow_item_ib_bth rte_flow_item_ib_bth_mask
static const struct rte_flow_item_icmp6_nd_opt rte_flow_item_icmp6_nd_opt_mask
__rte_experimental int rte_flow_actions_update(uint16_t port_id, struct rte_flow *flow, const struct rte_flow_action actions[], struct rte_flow_error *error)
static const struct rte_flow_item_vxlan rte_flow_item_vxlan_mask
static const struct rte_flow_item_port_id rte_flow_item_port_id_mask
struct rte_ether_addr dst_addr
static const struct rte_flow_item_higig2_hdr rte_flow_item_higig2_hdr_mask
static const struct rte_flow_item_nvgre rte_flow_item_nvgre_mask
struct rte_flow_item * pattern
static const struct rte_flow_item_aggr_affinity rte_flow_item_aggr_affinity_mask
__rte_experimental struct rte_flow * rte_flow_async_create_by_index(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_template_table *template_table, uint32_t rule_index, const struct rte_flow_action actions[], uint8_t actions_template_index, void *user_data, struct rte_flow_error *error)
__rte_experimental int rte_flow_group_set_miss_actions(uint16_t port_id, uint32_t group_id, const struct rte_flow_group_attr *attr, const struct rte_flow_action actions[], struct rte_flow_error *error)
__rte_experimental int rte_flow_async_action_handle_query_update(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *attr, struct rte_flow_action_handle *handle, const void *update, void *query, enum rte_flow_query_update_mode mode, void *user_data, struct rte_flow_error *error)
__rte_experimental int rte_flow_async_action_handle_update(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow_action_handle *action_handle, const void *update, void *user_data, struct rte_flow_error *error)
static const struct rte_flow_item_l2tpv2 rte_flow_item_l2tpv2_mask
struct rte_l2tpv2_common_hdr common
static const struct rte_flow_item_udp rte_flow_item_udp_mask
__rte_experimental int rte_flow_get_q_aged_flows(uint16_t port_id, uint32_t queue_id, void **contexts, uint32_t nb_contexts, struct rte_flow_error *error)
__rte_experimental uint64_t rte_flow_restore_info_dynflag(void)
__rte_experimental int rte_flow_dev_dump(uint16_t port_id, struct rte_flow *flow, FILE *file, struct rte_flow_error *error)
__rte_experimental int rte_flow_actions_template_destroy(uint16_t port_id, struct rte_flow_actions_template *actions_template, struct rte_flow_error *error)
rte_be16_t rsvd_grp_ecid_b
static const struct rte_flow_item_raw rte_flow_item_raw_mask
rte_flow_conntrack_tcp_last_index
__rte_experimental int rte_flow_calc_table_hash(uint16_t port_id, const struct rte_flow_template_table *table, const struct rte_flow_item pattern[], uint8_t pattern_template_index, uint32_t *hash, struct rte_flow_error *error)
__rte_experimental struct rte_flow_item_flex_handle * rte_flow_flex_item_create(uint16_t port_id, const struct rte_flow_item_flex_conf *conf, struct rte_flow_error *error)
struct rte_gtp_psc_generic_hdr hdr
int rte_flow_flush(uint16_t port_id, struct rte_flow_error *error)
static const struct rte_flow_item_mpls rte_flow_item_mpls_mask
static const struct rte_flow_item_icmp6_nd_ns rte_flow_item_icmp6_nd_ns_mask
__rte_experimental struct rte_flow_action_handle * rte_flow_action_handle_create(uint16_t port_id, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action *action, struct rte_flow_error *error)
int rte_flow_error_set(struct rte_flow_error *error, int code, enum rte_flow_error_type type, const void *cause, const char *message)
__rte_experimental struct rte_flow_action_list_handle * rte_flow_action_list_handle_create(uint16_t port_id, const struct rte_flow_indir_action_conf *conf, const struct rte_flow_action *actions, struct rte_flow_error *error)
static const struct rte_flow_item_icmp6_nd_opt_tla_eth rte_flow_item_icmp6_nd_opt_tla_eth_mask
int rte_flow_destroy(uint16_t port_id, struct rte_flow *flow, struct rte_flow_error *error)
__rte_experimental struct rte_flow_action_handle * rte_flow_async_action_handle_create(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, const struct rte_flow_indir_action_conf *indir_action_conf, const struct rte_flow_action *action, void *user_data, struct rte_flow_error *error)
static const struct rte_flow_item_ipv4 rte_flow_item_ipv4_mask
rte_be16_t c_k_s_rsvd0_ver
static const struct rte_flow_item_ppp rte_flow_item_ppp_mask
static const struct rte_flow_item_gtp_psc rte_flow_item_gtp_psc_mask
const struct rte_flow_action * actions_ro
struct rte_flow_item * items
__rte_experimental int rte_flow_get_aged_flows(uint16_t port_id, void **contexts, uint32_t nb_contexts, struct rte_flow_error *error)
struct rte_ether_addr sla
rte_flow_query_update_mode
struct rte_flow_item_flex_link * output_link
__rte_experimental struct rte_flow_template_table * rte_flow_template_table_create(uint16_t port_id, const struct rte_flow_template_table_attr *table_attr, struct rte_flow_pattern_template *pattern_templates[], uint8_t nb_pattern_templates, struct rte_flow_actions_template *actions_templates[], uint8_t nb_actions_templates, struct rte_flow_error *error)
struct rte_flow * rte_flow_create(uint16_t port_id, const struct rte_flow_attr *attr, const struct rte_flow_item pattern[], const struct rte_flow_action actions[], struct rte_flow_error *error)
rte_flow_table_insertion_type
__rte_experimental int rte_flow_pattern_template_destroy(uint16_t port_id, struct rte_flow_pattern_template *pattern_template, struct rte_flow_error *error)
static const struct rte_flow_item_l2tpv3oip rte_flow_item_l2tpv3oip_mask
static const struct rte_flow_item_igmp rte_flow_item_igmp_mask
static const struct rte_flow_item_tx_queue rte_flow_item_tx_queue_mask
__rte_experimental int rte_flow_action_list_handle_query_update(uint16_t port_id, const struct rte_flow_action_list_handle *handle, const void **update, void **query, enum rte_flow_query_update_mode mode, struct rte_flow_error *error)
__rte_experimental int rte_flow_tunnel_decap_set(uint16_t port_id, struct rte_flow_tunnel *tunnel, struct rte_flow_action **actions, uint32_t *num_of_actions, struct rte_flow_error *error)
static const struct rte_flow_item_arp_eth_ipv4 rte_flow_item_arp_eth_ipv4_mask
const struct rte_flow_action * actions
__rte_experimental int rte_flow_flex_item_release(uint16_t port_id, const struct rte_flow_item_flex_handle *handle, struct rte_flow_error *error)
uint32_t sec_since_last_hit_valid
static const struct rte_flow_item_eth rte_flow_item_eth_mask
uint32_t challenge_ack_passed
static const struct rte_flow_item_ethdev rte_flow_item_ethdev_mask
__rte_experimental int rte_flow_info_get(uint16_t port_id, struct rte_flow_port_info *port_info, struct rte_flow_queue_info *queue_info, struct rte_flow_error *error)
__rte_experimental int rte_flow_conv(enum rte_flow_conv_op op, void *dst, size_t size, const void *src, struct rte_flow_error *error)
__rte_experimental int rte_flow_dynf_metadata_register(void)
static const struct rte_flow_item_ah rte_flow_item_ah_mask
static const struct rte_flow_item_tag rte_flow_item_tag_mask
static const struct rte_flow_item_ipv6_ext rte_flow_item_ipv6_ext_mask
static const struct rte_flow_item_ecpri rte_flow_item_ecpri_mask
__rte_experimental struct rte_flow_actions_template * rte_flow_actions_template_create(uint16_t port_id, const struct rte_flow_actions_template_attr *template_attr, const struct rte_flow_action actions[], const struct rte_flow_action masks[], struct rte_flow_error *error)
static const struct rte_flow_item_pppoe_proto_id rte_flow_item_pppoe_proto_id_mask
struct rte_flow_item * definition
static const struct rte_flow_item_vlan rte_flow_item_vlan_mask
static const struct rte_flow_item_e_tag rte_flow_item_e_tag_mask
static __rte_experimental int rte_flow_dynf_metadata_avail(void)
__rte_experimental int rte_flow_tunnel_item_release(uint16_t port_id, struct rte_flow_item *items, uint32_t num_of_items, struct rte_flow_error *error)
__rte_experimental struct rte_flow_pattern_template * rte_flow_pattern_template_create(uint16_t port_id, const struct rte_flow_pattern_template_attr *template_attr, const struct rte_flow_item pattern[], struct rte_flow_error *error)
static const struct rte_flow_item_tcp rte_flow_item_tcp_mask
static const struct rte_flow_item_fuzzy rte_flow_item_fuzzy_mask
uint8_t addr_bytes[RTE_ETHER_ADDR_LEN]
const struct rte_flow_action_prog_argument * args
__rte_experimental int rte_flow_tunnel_action_decap_release(uint16_t port_id, struct rte_flow_action *actions, uint32_t num_of_actions, struct rte_flow_error *error)
__rte_experimental int rte_flow_action_list_handle_destroy(uint16_t port_id, struct rte_flow_action_list_handle *handle, struct rte_flow_error *error)
__rte_experimental int rte_flow_configure(uint16_t port_id, const struct rte_flow_port_attr *port_attr, uint16_t nb_queue, const struct rte_flow_queue_attr *queue_attr[], struct rte_flow_error *error)
__rte_experimental int rte_flow_pull(uint16_t port_id, uint32_t queue_id, struct rte_flow_op_result res[], uint16_t n_res, struct rte_flow_error *error)
__rte_experimental int rte_flow_async_action_list_handle_query_update(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *attr, const struct rte_flow_action_list_handle *handle, const void **update, void **query, enum rte_flow_query_update_mode mode, void *user_data, struct rte_flow_error *error)
static const struct rte_flow_item_ptype rte_flow_item_ptype_mask
__rte_experimental int rte_flow_tunnel_match(uint16_t port_id, struct rte_flow_tunnel *tunnel, struct rte_flow_item **items, uint32_t *num_of_items, struct rte_flow_error *error)
struct rte_flow_item_flex_handle * handle
const struct rte_flow_item * pattern_ro
static const struct rte_flow_item_vxlan_gpe rte_flow_item_vxlan_gpe_mask
static const struct rte_flow_item_nsh rte_flow_item_nsh_mask
__rte_experimental int rte_flow_async_actions_update(uint16_t port_id, uint32_t queue_id, const struct rte_flow_op_attr *op_attr, struct rte_flow *flow, const struct rte_flow_action actions[], uint8_t actions_template_index, void *user_data, struct rte_flow_error *error)
__rte_experimental int rte_flow_push(uint16_t port_id, uint32_t queue_id, struct rte_flow_error *error)
int rte_flow_pick_transfer_proxy(uint16_t port_id, uint16_t *proxy_port_id, struct rte_flow_error *error)