netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
To: Jiri Pirko <jiri@resnulli.us>, netdev@vger.kernel.org
Cc: davem@davemloft.net, idosch@mellanox.com, eladr@mellanox.com,
	yotamg@mellanox.com, ogerlitz@mellanox.com
Subject: Re: [patch net-next 15/26] bonding: allow notifications for bond_set_slave_link_state
Date: Wed, 2 Dec 2015 12:27:09 +0100	[thread overview]
Message-ID: <565ED58D.2040002@cumulusnetworks.com> (raw)
In-Reply-To: <1448977744-17930-16-git-send-email-jiri@resnulli.us>

On 12/01/2015 02:48 PM, Jiri Pirko wrote:
> From: Jiri Pirko <jiri@mellanox.com>
> 
> Similar to state notifications.
> 
> We allow caller to indicate if the notification should happen now or later,
> depending on if he holds rtnl mutex or not. Introduce bond_slave_link_notify
> function (similar to bond_slave_state_notify) which is later on called
> with rtnl mutex and goes over slaves and executes delayed notification.
> 
> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
> ---
>  drivers/net/bonding/bond_main.c | 54 +++++++++++++++++++++++++++--------------
>  include/net/bonding.h           | 32 +++++++++++++++++++++---
>  2 files changed, 65 insertions(+), 21 deletions(-)
> 
[snip]
> diff --git a/include/net/bonding.h b/include/net/bonding.h
> index c1740a2..50496ec 100644
> --- a/include/net/bonding.h
> +++ b/include/net/bonding.h
> @@ -165,7 +165,8 @@ struct slave {
>  	u8     backup:1,   /* indicates backup slave. Value corresponds with
>  			      BOND_STATE_ACTIVE and BOND_STATE_BACKUP */
>  	       inactive:1, /* indicates inactive slave */
> -	       should_notify:1; /* indicateds whether the state changed */
> +	       should_notify:1, /* indicateds whether the state changed */
> +	       should_notify_link:1; /* indicateds whether the link changed */

s/indicateds/indicates/

>  	u8     duplex;
>  	u32    original_mtu;
>  	u32    link_failure_count;
> @@ -504,10 +505,35 @@ static inline bool bond_is_slave_inactive(struct slave *slave)
>  	return slave->inactive;
>  }
[snip]
> +
> +static inline void bond_slave_link_notify(struct bonding *bond)
> +{
> +	struct list_head *iter;
> +	struct slave *tmp;
> +
> +	bond_for_each_slave(bond, tmp, iter) {
> +		if (tmp->should_notify_link) {
> +			bond_queue_slave_event(tmp);
> +			tmp->should_notify_link = 0;
> +		}
> +	}
>  }
>  
>  static inline __be32 bond_confirm_addr(struct net_device *dev, __be32 dst, __be32 local)
> 

  reply	other threads:[~2015-12-02 11:27 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 [this message]
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
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=565ED58D.2040002@cumulusnetworks.com \
    --to=nikolay@cumulusnetworks.com \
    --cc=davem@davemloft.net \
    --cc=eladr@mellanox.com \
    --cc=idosch@mellanox.com \
    --cc=jiri@resnulli.us \
    --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).