The driver checks the csum from the HW when completion arrived and marks it in the wc->wc_flags field for the ulp drivers. These is for packets from type IB_WC_RECV only. Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> --- drivers/infiniband/hw/mlx5/cq.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c index 7ddc790..98dfe6e 100644 --- a/drivers/infiniband/hw/mlx5/cq.c +++ b/drivers/infiniband/hw/mlx5/cq.c @@ -208,6 +208,9 @@ static void handle_responder(struct ib_wc *wc, struct mlx5_cqe64 *cqe, case MLX5_CQE_RESP_SEND: wc->opcode = IB_WC_RECV; wc->wc_flags = 0; + if (likely(cqe->hds_ip_ext & CQE_L3_OK) && + likely(cqe->hds_ip_ext & CQE_L4_OK)) + wc->wc_flags |= IB_WC_IP_CSUM_OK; break; case MLX5_CQE_RESP_SEND_IMM: wc->opcode = IB_WC_RECV; -- 1.7.11.3 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html