Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bac9b6aa authored by Or Gerlitz's avatar Or Gerlitz Committed by David S. Miller
Browse files

net/mlx5: E-Switch, Set vport representor fields explicitly on registration



The structure we use for the eswitch vport representor (mlx5_eswitch_rep)
has some fields which are set from upper layers in the driver when they
register the rep. Use explicit setting on registration time for them and
avoid global memcpy. This patch doesn't add new functionality.

Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9deb2241
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -178,11 +178,12 @@ struct mlx5_eswitch_rep {
	void		       (*unload)(struct mlx5_eswitch *esw,
					 struct mlx5_eswitch_rep *rep);
	u16		       vport;
	struct mlx5_flow_rule *vport_rx_rule;
	u8		       hw_id[ETH_ALEN];
	void		      *priv_data;

	struct mlx5_flow_rule *vport_rx_rule;
	struct list_head       vport_sqs_list;
	bool		       valid;
	u8		       hw_id[ETH_ALEN];
};

struct mlx5_esw_offload {
+7 −1
Original line number Diff line number Diff line
@@ -624,7 +624,13 @@ void mlx5_eswitch_register_vport_rep(struct mlx5_eswitch *esw,

	rep = &offloads->vport_reps[vport_index];

	memcpy(rep, __rep, sizeof(struct mlx5_eswitch_rep));
	memset(rep, 0, sizeof(*rep));

	rep->load   = __rep->load;
	rep->unload = __rep->unload;
	rep->vport  = __rep->vport;
	rep->priv_data = __rep->priv_data;
	ether_addr_copy(rep->hw_id, __rep->hw_id);

	INIT_LIST_HEAD(&rep->vport_sqs_list);
	rep->valid = true;