mirror of https://gitee.com/openkylin/linux.git
net/mlx4_core: Set initial admin GUIDs for VFs
To have out of the box experience, the PF generates random GUIDs who serve as the initial admin values. 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
773af94e4e
commit
fb517a4f03
|
@ -2350,6 +2350,7 @@ int mlx4_multi_func_init(struct mlx4_dev *dev)
|
|||
oper_vport->qos_vport = MLX4_VPP_DEFAULT_VPORT;
|
||||
vf_oper->vport[port].vlan_idx = NO_INDX;
|
||||
vf_oper->vport[port].mac_idx = NO_INDX;
|
||||
mlx4_set_random_admin_guid(dev, i, port);
|
||||
}
|
||||
spin_lock_init(&s_state->lock);
|
||||
}
|
||||
|
|
|
@ -2276,6 +2276,21 @@ __be64 mlx4_get_admin_guid(struct mlx4_dev *dev, int entry, int port)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(mlx4_get_admin_guid);
|
||||
|
||||
void mlx4_set_random_admin_guid(struct mlx4_dev *dev, int entry, int port)
|
||||
{
|
||||
struct mlx4_priv *priv = mlx4_priv(dev);
|
||||
__be64 guid;
|
||||
|
||||
/* hw GUID */
|
||||
if (entry == 0)
|
||||
return;
|
||||
|
||||
get_random_bytes((char *)&guid, sizeof(guid));
|
||||
guid &= ~(cpu_to_be64(1ULL << 56));
|
||||
guid |= cpu_to_be64(1ULL << 57);
|
||||
priv->mfunc.master.vf_admin[entry].vport[port].guid = guid;
|
||||
}
|
||||
|
||||
static int mlx4_setup_hca(struct mlx4_dev *dev)
|
||||
{
|
||||
struct mlx4_priv *priv = mlx4_priv(dev);
|
||||
|
|
|
@ -1348,6 +1348,7 @@ 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);
|
||||
void mlx4_set_random_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