net/i40e: fix Rx data segment buffer length
[dpdk.git] / drivers / net / tap / tap_flow.c
index 7373b59..41f7345 100644 (file)
@@ -1034,16 +1034,13 @@ priv_flow_process(struct pmd_internals *pmd,
                if (err)
                        goto exit_item_not_supported;
                if (flow && cur_item->convert) {
-                       if (!pmd->flower_vlan_support &&
-                           cur_item->convert == tap_flow_create_vlan)
-                               goto exit_item_not_supported;
                        err = cur_item->convert(items, &data);
                        if (err)
                                goto exit_item_not_supported;
                }
        }
        if (flow) {
-               if (pmd->flower_vlan_support && data.vlan) {
+               if (data.vlan) {
                        nlattr_add16(&flow->msg.nh, TCA_FLOWER_KEY_ETH_TYPE,
                                     htons(ETH_P_8021Q));
                        nlattr_add16(&flow->msg.nh,
@@ -1231,7 +1228,8 @@ tap_flow_create(struct rte_eth_dev *dev,
                        "Kernel refused TC filter rule creation (%d): %s\n",
                        errno, strerror(errno));
                rte_flow_error_set(error, EEXIST, RTE_FLOW_ERROR_TYPE_HANDLE,
-                                  NULL, "overlapping rules");
+                                  NULL,
+                                  "overlapping rules or Kernel too old for flower support");
                goto fail;
        }
        LIST_INSERT_HEAD(&pmd->flows, flow, next);
@@ -1276,7 +1274,8 @@ tap_flow_create(struct rte_eth_dev *dev,
                                errno, strerror(errno));
                        rte_flow_error_set(
                                error, ENOMEM, RTE_FLOW_ERROR_TYPE_HANDLE,
-                               NULL, "overlapping rules");
+                               NULL,
+                               "overlapping rules or Kernel too old for flower support");
                        goto fail;
                }
                flow->remote_flow = remote_flow;
@@ -1393,10 +1392,6 @@ tap_flow_isolate(struct rte_eth_dev *dev,
 {
        struct pmd_internals *pmd = dev->data->dev_private;
 
-       if (!pmd->flower_support)
-               return -rte_flow_error_set(
-                       error, ENOTSUP, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
-                       "rte_flow isolate requires TC flower kernel support");
        if (set)
                pmd->flow_isolate = 1;
        else
@@ -1642,10 +1637,6 @@ tap_dev_filter_ctrl(struct rte_eth_dev *dev,
                    enum rte_filter_op filter_op,
                    void *arg)
 {
-       struct pmd_internals *pmd = dev->data->dev_private;
-
-       if (!pmd->flower_support)
-               return -ENOTSUP;
        switch (filter_type) {
        case RTE_ETH_FILTER_GENERIC:
                if (filter_op != RTE_ETH_FILTER_GET)