OSDN Git Service

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 d15ebf3..de30763 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);