]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mlxsw: spectrum_router: Remove unlikely user-triggerable warning
authorIdo Schimmel <idosch@mellanox.com>
Mon, 9 Dec 2019 06:55:20 +0000 (08:55 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Dec 2019 18:18:28 +0000 (10:18 -0800)
In case the driver vetoes the addition of an IPv6 multipath route, the
IPv6 stack will emit delete notifications for the sibling routes that
were already added to the FIB trie. Since these siblings are not present
in hardware, a warning will be generated.

Have the driver ignore notifications for routes it does not have.

Fixes: ebee3cad835f ("ipv6: Add IPv6 multipath notifications for add / replace")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

index 30bfe3880fafca38ef028ee35d52d463735d73b6..08b7e9f964daefee98e8b63bb1ec33cc76131f3e 100644 (file)
@@ -5742,8 +5742,13 @@ static void mlxsw_sp_router_fib6_del(struct mlxsw_sp *mlxsw_sp,
        if (mlxsw_sp_fib6_rt_should_ignore(rt))
                return;
 
+       /* Multipath routes are first added to the FIB trie and only then
+        * notified. If we vetoed the addition, we will get a delete
+        * notification for a route we do not have. Therefore, do not warn if
+        * route was not found.
+        */
        fib6_entry = mlxsw_sp_fib6_entry_lookup(mlxsw_sp, rt);
-       if (WARN_ON(!fib6_entry))
+       if (!fib6_entry)
                return;
 
        /* If not all the nexthops are deleted, then only reduce the nexthop