.\" Automatically generated by Pandoc 3.1.11.1
.\"
.TH "mlx5dv_alloc_dm" "3" "2018\-9\-1" "mlx5" "mlx5 Programmer\[cq]s Manual"
.SH NAME
mlx5dv_alloc_dm \- allocates device memory (DM)
.SH SYNOPSIS
.IP
.EX
#include <infiniband/mlx5dv.h>

struct ibv_dm *mlx5dv_alloc_dm(struct ibv_context *context,
                   struct ibv_alloc_dm_attr *dm_attr,
                   struct mlx5dv_alloc_dm_attr *mlx5_dm_attr)
.EE
.SH DESCRIPTION
\f[B]mlx5dv_alloc_dm()\f[R] allocates device memory (DM) with specific
driver properties.
.SH ARGUMENTS
Please see \f[I]ibv_alloc_dm(3)\f[R] man page for \f[I]context\f[R] and
\f[I]dm_attr\f[R].
.SS mlx5_dm_attr
.IP
.EX
struct mlx5dv_alloc_dm_attr {
    enum mlx5dv_alloc_dm_type type;
    uint64_t comp_mask;
};
.EE
.TP
\f[I]type\f[R]
The device memory type user wishes to allocate:
.RS
.PP
MLX5DV_DM_TYPE_MEMIC Device memory of type MEMIC \- On\-Chip memory that
can be allocated and used as memory region for transmitting/receiving
packet directly from/to the memory on the chip.
.PP
MLX5DV_DM_TYPE_STEERING_SW_ICM Device memory of type STEERING SW ICM \-
This memory is used by the device to store the packet steering tables
and rules.
Can be used for direct table and steering rules creation when allocated
by a privileged user.
.PP
MLX5DV_DM_TYPE_HEADER_MODIFY_SW_ICM Device memory of type HEADER MODIFY
SW ICM \- This memory is used by the device to store the packet header
modification tables and rules.
Can be used for direct table and header modification rules creation when
allocated by a privileged user.
.PP
MLX5DV_DM_TYPE_HEADER_MODIFY_PATTERN_SW_ICM Device memory of type HEADER
MODIFY PATTERN SW ICM \- This memory is used by the device to store
packet header modification patterns/templates.
Can be used for direct table and header modification rules creation when
allocated by a privileged user.
.PP
MLX5DV_DM_TYPE_ENCAP_SW_ICM Device memory of type PACKET ENCAP SW ICM \-
This memory is used by the device to store packet encap data.
Can be used for packet encap reformat rules creation when allocated by a
privileged user.
.RE
.TP
\f[I]comp_mask\f[R]
Bitmask specifying what fields in the structure are valid: Currently
reserved and should be set to 0.
.SH RETURN VALUE
\f[B]mlx5dv_alloc_dm()\f[R] returns a pointer to the created DM, on
error NULL will be returned and errno will be set.
.SH SEE ALSO
\f[B]ibv_alloc_dm\f[R](3),
.SH AUTHOR
Ariel Levkovich \c
.MT lariel@mellanox.com
.ME \c
