Commit 8c474853 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'mlx5e-misc-fixes-2025-09-15'

Tariq Toukan says:

====================
mlx5e misc fixes 2025-09-15

This patchset provides misc bug fixes from the team to the mlx5 Eth
driver.
====================

Link: https://patch.msgid.link/1757939074-617281-1-git-send-email-tariqt@nvidia.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 94ff1ed3 7601a0a4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ enum {
	MLX5E_ACCEL_FS_ESP_FT_LEVEL = MLX5E_INNER_TTC_FT_LEVEL + 1,
	MLX5E_ACCEL_FS_ESP_FT_ERR_LEVEL,
	MLX5E_ACCEL_FS_POL_FT_LEVEL,
	MLX5E_ACCEL_FS_POL_MISS_FT_LEVEL,
	MLX5E_ACCEL_FS_ESP_FT_ROCE_LEVEL,
#endif
};
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ struct mlx5e_ipsec_rx_create_attr {
	u32 family;
	int prio;
	int pol_level;
	int pol_miss_level;
	int sa_level;
	int status_level;
	enum mlx5_flow_namespace_type chains_ns;
+2 −1
Original line number Diff line number Diff line
@@ -747,6 +747,7 @@ static void ipsec_rx_create_attr_set(struct mlx5e_ipsec *ipsec,
	attr->family = family;
	attr->prio = MLX5E_NIC_PRIO;
	attr->pol_level = MLX5E_ACCEL_FS_POL_FT_LEVEL;
	attr->pol_miss_level = MLX5E_ACCEL_FS_POL_MISS_FT_LEVEL;
	attr->sa_level = MLX5E_ACCEL_FS_ESP_FT_LEVEL;
	attr->status_level = MLX5E_ACCEL_FS_ESP_FT_ERR_LEVEL;
	attr->chains_ns = MLX5_FLOW_NAMESPACE_KERNEL;
@@ -833,7 +834,7 @@ static int ipsec_rx_chains_create_miss(struct mlx5e_ipsec *ipsec,

	ft_attr.max_fte = 1;
	ft_attr.autogroup.max_num_groups = 1;
	ft_attr.level = attr->pol_level;
	ft_attr.level = attr->pol_miss_level;
	ft_attr.prio = attr->prio;

	ft = mlx5_create_auto_grouped_flow_table(attr->ns, &ft_attr);
+22 −5
Original line number Diff line number Diff line
@@ -1506,12 +1506,21 @@ static const struct mlx5e_profile mlx5e_uplink_rep_profile = {
static int
mlx5e_vport_uplink_rep_load(struct mlx5_core_dev *dev, struct mlx5_eswitch_rep *rep)
{
	struct mlx5e_priv *priv = netdev_priv(mlx5_uplink_netdev_get(dev));
	struct mlx5e_rep_priv *rpriv = mlx5e_rep_to_rep_priv(rep);
	struct net_device *netdev;
	struct mlx5e_priv *priv;
	int err;

	netdev = mlx5_uplink_netdev_get(dev);
	if (!netdev)
		return 0;

	priv = netdev_priv(netdev);
	rpriv->netdev = priv->netdev;
	return mlx5e_netdev_change_profile(priv, &mlx5e_uplink_rep_profile,
	err = mlx5e_netdev_change_profile(priv, &mlx5e_uplink_rep_profile,
					  rpriv);
	mlx5_uplink_netdev_put(dev, netdev);
	return err;
}

static void
@@ -1638,8 +1647,16 @@ mlx5e_vport_rep_unload(struct mlx5_eswitch_rep *rep)
{
	struct mlx5e_rep_priv *rpriv = mlx5e_rep_to_rep_priv(rep);
	struct net_device *netdev = rpriv->netdev;
	struct mlx5e_priv *priv = netdev_priv(netdev);
	void *ppriv = priv->ppriv;
	struct mlx5e_priv *priv;
	void *ppriv;

	if (!netdev) {
		ppriv = rpriv;
		goto free_ppriv;
	}

	priv = netdev_priv(netdev);
	ppriv = priv->ppriv;

	if (rep->vport == MLX5_VPORT_UPLINK) {
		mlx5e_vport_uplink_rep_unload(rpriv);
+1 −0
Original line number Diff line number Diff line
@@ -1515,6 +1515,7 @@ static u32 mlx5_esw_qos_lag_link_speed_get_locked(struct mlx5_core_dev *mdev)
		speed = lksettings.base.speed;

out:
	mlx5_uplink_netdev_put(mdev, slave);
	return speed;
}

Loading