net/mlx5: fix flow director drop action
Flow director drop action as not been brought back with the new
implementation on top of rte flow.
Fixes: 4c3e9bcdd5
("net/mlx5: support flow director")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
This commit is contained in:
parent
79b0fb7096
commit
afca916135
@ -2601,20 +2601,27 @@ priv_fdir_filter_convert(struct priv *priv,
|
|||||||
ERROR("invalid queue number %d", fdir_filter->action.rx_queue);
|
ERROR("invalid queue number %d", fdir_filter->action.rx_queue);
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
}
|
}
|
||||||
/* Validate the behavior. */
|
|
||||||
if (fdir_filter->action.behavior != RTE_ETH_FDIR_ACCEPT) {
|
|
||||||
ERROR("invalid behavior %d", fdir_filter->action.behavior);
|
|
||||||
return ENOTSUP;
|
|
||||||
}
|
|
||||||
attributes->attr.ingress = 1;
|
attributes->attr.ingress = 1;
|
||||||
attributes->items[0] = (struct rte_flow_item) {
|
attributes->items[0] = (struct rte_flow_item) {
|
||||||
.type = RTE_FLOW_ITEM_TYPE_ETH,
|
.type = RTE_FLOW_ITEM_TYPE_ETH,
|
||||||
.spec = &attributes->l2,
|
.spec = &attributes->l2,
|
||||||
};
|
};
|
||||||
attributes->actions[0] = (struct rte_flow_action){
|
switch (fdir_filter->action.behavior) {
|
||||||
.type = RTE_FLOW_ACTION_TYPE_QUEUE,
|
case RTE_ETH_FDIR_ACCEPT:
|
||||||
.conf = &attributes->queue,
|
attributes->actions[0] = (struct rte_flow_action){
|
||||||
};
|
.type = RTE_FLOW_ACTION_TYPE_QUEUE,
|
||||||
|
.conf = &attributes->queue,
|
||||||
|
};
|
||||||
|
break;
|
||||||
|
case RTE_ETH_FDIR_REJECT:
|
||||||
|
attributes->actions[0] = (struct rte_flow_action){
|
||||||
|
.type = RTE_FLOW_ACTION_TYPE_DROP,
|
||||||
|
};
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ERROR("invalid behavior %d", fdir_filter->action.behavior);
|
||||||
|
return ENOTSUP;
|
||||||
|
}
|
||||||
attributes->queue.index = fdir_filter->action.rx_queue;
|
attributes->queue.index = fdir_filter->action.rx_queue;
|
||||||
switch (fdir_filter->input.flow_type) {
|
switch (fdir_filter->input.flow_type) {
|
||||||
case RTE_ETH_FLOW_NONFRAG_IPV4_UDP:
|
case RTE_ETH_FLOW_NONFRAG_IPV4_UDP:
|
||||||
|
Loading…
Reference in New Issue
Block a user