|
@@ -2488,7 +2488,8 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
|
|
|
if (mlx4_ib_init_sriov(ibdev))
|
|
|
goto err_mad;
|
|
|
|
|
|
- if (dev->caps.flags & MLX4_DEV_CAP_FLAG_IBOE) {
|
|
|
+ if (dev->caps.flags & MLX4_DEV_CAP_FLAG_IBOE ||
|
|
|
+ dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) {
|
|
|
if (!iboe->nb.notifier_call) {
|
|
|
iboe->nb.notifier_call = mlx4_ib_netdev_event;
|
|
|
err = register_netdevice_notifier(&iboe->nb);
|
|
@@ -2497,6 +2498,12 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
|
|
|
goto err_notif;
|
|
|
}
|
|
|
}
|
|
|
+ if (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ROCE_V1_V2) {
|
|
|
+ err = mlx4_config_roce_v2_port(dev, ROCE_V2_UDP_DPORT);
|
|
|
+ if (err) {
|
|
|
+ goto err_notif;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
for (j = 0; j < ARRAY_SIZE(mlx4_class_attributes); ++j) {
|