net/mlx5: fix VXLAN missing decap action Flows for E-Switch
Checks
Commit Message
There is an intention to support VXLAN tunnel match without
hardware offloaded decapsulation, just to redirect ingress
tunnelled frame untouched. This small fix allows to specify
Flows with VXLAN VNI pattern and with or without following
decapsulation action.
Fixes: 251e8d02cf37 ("net/mlx5: add VXLAN to flow translate routine")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
drivers/net/mlx5/mlx5_flow_tcf.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Comments
Friday, January 25, 2019 5:30 PM, Viacheslav Ovsiienko:
> Subject: [PATCH] net/mlx5: fix VXLAN missing decap action Flows for E-
> Switch
>
> There is an intention to support VXLAN tunnel match without hardware
> offloaded decapsulation, just to redirect ingress tunnelled frame untouched.
> This small fix allows to specify Flows with VXLAN VNI pattern and with or
> without following decapsulation action.
>
> Fixes: 251e8d02cf37 ("net/mlx5: add VXLAN to flow translate routine")
> Cc: stable@dpdk.org
>
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Applied to next-net-mlx, thanks.
@@ -2689,7 +2689,7 @@ struct pedit_parser {
uint64_t *action_flags)
{
int size = 0;
- uint64_t flags = 0;
+ uint64_t flags = *action_flags;
size += SZ_NLATTR_NEST; /* TCA_FLOWER_ACT. */
for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) {
@@ -3788,6 +3788,10 @@ struct pedit_parser {
mnl_attr_get_payload
(mnl_nlmsg_get_payload_tail
(nlh)))->ifindex;
+ } else if (decap.hdr) {
+ assert(dev_flow->tcf.tunnel);
+ dev_flow->tcf.tunnel->ifindex_ptr =
+ (unsigned int *)&tcm->tcm_ifindex;
}
mnl_attr_put(nlh, TCA_MIRRED_PARMS,
sizeof(struct tc_mirred),