layout: page title: mlx5dv_create_flow section: 3 tagline: Verbs date: 2018-9-19 header: “mlx5 Programmer's Manual” footer: mlx5

NAME

mlx5dv_create_flow - creates a steering flow rule

SYNOPSIS

#include <infiniband/mlx5dv.h>

struct ibv_flow *
mlx5dv_create_flow(struct mlx5dv_flow_matcher *flow_matcher,
		   struct mlx5dv_flow_match_parameters *match_value,
		   size_t num_actions,
		   struct mlx5dv_flow_action_attr actions_attr[])

DESCRIPTION

mlx5dv_create_flow() creates a steering flow rule with the ability to specify specific driver properties.

ARGUMENTS

Please see mlx5dv_create_flow_matcher(3) for flow_matcher and match_value.

num_actions : Specifies how many actions are passed in actions_attr

actions_attr

struct mlx5dv_flow_action_attr {
	enum mlx5dv_flow_action_type type;
	union {
		struct ibv_qp *qp;
		struct ibv_counters *counter;
		struct ibv_flow_action *action;
		uint32_t tag_value;
		struct mlx5dv_devx_obj *obj;
	};
};

type : MLX5DV_FLOW_ACTION_DEST_IBV_QP The QP passed will receive the matched packets. MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION The flow action to be applied. MLX5DV_FLOW_ACTION_TAG Flow tag to be provided in work completion. MLX5DV_FLOW_ACTION_DEST_DEVX The DEVX destination object for the matched packets. MLX5DV_FLOW_ACTION_COUNTERS_DEVX The DEVX counter object for the matched packets. MLX5DV_FLOW_ACTION_DEFAULT_MISS Steer the packet to the default miss destination. MLX5DV_FLOW_ACTION_DROP Action is dropping the matched packet.

qp : QP passed, to be used with type MLX5DV_FLOW_ACTION_DEST_IBV_QP.

action : Flow action, to be used with type MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION see mlx5dv_create_flow_action_modify_header(3) and mlx5dv_create_flow_action_packet_reformat(3).

tag_value : tag value to be passed in the work completion, to be used with type MLX5DV_FLOW_ACTION_TAG see ibv_create_cq_ex(3).

obj : DEVX object, to be used with type MLX5DV_FLOW_ACTION_DEST_DEVX or by MLX5DV_FLOW_ACTION_COUNTERS_DEVX.

RETURN VALUE

mlx5dv_create_flow returns a pointer to the created flow rule, on error NULL will be returned and errno will be set.

SEE ALSO

mlx5dv_create_flow_action_modify_header(3), mlx5dv_create_flow_action_packet_reformat(3), mlx5dv_create_flow_matcher(3), mlx5dv_create_qp(3), ibv_create_qp_ex(3) ibv_create_cq_ex(3) ibv_create_counters(3)

AUTHOR

Mark Bloch marb@mellanox.com