net/mlx4_core: Manage alias GUID per VF
Manages alias GUIDs per VF per port in the core layer. This is a pre-step for managing alias GUIDs in a mode that the admin GUID is returned via ib_query_gid() regardless of whether the SM has approved it or not. Signed-off-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
99ee4df6aa
commit
773af94e4e
|
@ -2260,6 +2260,22 @@ void mlx4_counter_free(struct mlx4_dev *dev, u32 idx)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(mlx4_counter_free);
|
||||
|
||||
void mlx4_set_admin_guid(struct mlx4_dev *dev, __be64 guid, int entry, int port)
|
||||
{
|
||||
struct mlx4_priv *priv = mlx4_priv(dev);
|
||||
|
||||
priv->mfunc.master.vf_admin[entry].vport[port].guid = guid;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mlx4_set_admin_guid);
|
||||
|
||||
__be64 mlx4_get_admin_guid(struct mlx4_dev *dev, int entry, int port)
|
||||
{
|
||||
struct mlx4_priv *priv = mlx4_priv(dev);
|
||||
|
||||
return priv->mfunc.master.vf_admin[entry].vport[port].guid;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mlx4_get_admin_guid);
|
||||
|
||||
static int mlx4_setup_hca(struct mlx4_dev *dev)
|
||||
{
|
||||
struct mlx4_priv *priv = mlx4_priv(dev);
|
||||
|
|
|
@ -499,6 +499,7 @@ struct mlx4_vport_state {
|
|||
bool spoofchk;
|
||||
u32 link_state;
|
||||
u8 qos_vport;
|
||||
__be64 guid;
|
||||
};
|
||||
|
||||
struct mlx4_vf_admin_state {
|
||||
|
|
|
@ -1345,6 +1345,9 @@ int mlx4_wol_write(struct mlx4_dev *dev, u64 config, int port);
|
|||
int mlx4_counter_alloc(struct mlx4_dev *dev, u32 *idx);
|
||||
void mlx4_counter_free(struct mlx4_dev *dev, u32 idx);
|
||||
|
||||
void mlx4_set_admin_guid(struct mlx4_dev *dev, __be64 guid, int entry,
|
||||
int port);
|
||||
__be64 mlx4_get_admin_guid(struct mlx4_dev *dev, int entry, int port);
|
||||
int mlx4_flow_attach(struct mlx4_dev *dev,
|
||||
struct mlx4_net_trans_rule *rule, u64 *reg_id);
|
||||
int mlx4_flow_detach(struct mlx4_dev *dev, u64 reg_id);
|
||||
|
|
Loading…
Reference in New Issue