mlx5dv_create_flow(3)

mlx5dv_create_flow3

Creates a steering flow rule

Usage

#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[])

Overview

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;
        struct {
            struct mlx5dv_devx_obj *obj;
            uint32_t offset;
        } bulk_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. MLX5DV_FLOW_ACTION_COUNTERS_DEVX_WITH_OFFSET The DEVX bulk counter object and its counter offset for the matched packets.

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 or by MLX5DV_FLOW_ACTION_COUNTERS_DEVX_WITH_OFFSET.

offset

offset to the target counter within a bulk DEVX object, to be used with type MLX5DV_FLOW_ACTION_COUNTERS_DEVX_WITH_OFFSET

Return value

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

Releases

5 releases since Debian 10 (Buster); the text changed 4 times.

  1. 10
  2. 11
  3. 12
  4. 13
  5. Arch

Author

Mark Bloch ⟨[email protected]⟩\c

From rdma-core 65.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.