net/mlx5: add pattern template management
[dpdk.git] / drivers / net / mlx5 / mlx5.c
index 9f65a8f..0079aa8 100644 (file)
@@ -1199,7 +1199,12 @@ mlx5_dev_args_check_handler(const char *key, const char *val, void *opaque)
        } else if (strcmp(MLX5_DV_ESW_EN, key) == 0) {
                config->dv_esw_en = !!tmp;
        } else if (strcmp(MLX5_DV_FLOW_EN, key) == 0) {
-               config->dv_flow_en = !!tmp;
+               if (tmp > 2) {
+                       DRV_LOG(ERR, "Invalid %s parameter.", key);
+                       rte_errno = EINVAL;
+                       return -rte_errno;
+               }
+               config->dv_flow_en = tmp;
        } else if (strcmp(MLX5_DV_XMETA_EN, key) == 0) {
                if (tmp != MLX5_XMETA_MODE_LEGACY &&
                    tmp != MLX5_XMETA_MODE_META16 &&
@@ -1815,6 +1820,9 @@ mlx5_dev_close(struct rte_eth_dev *dev)
        /* Free the eCPRI flex parser resource. */
        mlx5_flex_parser_ecpri_release(dev);
        mlx5_flex_item_port_cleanup(dev);
+#if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H)
+       flow_hw_resource_release(dev);
+#endif
        if (priv->rxq_privs != NULL) {
                /* XXX race condition if mlx5_rx_burst() is still running. */
                rte_delay_us_sleep(1000);