diff options
author | Petr Machata <petrm@mellanox.com> | 2018-02-27 14:53:41 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-02-27 14:46:26 -0500 |
commit | 98977089d8eef337608272699f4197c631d447b8 (patch) | |
tree | 2bc657bb6e07303d9a52542ebd525d99b7541298 /drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h | |
parent | 1da93eb466dc6f8a92e0316fd983ee8a3338db4c (diff) | |
download | linux-98977089d8eef337608272699f4197c631d447b8.tar.gz linux-98977089d8eef337608272699f4197c631d447b8.tar.bz2 linux-98977089d8eef337608272699f4197c631d447b8.zip |
mlxsw: span: Remove span_entry by span_id
Instead of removing span_entry by the port number, allow removing by
SPAN id. That simplifies some code right here, and for mirroring to soft
netdevices, avoids problems with netdevice pointer invalidation and
reuse.
Rename mlxsw_sp_span_entry_find() to mlxsw_sp_span_entry_find_by_port()
and keep it--follow-up patches will make use of it.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h index 069050e385ff..02dedf2fcd3f 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h @@ -62,11 +62,12 @@ void mlxsw_sp_span_fini(struct mlxsw_sp *mlxsw_sp); int mlxsw_sp_span_mirror_add(struct mlxsw_sp_port *from, struct mlxsw_sp_port *to, - enum mlxsw_sp_span_type type, bool bind); -void mlxsw_sp_span_mirror_del(struct mlxsw_sp_port *from, u8 destination_port, + enum mlxsw_sp_span_type type, + bool bind, int *p_span_id); +void mlxsw_sp_span_mirror_del(struct mlxsw_sp_port *from, int span_id, enum mlxsw_sp_span_type type, bool bind); struct mlxsw_sp_span_entry * -mlxsw_sp_span_entry_find(struct mlxsw_sp *mlxsw_sp, u8 local_port); +mlxsw_sp_span_entry_find_by_port(struct mlxsw_sp *mlxsw_sp, u8 local_port); int mlxsw_sp_span_port_mtu_update(struct mlxsw_sp_port *port, u16 mtu); |