mlxsw: spectrum: Use action 'discard' when removing traps
authorIdo Schimmel <idosch@mellanox.com>
Sat, 2 Jul 2016 09:00:19 +0000 (11:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Jul 2016 19:21:18 +0000 (15:21 -0400)
When removing packet traps we should use action 'discard' instead of
'forward', as some trap IDs we'll add cannot be configured with the
later. However, result is the same, as packets are not trapped to the
CPU.

In the future we will be able to reverse the operation properly by
detaching the trap group from the CPU.

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

index d15ebf35e6ab23eb0c1f775f0715a2c37ddf42b2..de30763e1999e8d0c9bc5d2287c1cef01e452aeb 100644 (file)
@@ -2295,7 +2295,7 @@ err_rx_trap_set:
                                          mlxsw_sp);
 err_rx_listener_register:
        for (i--; i >= 0; i--) {
-               mlxsw_reg_hpkt_pack(hpkt_pl, MLXSW_REG_HPKT_ACTION_FORWARD,
+               mlxsw_reg_hpkt_pack(hpkt_pl, MLXSW_REG_HPKT_ACTION_DISCARD,
                                    mlxsw_sp_rx_listener[i].trap_id);
                mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(hpkt), hpkt_pl);
 
@@ -2312,7 +2312,7 @@ static void mlxsw_sp_traps_fini(struct mlxsw_sp *mlxsw_sp)
        int i;
 
        for (i = 0; i < ARRAY_SIZE(mlxsw_sp_rx_listener); i++) {
-               mlxsw_reg_hpkt_pack(hpkt_pl, MLXSW_REG_HPKT_ACTION_FORWARD,
+               mlxsw_reg_hpkt_pack(hpkt_pl, MLXSW_REG_HPKT_ACTION_DISCARD,
                                    mlxsw_sp_rx_listener[i].trap_id);
                mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(hpkt), hpkt_pl);