1mlx5dv_dci_stream_id_reset(3) mlx5dv_dci_stream_id_reset(3)
2
3
4
6 mlx5dv_dci_stream_id_reset - Reset stream_id of a given DCI QP
7
9 #include <infiniband/mlx5dv.h>
10
11 int mlx5dv_dci_stream_id_reset(struct ibv_qp *qp, uint16_t stream_id);
12
14 Used by SW to reset an errored stream_id in the HW DCI context.
15
16 On work completion with error, the application should call
17 ibv_query_qp() to check if the QP was moved to an error state, or it’s
18 still operational (in RTS state), which means that the specific
19 stream_id that caused the completion with error is in error state.
20
21 Errors which are stream related will cause only that stream_id’s work
22 request to be flushed as they are handled in order in the send queue.
23 Once all stream_id WR’s are flushed, application should reset the er‐
24 rored stream_id by calling mlx5dv_dci_stream_id_reset(). Work request‐
25 ed for other stream_id’s will continue to be processed by the QP. The
26 DCI QP will move to an error state and stop operating once the number
27 of unique stream_id in error reaches the DCI QP’s `log_num_errored'
28 streams defined by SW.
29
30 Application should use the `wr_id' in the ibv_wc to find the stream_id
31 from it’s private context.
32
34 qp The ibv_qp object to issue the action on.
35
36 stream_id
37 The DCI stream channel id that need to be reset.
38
40 Returns 0 on success, or the value of errno on failure (which indicates
41 the failure reason).
42
44 Lior Nahmanson <liorna@nvidia.com>
45
46
47
48 mlx5dv_dci_stream_id_reset(3)