IB/mlx4: Support raw packet protocol
authorOr Gerlitz <ogerlitz@mellanox.com>
Tue, 24 Jan 2017 11:02:37 +0000 (13:02 +0200)
committerDoug Ledford <dledford@redhat.com>
Tue, 14 Feb 2017 16:41:21 +0000 (11:41 -0500)
Mark support for the new raw packet protocol on Eth ports.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx4/main.c

index 7031a8d..e0c1ef7 100644 (file)
@@ -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;
 }