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 3e7a0bc..7d87e23 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;