Commit a514d173 authored by Vlad Buslov's avatar Vlad Buslov Committed by Saeed Mahameed

net/mlx5: Bridge, obtain core device from eswitch instead of priv

Following patches in series will pass bond device to bridge, which means
the code can't assume the device is mlx5 representor. Moreover, the core
device can be easily obtained from eswitch instance, so there is no reason
for more complex code that obtains struct mlx5_priv from net_device in
order to use its mdev. Refactor the code to use esw->dev instead of
priv->mdev.
Signed-off-by: default avatarVlad Buslov <vladbu@nvidia.com>
Reviewed-by: default avatarRoi Dayan <roid@nvidia.com>
Reviewed-by: default avatarMark Bloch <mbloch@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent 4de20e9a
...@@ -912,7 +912,6 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi ...@@ -912,7 +912,6 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi
struct mlx5_esw_bridge_fdb_entry *entry; struct mlx5_esw_bridge_fdb_entry *entry;
struct mlx5_flow_handle *handle; struct mlx5_flow_handle *handle;
struct mlx5_fc *counter; struct mlx5_fc *counter;
struct mlx5e_priv *priv;
int err; int err;
if (bridge->flags & MLX5_ESW_BRIDGE_VLAN_FILTERING_FLAG && vid) { if (bridge->flags & MLX5_ESW_BRIDGE_VLAN_FILTERING_FLAG && vid) {
...@@ -921,7 +920,6 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi ...@@ -921,7 +920,6 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi
return ERR_CAST(vlan); return ERR_CAST(vlan);
} }
priv = netdev_priv(dev);
entry = kvzalloc(sizeof(*entry), GFP_KERNEL); entry = kvzalloc(sizeof(*entry), GFP_KERNEL);
if (!entry) if (!entry)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
...@@ -934,7 +932,7 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi ...@@ -934,7 +932,7 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi
if (added_by_user) if (added_by_user)
entry->flags |= MLX5_ESW_BRIDGE_FLAG_ADDED_BY_USER; entry->flags |= MLX5_ESW_BRIDGE_FLAG_ADDED_BY_USER;
counter = mlx5_fc_create(priv->mdev, true); counter = mlx5_fc_create(esw->dev, true);
if (IS_ERR(counter)) { if (IS_ERR(counter)) {
err = PTR_ERR(counter); err = PTR_ERR(counter);
goto err_ingress_fc_create; goto err_ingress_fc_create;
...@@ -994,7 +992,7 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi ...@@ -994,7 +992,7 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, const unsi
err_ingress_filter_flow_create: err_ingress_filter_flow_create:
mlx5_del_flow_rules(entry->ingress_handle); mlx5_del_flow_rules(entry->ingress_handle);
err_ingress_flow_create: err_ingress_flow_create:
mlx5_fc_destroy(priv->mdev, entry->ingress_counter); mlx5_fc_destroy(esw->dev, entry->ingress_counter);
err_ingress_fc_create: err_ingress_fc_create:
kvfree(entry); kvfree(entry);
return ERR_PTR(err); return ERR_PTR(err);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment