net/mlx5: limit flow API rules to one tunnel
authorNélio Laranjeiro <nelio.laranjeiro@6wind.com>
Wed, 15 Mar 2017 12:32:50 +0000 (13:32 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 4 Apr 2017 16:59:41 +0000 (18:59 +0200)
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx5/mlx5_flow.c

index e789c4c..5468642 100644 (file)
@@ -457,6 +457,16 @@ priv_flow_validate(struct priv *priv,
                                                flow);
                        if (err)
                                goto exit_item_not_supported;
+               } else if (items->type == RTE_FLOW_ITEM_TYPE_VXLAN) {
+                       if (flow->inner) {
+                               rte_flow_error_set(error, ENOTSUP,
+                                                  RTE_FLOW_ERROR_TYPE_ITEM,
+                                                  items,
+                                                  "cannot recognize multiple"
+                                                  " VXLAN encapsulations");
+                               return -rte_errno;
+                       }
+                       flow->inner = 1;
                }
                flow->offset += cur_item->dst_sz;
        }