From: Jiri Pirko <jiri@resnulli.us>
To: David Miller <davem@davemloft.net>
Cc: gerlitz.or@gmail.com, netdev@vger.kernel.org,
idosch@mellanox.com, eladr@mellanox.com, yotamg@mellanox.com,
ogerlitz@mellanox.com
Subject: Re: [patch net-next 24/26] mlxsw: spectrum: Implement LAG port join/leave
Date: Wed, 2 Dec 2015 18:35:25 +0100 [thread overview]
Message-ID: <20151202173525.GN2355@nanopsycho.orion> (raw)
In-Reply-To: <20151202.123007.603825526895856619.davem@davemloft.net>
Wed, Dec 02, 2015 at 06:30:07PM CET, davem@davemloft.net wrote:
>From: Or Gerlitz <gerlitz.or@gmail.com>
>Date: Wed, 2 Dec 2015 07:47:51 +0200
>
>> On Tue, Dec 1, 2015 at 3:49 PM, Jiri Pirko <jiri@resnulli.us> wrote:
>>> Implement basic procedures for joining/leaving port to/from LAG. That
>>> includes HW setup of collector, core LAG mapping setup.
>>>
>>> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
>>> ---
>>> drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 284 +++++++++++++++++++++++--
>>> drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 35 ++-
>>> 2 files changed, 302 insertions(+), 17 deletions(-)
>>>
>>> --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
>>> +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
>>
>> [...]
>>
>>> +static int mlxsw_sp_port_lag_leave(struct mlxsw_sp_port *mlxsw_sp_port,
>>> + struct net_device *lag_dev)
>>> +{
>>> + struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
>>> + struct mlxsw_sp_upper *lag;
>>> + u16 lag_id = mlxsw_sp_port->lag_id;
>>> + int err;
>>> +
>>> + if (!mlxsw_sp_port->lagged)
>>> + return 0;
>>> + lag = mlxsw_sp_lag_get(mlxsw_sp, lag_id);
>>> + BUG_ON(lag->ref_count == 0);
>>
>> is this a must to crash the system here? can't we do something less drastic?
>
>Indeed, please use WARN_ON() and return an error or perform some other kind of
>recovery operation.
>
>BUG_ON() is bad and is only to ever be used when the kernel's
>continued operation is absolutely impossible.
Fair enough. Will change.
next prev parent reply other threads:[~2015-12-02 17:35 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-01 13:48 [patch net-next 00/26] bonding/team offload + mlxsw implementation Jiri Pirko
2015-12-01 13:48 ` [patch net-next 01/26] bonding: add 802.3ad support for 100G speeds Jiri Pirko
2015-12-01 13:48 ` [patch net-next 02/26] net: add netif_is_team_master helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 03/26] net: add netif_is_team_port helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 04/26] net: add netif_is_lag_master helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 05/26] net: add netif_is_lag_port helper Jiri Pirko
2015-12-01 13:48 ` [patch net-next 06/26] net: propagate upper priv via netdev_master_upper_dev_link Jiri Pirko
2015-12-01 13:48 ` [patch net-next 07/26] net: add possibility to pass information about upper device via notifier Jiri Pirko
2015-12-02 5:28 ` Or Gerlitz
2015-12-02 7:54 ` Jiri Pirko
2015-12-02 8:17 ` Or Gerlitz
2015-12-02 17:29 ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 08/26] net: add info struct for LAG changeupper Jiri Pirko
2015-12-02 10:59 ` Nikolay Aleksandrov
2015-12-02 11:06 ` Jiri Pirko
2015-12-02 11:07 ` Nikolay Aleksandrov
2015-12-02 11:11 ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 09/26] team: fill-up LAG changeupper info struct and pass it along Jiri Pirko
2015-12-02 5:36 ` Or Gerlitz
2015-12-02 7:55 ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 10/26] bonding: " Jiri Pirko
2015-12-02 11:00 ` Nikolay Aleksandrov
2015-12-02 11:07 ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 11/26] net: introduce change lower state notifier Jiri Pirko
2015-12-01 13:48 ` [patch net-next 12/26] net: introduce lower state changed info structure for LAG lowers Jiri Pirko
2015-12-01 13:48 ` [patch net-next 13/26] team: rtnl_lock for options set Jiri Pirko
2015-12-01 13:48 ` [patch net-next 14/26] team: implement lower state change propagation Jiri Pirko
2015-12-01 13:48 ` [patch net-next 15/26] bonding: allow notifications for bond_set_slave_link_state Jiri Pirko
2015-12-02 11:27 ` Nikolay Aleksandrov
2015-12-02 11:48 ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 16/26] bonding: implement lower state change propagation Jiri Pirko
2015-12-02 11:40 ` Nikolay Aleksandrov
2015-12-02 11:47 ` Nikolay Aleksandrov
2015-12-02 11:56 ` Jiri Pirko
2015-12-01 13:48 ` [patch net-next 17/26] bonding: set inactive flags on release Jiri Pirko
2015-12-01 13:48 ` [patch net-next 18/26] mlxsw: spectrum: Add set_rx_mode ndo stub Jiri Pirko
2015-12-01 13:48 ` [patch net-next 19/26] mlxsw: core: Add support for packets received from LAG port Jiri Pirko
2015-12-01 13:48 ` [patch net-next 20/26] mlxsw: pci: Implement LAG processing for received packets Jiri Pirko
2015-12-01 13:48 ` [patch net-next 21/26] mlxsw: reg: Add link aggregation configuration registers definitions Jiri Pirko
2015-12-01 13:49 ` [patch net-next 22/26] mlxsw: reg: Add definition of LAG unicast record for SFD register Jiri Pirko
2015-12-01 13:49 ` [patch net-next 23/26] mlxsw: reg: Add definition of LAG unicast record for SFN register Jiri Pirko
2015-12-01 13:49 ` [patch net-next 24/26] mlxsw: spectrum: Implement LAG port join/leave Jiri Pirko
2015-12-02 5:47 ` Or Gerlitz
2015-12-02 7:57 ` Jiri Pirko
2015-12-02 17:30 ` David Miller
2015-12-02 17:35 ` Jiri Pirko [this message]
2015-12-02 14:01 ` Andy Gospodarek
2015-12-02 14:10 ` Jiri Pirko
2015-12-02 14:26 ` Andy Gospodarek
2015-12-02 15:28 ` Jiri Pirko
2015-12-01 13:49 ` [patch net-next 25/26] mlxsw: spectrum: Implement FDB add/remove/dump for LAG Jiri Pirko
2015-12-01 13:49 ` [patch net-next 26/26] mlxsw: spectrum: Implement LAG tx enabled lower state change Jiri Pirko
2015-12-01 14:43 ` [patch net-next 00/26] bonding/team offload + mlxsw implementation Jiri Pirko
2015-12-01 15:06 ` Or Gerlitz
2015-12-01 15:12 ` Jiri Pirko
2015-12-01 16:35 ` Or Gerlitz
2015-12-01 16:47 ` Jiri Pirko
2015-12-02 5:53 ` Or Gerlitz
2015-12-02 7:58 ` Jiri Pirko
2015-12-02 8:21 ` Or Gerlitz
2015-12-02 8:25 ` Jiri Pirko
2015-12-02 8:25 ` Or Gerlitz
2015-12-02 15:27 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151202173525.GN2355@nanopsycho.orion \
--to=jiri@resnulli.us \
--cc=davem@davemloft.net \
--cc=eladr@mellanox.com \
--cc=gerlitz.or@gmail.com \
--cc=idosch@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=yotamg@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).