summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIdo Schimmel2018-12-20 20:42:30 +0100
committerDavid S. Miller2018-12-21 00:48:54 +0100
commit346fca3b58cbe0505f4328276e46e22ffc9a11d8 (patch)
treeea1a75af03e5958e12ef2618a5a2a1362e167e58
parentmlxsw: spectrum: Allow controlling destruction of default port VLAN (diff)
downloadkernel-qcow2-linux-346fca3b58cbe0505f4328276e46e22ffc9a11d8.tar.gz
kernel-qcow2-linux-346fca3b58cbe0505f4328276e46e22ffc9a11d8.tar.xz
kernel-qcow2-linux-346fca3b58cbe0505f4328276e46e22ffc9a11d8.zip
mlxsw: spectrum: Store pointer to default port VLAN in port struct
Subsequent patches will need to access the default port VLAN. Since this VLAN will exist throughout the lifetime of the port, simply store it in the port's struct. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Reviewed-by: Petr Machata <petrm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum.c1
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
index c212e803a381..d74b254a6c52 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
@@ -3201,6 +3201,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port,
err = PTR_ERR(mlxsw_sp_port_vlan);
goto err_port_vlan_create;
}
+ mlxsw_sp_port->default_vlan = mlxsw_sp_port_vlan;
mlxsw_sp_port_switchdev_init(mlxsw_sp_port);
mlxsw_sp->ports[local_port] = mlxsw_sp_port;
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h
index a669aed690cb..4e11915d676a 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h
@@ -242,6 +242,7 @@ struct mlxsw_sp_port {
} periodic_hw_stats;
struct mlxsw_sp_port_sample *sample;
struct list_head vlans_list;
+ struct mlxsw_sp_port_vlan *default_vlan;
struct mlxsw_sp_qdisc *root_qdisc;
struct mlxsw_sp_qdisc *tclass_qdiscs;
unsigned acl_rule_count;