[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <320c79af-3de6-f012-75a2-e5a7effde9f6@gmail.com>
Date: Tue, 1 May 2018 09:16:23 -0600
From: David Ahern <dsahern@...il.com>
To: Ido Schimmel <idosch@...lanox.com>, netdev@...r.kernel.org
Cc: davem@...emloft.net, jiri@...lanox.com, mlxsw@...lanox.com
Subject: Re: [PATCH net-next 1/2] mlxsw: spectrum_router: Return an error for
non-default FIB rules
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 <idosch@...lanox.com>
> ---
> 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);
>
Powered by blists - more mailing lists