瀏覽代碼

IB/mlx4: Set link type for RAW PACKET QPs in the QP context

When the link type is Ethernet, setting the link type in the QP
context will enable TCP/IP stateless offloads (checksum, LSO, RSS) for
RAW PACKET Ethernet QPs.  For IB UD QPs this worked OK since the value
assumed by the firmware for IB link layer is zero.

Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Eli Cohen 12 年之前
父節點
當前提交
3528f69637
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/infiniband/hw/mlx4/qp.c

+ 4 - 0
drivers/infiniband/hw/mlx4/qp.c

@@ -1460,6 +1460,10 @@ static int __mlx4_ib_modify_qp(struct ib_qp *ibqp,
 		}
 	}
 
+	if (qp->ibqp.qp_type == IB_QPT_RAW_PACKET)
+		context->pri_path.ackto = (context->pri_path.ackto & 0xf8) |
+					MLX4_IB_LINK_TYPE_ETH;
+
 	if (cur_state == IB_QPS_RTS && new_state == IB_QPS_SQD	&&
 	    attr_mask & IB_QP_EN_SQD_ASYNC_NOTIFY && attr->en_sqd_async_notify)
 		sqd_event = 1;