net/mlx5e: Annul encap action ordering requirement
authorEli Britstein <elibr@mellanox.com>
Tue, 4 Dec 2018 06:06:41 +0000 (08:06 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Tue, 11 Dec 2018 22:52:19 +0000 (14:52 -0800)
Currently a FW syndrome is emitted if the driver configures a
multi-destination FTE where the first destination is a tunneled uplink
port and the second destination is a local vPort.

Support this scenario by creating a multi-destination FTE using the
firmware's extended destination capabilities.

Signed-off-by: Eli Britstein <elibr@mellanox.com>
Reviewed-by: Oz Shlomo <ozsh@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

index 0387b5068be6f5d86ccff3d2a40449f8dec18d86..bb96c4661e261fb0b26fa37f0389b93af96ebd7e 100644 (file)
@@ -131,6 +131,8 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw,
                                if (attr->dests[j].flags & MLX5_ESW_DEST_ENCAP) {
                                        flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT;
                                        flow_act.reformat_id = attr->encap_id;
+                                       dest[i].vport.flags |= MLX5_FLOW_DEST_VPORT_REFORMAT_ID;
+                                       dest[i].vport.reformat_id = attr->encap_id;
                                }
                                i++;
                        }