|
@@ -2546,16 +2546,19 @@ static int mlx4_port_immutable(struct ib_device *ibdev, u8 port_num,
|
|
|
|
|
|
if (mlx4_ib_port_link_layer(ibdev, port_num) == IB_LINK_LAYER_INFINIBAND) {
|
|
|
immutable->core_cap_flags = RDMA_CORE_PORT_IBA_IB;
|
|
|
+ immutable->max_mad_size = IB_MGMT_MAD_SIZE;
|
|
|
} else {
|
|
|
if (mdev->dev->caps.flags & MLX4_DEV_CAP_FLAG_IBOE)
|
|
|
immutable->core_cap_flags = RDMA_CORE_PORT_IBA_ROCE;
|
|
|
if (mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2)
|
|
|
immutable->core_cap_flags = RDMA_CORE_PORT_IBA_ROCE |
|
|
|
RDMA_CORE_PORT_IBA_ROCE_UDP_ENCAP;
|
|
|
+ immutable->core_cap_flags |= RDMA_CORE_PORT_RAW_PACKET;
|
|
|
+ if (immutable->core_cap_flags & (RDMA_CORE_PORT_IBA_ROCE |
|
|
|
+ RDMA_CORE_PORT_IBA_ROCE_UDP_ENCAP))
|
|
|
+ immutable->max_mad_size = IB_MGMT_MAD_SIZE;
|
|
|
}
|
|
|
|
|
|
- immutable->max_mad_size = IB_MGMT_MAD_SIZE;
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|