mlx5dv_create_flow_matcher (3) Linux Manual Page
mlx5dv_create_flow_matcher – creates a matcher to be used with
Synopsis
#include <infiniband/mlx5dv.h>
struct mlx5dv_flow_matcher *
mlx5dv_create_flow_matcher(struct ibv_context *context,
struct mlx5dv_flow_matcher_attr *attr)
Description
mlx5dv_create_flow_matcher() creates a flow matcher (mask) to be used with mlx5dv_create_flow(3).Arguments
Please see ibv_open_device(3) for context.attr
struct mlx5dv_flow_matcher_attr {
enum ibv_flow_attr_type type;
uint32_t flags; /* From enum ibv_flow_flags */
uint16_t priority;
uint8_t match_criteria_enable; /* Device spec format */
struct mlx5dv_flow_match_parameters *match_mask;
uint64_t comp_mask;
enum mlx5dv_flow_table_type ft_type;
};- type
- Type of matcher to be created: IBV_FLOW_ATTR_NORMAL: Normal rule according to specification.
- flags
- special flags to control rule: 0: Nothing or zero value means matcher will store ingress flow rules. IBV_FLOW_ATTR_FLAGS_EGRESS: Specified this matcher will store egress flow rules.
- priority
- See ibv_create_flow(3).
- match_criteria_enable
- What match criteria is configured in match_mask, passed in device spec format.
match_mask
struct mlx5dv_flow_match_parameters {
size_t match_sz;
uint64_t match_buf[]; /* Device spec format */
};- match_sz
- Size in bytes of match_buf.
- match_buf
- Set which mask to be used, passed in device spec format.
- comp_mask
- MLX5DV_FLOW_MATCHER_MASK_FT_TYPE for ft_type
