git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx5: fix encap/decap validation
[dpdk.git]
/
drivers
/
net
/
mlx5
/
mlx5_flow.c
diff --git
a/drivers/net/mlx5/mlx5_flow.c
b/drivers/net/mlx5/mlx5_flow.c
index
144e07c
..
e05d799
100644
(file)
--- a/
drivers/net/mlx5/mlx5_flow.c
+++ b/
drivers/net/mlx5/mlx5_flow.c
@@
-4154,13
+4154,16
@@
flow_list_create(struct rte_eth_dev *dev, struct mlx5_flows *list,
} items_tx;
struct rte_flow_expand_rss *buf = &expand_buffer.buf;
const struct rte_flow_action *p_actions_rx = actions;
} items_tx;
struct rte_flow_expand_rss *buf = &expand_buffer.buf;
const struct rte_flow_action *p_actions_rx = actions;
- int ret;
uint32_t i;
uint32_t flow_size;
int hairpin_flow = 0;
uint32_t hairpin_id = 0;
struct rte_flow_attr attr_tx = { .priority = 0 };
uint32_t i;
uint32_t flow_size;
int hairpin_flow = 0;
uint32_t hairpin_id = 0;
struct rte_flow_attr attr_tx = { .priority = 0 };
+ int ret = flow_drv_validate(dev, attr, items, p_actions_rx, external,
+ error);
+ if (ret < 0)
+ return NULL;
hairpin_flow = flow_check_hairpin_split(dev, attr, actions);
if (hairpin_flow > 0) {
if (hairpin_flow > MLX5_MAX_SPLIT_ACTIONS) {
hairpin_flow = flow_check_hairpin_split(dev, attr, actions);
if (hairpin_flow > 0) {
if (hairpin_flow > MLX5_MAX_SPLIT_ACTIONS) {
@@
-4172,10
+4175,6
@@
flow_list_create(struct rte_eth_dev *dev, struct mlx5_flows *list,
&hairpin_id);
p_actions_rx = actions_rx.actions;
}
&hairpin_id);
p_actions_rx = actions_rx.actions;
}
- ret = flow_drv_validate(dev, attr, items, p_actions_rx, external,
- error);
- if (ret < 0)
- goto error_before_flow;
flow_size = sizeof(struct rte_flow);
rss = flow_get_rss_action(p_actions_rx);
if (rss)
flow_size = sizeof(struct rte_flow);
rss = flow_get_rss_action(p_actions_rx);
if (rss)