From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: [PATCH net-next 1/2] mlxsw: spectrum_router: Return an error for non-default FIB rules Date: Tue, 1 May 2018 09:16:23 -0600 Message-ID: <320c79af-3de6-f012-75a2-e5a7effde9f6@gmail.com> References: <20180501081639.29162-1-idosch@mellanox.com> <20180501081639.29162-2-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: davem@davemloft.net, jiri@mellanox.com, mlxsw@mellanox.com To: Ido Schimmel , netdev@vger.kernel.org Return-path: Received: from mail-pf0-f194.google.com ([209.85.192.194]:35943 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755074AbeEAPQZ (ORCPT ); Tue, 1 May 2018 11:16:25 -0400 Received: by mail-pf0-f194.google.com with SMTP id w129so3887036pfd.3 for ; Tue, 01 May 2018 08:16:25 -0700 (PDT) In-Reply-To: <20180501081639.29162-2-idosch@mellanox.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 5/1/18 2:16 AM, Ido Schimmel wrote: > Since commit 9776d32537d2 ("net: Move call_fib_rule_notifiers up in > fib_nl_newrule") it is possible to forbid the installation of > unsupported FIB rules. > > Have mlxsw return an error for non-default FIB rules in addition to the > existing extack message. > > Example: > # ip rule add from 198.51.100.1 table 10 > Error: mlxsw_spectrum: FIB rules not supported. > > Note that offload is only aborted when non-default FIB rules are already > installed and merely replayed during module initialization. > > Signed-off-by: Ido Schimmel > --- > drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > index 8e4edb634b11..baea97560029 100644 > --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c > @@ -5899,7 +5899,7 @@ static int mlxsw_sp_router_fib_rule_event(unsigned long event, > } > > if (err < 0) > - NL_SET_ERR_MSG_MOD(extack, "FIB rules not supported. Aborting offload"); > + NL_SET_ERR_MSG_MOD(extack, "FIB rules not supported"); > > return err; shouldn't mlxsw_sp_router_fib_rule_event return -EOPNOTSUPP instead of -1 (EPERM)? > } > @@ -5926,8 +5926,8 @@ static int mlxsw_sp_router_fib_event(struct notifier_block *nb, > case FIB_EVENT_RULE_DEL: > err = mlxsw_sp_router_fib_rule_event(event, info, > router->mlxsw_sp); > - if (!err) > - return NOTIFY_DONE; > + if (!err || info->extack) > + return notifier_from_errno(err); > } > > fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC); >