]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mlxsw: spectrum_router: Return an error for routes added after abort
authorIdo Schimmel <idosch@mellanox.com>
Wed, 2 May 2018 07:17:35 +0000 (10:17 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 May 2018 17:15:17 +0000 (13:15 -0400)
We currently do not perform accounting in the driver and thus can't
reject routes before resources are exceeded.

However, in order to make users aware of the fact that routes are no
longer offloaded we can return an error for routes configured after the
abort mechanism was triggered.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c

index added380e344459f210ab3c00ffcbf91ed86b752..8028d221aece87da388ce57270fe0ebdbf5096f5 100644 (file)
@@ -5928,6 +5928,13 @@ static int mlxsw_sp_router_fib_event(struct notifier_block *nb,
                                                     router->mlxsw_sp);
                if (!err || info->extack)
                        return notifier_from_errno(err);
+               break;
+       case FIB_EVENT_ENTRY_ADD:
+               if (router->aborted) {
+                       NL_SET_ERR_MSG_MOD(info->extack, "FIB offload was aborted. Not configuring route");
+                       return notifier_from_errno(-EINVAL);
+               }
+               break;
        }
 
        fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC);