mlxsw: spectrum_flower: Set dummy FID before forward action
authorJiri Pirko <jiri@mellanox.com>
Tue, 18 Apr 2017 14:55:34 +0000 (16:55 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Apr 2017 19:32:30 +0000 (15:32 -0400)
HW requires the FID to be valid in order for the forward action to work.
So regardless of the current FID validity, just set the dummy FID which
would do the trick.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c

index 3e7a0bcbba72d56d74eb5f3c7d42056487bbc4cd..7d87e23578a3a305f334906456dd4fda55b0182e 100644 (file)
@@ -71,6 +71,11 @@ static int mlxsw_sp_flower_parse_actions(struct mlxsw_sp *mlxsw_sp,
                        int ifindex = tcf_mirred_ifindex(a);
                        struct net_device *out_dev;
 
+                       err = mlxsw_sp_acl_rulei_act_fid_set(mlxsw_sp, rulei,
+                                                            MLXSW_SP_DUMMY_FID);
+                       if (err)
+                               return err;
+
                        out_dev = __dev_get_by_index(dev_net(dev), ifindex);
                        if (out_dev == dev)
                                out_dev = NULL;