diff options
author | Mark Bloch <markb@mellanox.com> | 2017-12-07 20:55:10 +0000 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2017-12-28 12:36:33 +0200 |
commit | 5ed99fb421d4d5cd4cba613c1ab115585aa277d2 (patch) | |
tree | a6b95b90a93bb4eb3cd5c912983bf8f4800c8a87 /drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | |
parent | net/mlx5: E-Switch, Create a dedicated send to vport rule deletion function (diff) | |
download | linux-dev-5ed99fb421d4d5cd4cba613c1ab115585aa277d2.tar.xz linux-dev-5ed99fb421d4d5cd4cba613c1ab115585aa277d2.zip |
net/mlx5e: Move ethernet representors data into separate struct
Ethernet representors have a need to store data which is applicable
only for them. Create a priv void pointer in struct mlx5_eswitch_rep
and move mlx5e to store the relevant data there. As part of this change
we also initialize rep_if in mlx5e_rep_register_vf_vports() as otherwise the
E-Switch code will copy a priv value which is garbage.
We also rename mlx5_eswitch_get_uplink_netdev() to
mlx5_eswitch_get_uplink_priv() and make it return void *.
This way E-Switch code doesn't need to deal with net devices and
we leave the task of getting it to mlx5e.
Signed-off-by: Mark Bloch <markb@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_rep.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h index 5659ed9f51e6..8db68369367e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.h @@ -56,8 +56,17 @@ struct mlx5e_neigh_update_table { struct mlx5e_rep_priv { struct mlx5_eswitch_rep *rep; struct mlx5e_neigh_update_table neigh_update; + struct net_device *netdev; + struct mlx5_flow_handle *vport_rx_rule; + struct list_head vport_sqs_list; }; +static inline +struct mlx5e_rep_priv *mlx5e_rep_to_rep_priv(struct mlx5_eswitch_rep *rep) +{ + return (struct mlx5e_rep_priv *)rep->priv; +} + struct mlx5e_neigh { struct net_device *dev; union { |