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/sfc: convert to the advanced EFX RSS interface
[dpdk.git]
/
drivers
/
net
/
mlx4
/
mlx4_flow.c
diff --git
a/drivers/net/mlx4/mlx4_flow.c
b/drivers/net/mlx4/mlx4_flow.c
index
0020032
..
e3d7aa8
100644
(file)
--- a/
drivers/net/mlx4/mlx4_flow.c
+++ b/
drivers/net/mlx4/mlx4_flow.c
@@
-652,6
+652,10
@@
mlx4_flow_prepare(struct priv *priv,
return rte_flow_error_set
(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_EGRESS,
NULL, "egress is not supported");
return rte_flow_error_set
(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_EGRESS,
NULL, "egress is not supported");
+ if (attr->transfer)
+ return rte_flow_error_set
+ (error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_TRANSFER,
+ NULL, "transfer is not supported");
if (!attr->ingress)
return rte_flow_error_set
(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_INGRESS,
if (!attr->ingress)
return rte_flow_error_set
(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ATTR_INGRESS,
@@
-796,6
+800,11
@@
fill:
" is Toeplitz";
goto exit_action_not_supported;
}
" is Toeplitz";
goto exit_action_not_supported;
}
+ if (rss->level) {
+ msg = "a nonzero RSS encapsulation level is"
+ " not supported";
+ goto exit_action_not_supported;
+ }
rte_errno = 0;
fields = mlx4_conv_rss_types(priv, rss->types);
if (fields == (uint64_t)-1 && rte_errno) {
rte_errno = 0;
fields = mlx4_conv_rss_types(priv, rss->types);
if (fields == (uint64_t)-1 && rte_errno) {
@@
-1290,6
+1299,7
@@
mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error)
uint16_t queue[queues];
struct rte_flow_action_rss action_rss = {
.func = RTE_ETH_HASH_FUNCTION_DEFAULT,
uint16_t queue[queues];
struct rte_flow_action_rss action_rss = {
.func = RTE_ETH_HASH_FUNCTION_DEFAULT,
+ .level = 0,
.types = -1,
.key_len = MLX4_RSS_HASH_KEY_SIZE,
.queue_num = queues,
.types = -1,
.key_len = MLX4_RSS_HASH_KEY_SIZE,
.queue_num = queues,