.\" Automatically generated by Pandoc 3.6.1 .\" .TH "mlx5dv_create_flow_matcher" "3" "2018\-9\-19" "mlx5" "mlx5 Programmer\[cq]s Manual" .SH NAME mlx5dv_create_flow_matcher \- creates a matcher to be used with \f[I]mlx5dv_create_flow(3)\f[R] .SH SYNOPSIS .IP .EX #include \f[B]\f[R] \f[B]struct\f[R] mlx5dv_flow_matcher * mlx5dv_create_flow_matcher(\f[B]struct\f[R] ibv_context *context, \f[B]struct\f[R] mlx5dv_flow_matcher_attr *attr) .EE .SH DESCRIPTION \f[B]mlx5dv_create_flow_matcher()\f[R] creates a flow matcher (mask) to be used with \f[I]mlx5dv_create_flow(3)\f[R]. .SH ARGUMENTS Please see \f[I]ibv_open_device(3)\f[R] for \f[I]context\f[R]. .SS \f[I]attr\f[R] .IP .EX \f[B]struct\f[R] mlx5dv_flow_matcher_attr { \f[B]enum\f[R] ibv_flow_attr_type type; uint32_t flags; \f[I]/* From enum ibv_flow_flags */\f[R] uint16_t priority; uint8_t match_criteria_enable; \f[I]/* Device spec format */\f[R] \f[B]struct\f[R] mlx5dv_flow_match_parameters *match_mask; uint64_t comp_mask; \f[B]enum\f[R] mlx5dv_flow_table_type ft_type; uint32_t ib_port; }; .EE .TP \f[I]type\f[R] Type of matcher to be created: IBV_FLOW_ATTR_NORMAL: Normal rule according to specification. .TP \f[I]flags\f[R] 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. .TP \f[I]priority\f[R] See \f[I]ibv_create_flow(3)\f[R]. .TP \f[I]match_criteria_enable\f[R] What match criteria is configured in \f[I]match_mask\f[R], passed in device spec format. .SS \f[I]match_mask\f[R] .IP .EX \f[B]struct\f[R] mlx5dv_flow_match_parameters { size_t match_sz; uint64_t match_buf[]; \f[I]/* Device spec format */\f[R] }; .EE .TP \f[I]match_sz\f[R] Size in bytes of \f[I]match_buf\f[R]. .TP \f[I]match_buf\f[R] Set which mask to be used, passed in device spec format. .TP \f[I]comp_mask\f[R] MLX5DV_FLOW_MATCHER_MASK_FT_TYPE for \f[I]ft_type\f[R] MLX5DV_FLOW_MATCHER_MASK_IB_PORT for \f[I]ib_port\f[R] .SS \f[I]ft_type\f[R] Specified in which flow table type, the matcher will store the flow rules: MLX5DV_FLOW_TABLE_TYPE_NIC_RX: Specified this matcher will store ingress flow rules. MLX5DV_FLOW_TABLE_TYPE_NIC_TX Specified this matcher will store egress flow rules. MLX5DV_FLOW_TABLE_TYPE_FDB : Specified this matcher will store FDB rules. MLX5DV_FLOW_TABLE_TYPE_RDMA_RX: Specified this matcher will store ingress RDMA flow rules. MLX5DV_FLOW_TABLE_TYPE_RDMA_TX: Specified this matcher will store egress RDMA flow rules. MLX5DV_FLOW_TABLE_TYPE_RDMA_TRANSPORT_RX: Specified this matcher will store RDMA transport domain flow rules. MLX5DV_FLOW_TABLE_TYPE_RDMA_TRANSPORT_TX: Specified this matcher will store RDMA transport domain flow rules. .SS \f[I]ib_port\f[R] Specified to which vport attach the matcher, this is valid and required only when creating the steering RDMA transport domain flow table: MLX5DV_FLOW_TABLE_TYPE_RDMA_TRANSPORT_RX MLX5DV_FLOW_TABLE_TYPE_RDMA_TRANSPORT_TX .SH RETURN VALUE \f[B]mlx5dv_create_flow_matcher\f[R] returns a pointer to \f[I]mlx5dv_flow_matcher\f[R], on error NULL will be returned and errno will be set. .SH SEE ALSO \f[I]ibv_open_device(3)\f[R], \f[I]ibv_create_flow(3)\f[R] .SH AUTHOR Mark Bloch \c .MT markb@mellanox.com .ME \c