lkml.org 
[lkml]   [2021]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 047/266] net/mlx5: Fix lag port remapping logic
    Date
    From: Eli Cohen <elic@nvidia.com>

    [ Upstream commit 8613641063617c1dfc731b403b3ee4935ef15f87 ]

    Fix the logic so that if both ports netdevices are enabled or disabled,
    use the trivial mapping without swapping.

    If only one of the netdevice's tx is enabled, use it to remap traffic to
    that port.

    Signed-off-by: Eli Cohen <elic@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/lag.c | 19 +++++++++++++------
    1 file changed, 13 insertions(+), 6 deletions(-)

    diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag.c
    index b8748390335f..9ce144ef8326 100644
    --- a/drivers/net/ethernet/mellanox/mlx5/core/lag.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag.c
    @@ -118,17 +118,24 @@ static bool __mlx5_lag_is_sriov(struct mlx5_lag *ldev)
    static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker,
    u8 *port1, u8 *port2)
    {
    + bool p1en;
    + bool p2en;
    +
    + p1en = tracker->netdev_state[MLX5_LAG_P1].tx_enabled &&
    + tracker->netdev_state[MLX5_LAG_P1].link_up;
    +
    + p2en = tracker->netdev_state[MLX5_LAG_P2].tx_enabled &&
    + tracker->netdev_state[MLX5_LAG_P2].link_up;
    +
    *port1 = 1;
    *port2 = 2;
    - if (!tracker->netdev_state[MLX5_LAG_P1].tx_enabled ||
    - !tracker->netdev_state[MLX5_LAG_P1].link_up) {
    - *port1 = 2;
    + if ((!p1en && !p2en) || (p1en && p2en))
    return;
    - }

    - if (!tracker->netdev_state[MLX5_LAG_P2].tx_enabled ||
    - !tracker->netdev_state[MLX5_LAG_P2].link_up)
    + if (p1en)
    *port2 = 1;
    + else
    + *port1 = 2;
    }

    void mlx5_modify_lag(struct mlx5_lag *ldev,
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-15 21:39    [W:4.144 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site