lkml.org 
[lkml]   [2018]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 53/66] mlxsw: spectrum_router: Dont log an error on missing neighbor
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Yuval Mintz <yuvalm@mellanox.com>


    [ Upstream commit 1ecdaea02ca6bfacf2ecda500dc1af51e9780c42 ]

    Driver periodically samples all neighbors configured in device
    in order to update the kernel regarding their state. When finding
    an entry configured in HW that doesn't show in neigh_lookup()
    driver logs an error message.
    This introduces a race when removing multiple neighbors -
    it's possible that a given entry would still be configured in HW
    as its removal is still being processed but is already removed
    from the kernel's neighbor tables.

    Simply remove the error message and gracefully accept such events.

    Fixes: c723c735fa6b ("mlxsw: spectrum_router: Periodically update the kernel's neigh table")
    Fixes: 60f040ca11b9 ("mlxsw: spectrum_router: Periodically dump active IPv6 neighbours")
    Signed-off-by: Yuval Mintz <yuvalm@mellanox.com>
    Reviewed-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 5 +----
    1 file changed, 1 insertion(+), 4 deletions(-)

    --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
    +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
    @@ -765,11 +765,8 @@ static void mlxsw_sp_router_neigh_ent_ip
    dipn = htonl(dip);
    dev = mlxsw_sp->rifs[rif]->dev;
    n = neigh_lookup(&arp_tbl, &dipn, dev);
    - if (!n) {
    - netdev_err(dev, "Failed to find matching neighbour for IP=%pI4h\n",
    - &dip);
    + if (!n)
    return;
    - }

    netdev_dbg(dev, "Updating neighbour with IP=%pI4h\n", &dip);
    neigh_event_send(n, NULL);

    \
     
     \ /
      Last update: 2018-01-29 21:03    [W:5.584 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site