Code Review
/
vpp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
review
|
tree
raw
|
patch
| inline |
side by side
(parent:
1bde9f3
)
flow: add rte_flow check before creating by rte_flow_validate
80/18780/3
author
Simon Zhang
<yuwei1.zhang@intel.com>
Wed, 10 Apr 2019 12:05:46 +0000
(20:05 +0800)
committer
Damjan Marion
<dmarion@me.com>
Tue, 16 Apr 2019 14:11:32 +0000
(14:11 +0000)
Change-Id: Idfcf1644952d647c6e1b61216d9b365d58b77814
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
src/plugins/dpdk/device/flow.c
patch
|
blob
|
history
diff --git
a/src/plugins/dpdk/device/flow.c
b/src/plugins/dpdk/device/flow.c
index
63f04b8
..
3f95531
100644
(file)
--- a/
src/plugins/dpdk/device/flow.c
+++ b/
src/plugins/dpdk/device/flow.c
@@
-209,6
+209,20
@@
dpdk_flow_add (dpdk_device_t * xd, vnet_flow_t * f, dpdk_flow_entry_t * fe)
vec_add2 (actions, action, 1);
action->type = RTE_FLOW_ACTION_TYPE_END;
+ rv = rte_flow_validate (xd->device_index, &ingress, items, actions,
+ &xd->last_flow_error);
+
+ if (rv)
+ {
+ if (rv == -EINVAL)
+ rv = VNET_FLOW_ERROR_NOT_SUPPORTED;
+ else if (rv == -EEXIST)
+ rv = VNET_FLOW_ERROR_ALREADY_EXISTS;
+ else
+ rv = VNET_FLOW_ERROR_INTERNAL;
+ goto done;
+ }
+
fe->handle = rte_flow_create (xd->device_index, &ingress, items, actions,
&xd->last_flow_error);