mlx4_core: Adjust flow steering attach wrapper so that IB works on SR-IOV VFs
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Wed, 3 Oct 2012 15:38:48 +0000 (15:38 +0000)
committerRoland Dreier <roland@purestorage.com>
Wed, 3 Oct 2012 21:11:20 +0000 (14:11 -0700)
Currently, the InfiniBand stack does not support flow steering at the
verbs level -- the only usage of flow steering in the IB driver is for
L2 multicast attaches.  We need to add the IB case to procedure
mlx4_QP_FLOW_STEERING_ATTACH_wrapper() to allow IPoIB to work on VFs
on ConnectX-3 when flow steering is enabled.

Currently, the IB case in mlx4_QP_FLOW_STEERING_ATTACH_wrapper() is missing,
so the procedure returns -EINVAL and IPoIB on VFs breaks.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c

index ba6506f..926c911 100644 (file)
@@ -3094,6 +3094,8 @@ int mlx4_QP_FLOW_STEERING_ATTACH_wrapper(struct mlx4_dev *dev, int slave,
                if (validate_eth_header_mac(slave, rule_header, rlist))
                        return -EINVAL;
                break;
+       case MLX4_NET_TRANS_RULE_ID_IB:
+               break;
        case MLX4_NET_TRANS_RULE_ID_IPV4:
        case MLX4_NET_TRANS_RULE_ID_TCP:
        case MLX4_NET_TRANS_RULE_ID_UDP: