net/sfc: convert to the advanced EFX RSS interface
[dpdk.git] / drivers / net / mlx4 / mlx4_flow.c
index 0020032..e3d7aa8 100644 (file)
@@ -652,6 +652,10 @@ mlx4_flow_prepare(struct priv *priv,
                return rte_flow_error_set
                        (error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_EGRESS,
                         NULL, "egress is not supported");
+       if (attr->transfer)
+               return rte_flow_error_set
+                       (error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER,
+                        NULL, "transfer is not supported");
        if (!attr->ingress)
                return rte_flow_error_set
                        (error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_INGRESS,
@@ -796,6 +800,11 @@ fill:
                                        " is Toeplitz";
                                goto exit_action_not_supported;
                        }
+                       if (rss->level) {
+                               msg = "a nonzero RSS encapsulation level is"
+                                       " not supported";
+                               goto exit_action_not_supported;
+                       }
                        rte_errno = 0;
                        fields = mlx4_conv_rss_types(priv, rss->types);
                        if (fields == (uint64_t)-1 && rte_errno) {
@@ -1290,6 +1299,7 @@ mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error)
        uint16_t queue[queues];
        struct rte_flow_action_rss action_rss = {
                .func = RTE_ETH_HASH_FUNCTION_DEFAULT,
+               .level = 0,
                .types = -1,
                .key_len = MLX4_RSS_HASH_KEY_SIZE,
                .queue_num = queues,