Skip to content

Commit 4c283e6

Browse files
Shahar KleinSaeed Mahameed
authored andcommitted
net/mlx5: Fold the modify lag code into function
Handle the code of modifying the lag affinity within a separate function. Signed-off-by: Shahar Klein <shahark@mellanox.com> Signed-off-by: Roi Dayan <roid@mellanox.com> Reviewed-by: Aviv Heller <avivh@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
1 parent 3cfe432 commit 4c283e6

File tree

1 file changed

+28
-16
lines changed
  • drivers/net/ethernet/mellanox/mlx5/core

1 file changed

+28
-16
lines changed

drivers/net/ethernet/mellanox/mlx5/core/lag.c

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,32 @@ static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker,
186186
*port2 = 1;
187187
}
188188

189+
static void mlx5_modify_lag(struct mlx5_lag *ldev,
190+
struct lag_tracker *tracker)
191+
{
192+
struct mlx5_core_dev *dev0 = ldev->pf[0].dev;
193+
u8 v2p_port1, v2p_port2;
194+
int err;
195+
196+
mlx5_infer_tx_affinity_mapping(tracker, &v2p_port1,
197+
&v2p_port2);
198+
199+
if (v2p_port1 != ldev->v2p_map[0] ||
200+
v2p_port2 != ldev->v2p_map[1]) {
201+
ldev->v2p_map[0] = v2p_port1;
202+
ldev->v2p_map[1] = v2p_port2;
203+
204+
mlx5_core_info(dev0, "modify lag map port 1:%d port 2:%d",
205+
ldev->v2p_map[0], ldev->v2p_map[1]);
206+
207+
err = mlx5_cmd_modify_lag(dev0, v2p_port1, v2p_port2);
208+
if (err)
209+
mlx5_core_err(dev0,
210+
"Failed to modify LAG (%d)\n",
211+
err);
212+
}
213+
}
214+
189215
static int mlx5_create_lag(struct mlx5_lag *ldev,
190216
struct lag_tracker *tracker)
191217
{
@@ -232,8 +258,7 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
232258
struct mlx5_core_dev *dev0 = ldev->pf[0].dev;
233259
struct mlx5_core_dev *dev1 = ldev->pf[1].dev;
234260
struct lag_tracker tracker;
235-
u8 v2p_port1, v2p_port2;
236-
int i, err;
261+
int i;
237262
bool do_bond;
238263

239264
if (!dev0 || !dev1)
@@ -255,20 +280,7 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
255280
mlx5_add_dev_by_protocol(dev0, MLX5_INTERFACE_PROTOCOL_IB);
256281
mlx5_nic_vport_enable_roce(dev1);
257282
} else if (do_bond && mlx5_lag_is_bonded(ldev)) {
258-
mlx5_infer_tx_affinity_mapping(&tracker, &v2p_port1,
259-
&v2p_port2);
260-
261-
if ((v2p_port1 != ldev->v2p_map[0]) ||
262-
(v2p_port2 != ldev->v2p_map[1])) {
263-
ldev->v2p_map[0] = v2p_port1;
264-
ldev->v2p_map[1] = v2p_port2;
265-
266-
err = mlx5_cmd_modify_lag(dev0, v2p_port1, v2p_port2);
267-
if (err)
268-
mlx5_core_err(dev0,
269-
"Failed to modify LAG (%d)\n",
270-
err);
271-
}
283+
mlx5_modify_lag(ldev, &tracker);
272284
} else if (!do_bond && mlx5_lag_is_bonded(ldev)) {
273285
mlx5_remove_dev_by_protocol(dev0, MLX5_INTERFACE_PROTOCOL_IB);
274286
mlx5_nic_vport_disable_roce(dev1);

0 commit comments

Comments
 (0)