All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/6] bonding: rename bond components
@ 2020-10-02 17:39 Jarod Wilson
  2020-10-02 17:39 ` [PATCH net-next v2 1/6] bonding: rename 802.3ad's struct port to ad_port Jarod Wilson
                   ` (5 more replies)
  0 siblings, 6 replies; 24+ messages in thread
From: Jarod Wilson @ 2020-10-02 17:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: Jarod Wilson, Jay Vosburgh, Veaceslav Falico, Andy Gospodarek,
	David S. Miller, Jakub Kicinski, Thomas Davis, netdev

The bonding driver's use of master and slave, while largely understood
in technical circles, poses a barrier for inclusion to some potential
members of the development and user community, due to the historical
context of masters and slaves, particularly in the United States. This
is a first full pass at replacing those phrases with more socially
inclusive ones, opting for bond to replace master and port to
replace slave, which is congruent with the bridge and team drivers.

There are a few problems with this change. First up, "port" is used in
the bonding 802.3ad code, so the first step here is to rename port to
ad_port, so we can reuse port. Second, we have the issue of not wanting
to break any existing userspace, which I believe this patchset
accomplishes, while also adding alternate interfaces using the new
terminology. This set also includes a Kconfig option that will let
people make the conscious decision to break userspace and no longer
expose the original master/slave interfaces, once their userspace is
able to cope with their removal.

Lastly, we do still have the issue of ease of backporting fixes to
-stable trees. I've not had a huge amount of time to spend on it, but
brief forays into coccinelle didn't really pay off (since it's meant to
operate on code, not patches), and the best solution I can come up with
is providing a shell script someone could run over git-format-patch
output before git-am'ing the result to a -stable tree, though scripting
these changes in the first place turned out to be not the best thing to
do anyway, due to subtle cases where use of master or slave can NOT yet
be replaced, so a large amount of work was done by hand, inspection,
trial and error, which is why this set is a lot longer in coming than
I'd originally hoped. I don't expect -stable backports to be horrible to
figure out one way or another though, and I don't believe that a bit of
inconvenience on that front is enough to warrant not making these
changes.

See here for further details on Red Hat's commitment to this work:
https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language

As far as testing goes, I've manually operated on various bonds while
working on this code, and have run it through multiple lnst test runs,
which exercises the existing sysfs interfaces fairly extensively. As far
as I can tell, there is no breakage of existing interfaces with this
set, unless the user consciously opts to do so via Kconfig.

v2: legacy module parameters are retained this time, and we're trying
out bond/port instead of aggregator/link in place of master/slave. The
procfs interface legacy output is also duplicated or dropped, depending
on Kconfig, rather than being replaced.

Cc: Jay Vosburgh <j.vosburgh@gmail.com>
Cc: Veaceslav Falico <vfalico@gmail.com>
Cc: Andy Gospodarek <andy@greyhouse.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Thomas Davis <tadavis@lbl.gov>
Cc: netdev@vger.kernel.org

Jarod Wilson (6):
  bonding: rename 802.3ad's struct port to ad_port
  bonding: replace use of the term master where possible
  bonding: rename slave to port where possible
  bonding: rename bonding_sysfs_slave.c to _port.c
  bonding: update Documentation for port/bond terminology
  bonding: make Kconfig toggle to disable legacy interfaces

 .clang-format                                 |    4 +-
 Documentation/networking/bonding.rst          |  440 ++--
 drivers/infiniband/core/cma.c                 |    2 +-
 drivers/infiniband/core/lag.c                 |    2 +-
 drivers/infiniband/core/roce_gid_mgmt.c       |   10 +-
 drivers/infiniband/hw/mlx4/main.c             |    2 +-
 drivers/net/Kconfig                           |   12 +
 drivers/net/bonding/Makefile                  |    2 +-
 drivers/net/bonding/bond_3ad.c                | 1701 ++++++------
 drivers/net/bonding/bond_alb.c                |  689 ++---
 drivers/net/bonding/bond_debugfs.c            |    2 +-
 drivers/net/bonding/bond_main.c               | 2339 +++++++++--------
 drivers/net/bonding/bond_netlink.c            |  114 +-
 drivers/net/bonding/bond_options.c            |  258 +-
 drivers/net/bonding/bond_procfs.c             |  102 +-
 drivers/net/bonding/bond_sysfs.c              |  242 +-
 drivers/net/bonding/bond_sysfs_port.c         |  187 ++
 drivers/net/bonding/bond_sysfs_slave.c        |  176 --
 .../ethernet/chelsio/cxgb3/cxgb3_offload.c    |    2 +-
 .../net/ethernet/mellanox/mlx4/en_netdev.c    |   14 +-
 .../ethernet/mellanox/mlx5/core/en/rep/bond.c |    4 +-
 .../net/ethernet/mellanox/mlx5/core/en_tc.c   |    2 +-
 .../ethernet/netronome/nfp/flower/lag_conf.c  |    2 +-
 .../ethernet/qlogic/netxen/netxen_nic_main.c  |   12 +-
 include/linux/netdevice.h                     |   22 +-
 include/net/bond_3ad.h                        |   42 +-
 include/net/bond_alb.h                        |   74 +-
 include/net/bond_options.h                    |   18 +-
 include/net/bonding.h                         |  362 +--
 include/net/lag.h                             |    2 +-
 30 files changed, 3512 insertions(+), 3328 deletions(-)
 create mode 100644 drivers/net/bonding/bond_sysfs_port.c
 delete mode 100644 drivers/net/bonding/bond_sysfs_slave.c

-- 
2.27.0


^ permalink raw reply	[flat|nested] 24+ messages in thread
* Re: [PATCH net-next v2 1/6] bonding: rename 802.3ad's struct port to ad_port
@ 2020-10-03  6:01 kernel test robot
  0 siblings, 0 replies; 24+ messages in thread
From: kernel test robot @ 2020-10-03  6:01 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 16698 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20201002174001.3012643-2-jarod@redhat.com>
References: <20201002174001.3012643-2-jarod@redhat.com>
TO: Jarod Wilson <jarod@redhat.com>
TO: linux-kernel(a)vger.kernel.org
CC: Jarod Wilson <jarod@redhat.com>
CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Veaceslav Falico <vfalico@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Thomas Davis <tadavis@lbl.gov>
CC: netdev(a)vger.kernel.org

Hi Jarod,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Jarod-Wilson/bonding-rename-bond-components/20201003-014336
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 360f89874635b08057757376b8cc4faa221862e2
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago
config: x86_64-randconfig-m001-20201002 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/bonding/bond_3ad.c:1527 ad_port_selection_logic() error: we previously assumed 'ad_port->aggregator' could be null (see line 1389)

vim +1527 drivers/net/bonding/bond_3ad.c

^1da177e4c3f415 Linus Torvalds   2005-04-16  1363  
^1da177e4c3f415 Linus Torvalds   2005-04-16  1364  /**
^1da177e4c3f415 Linus Torvalds   2005-04-16  1365   * ad_port_selection_logic - select aggregation groups
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1366   * @ad_port: the ad_port we're looking at
ee6377147409a00 Mahesh Bandewar  2014-10-04  1367   * @update_slave_arr: Does slave array need update?
^1da177e4c3f415 Linus Torvalds   2005-04-16  1368   *
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1369   * Select aggregation groups, and assign each ad_port for it's aggregetor. The
^1da177e4c3f415 Linus Torvalds   2005-04-16  1370   * selection logic is called in the inititalization (after all the handshkes),
^1da177e4c3f415 Linus Torvalds   2005-04-16  1371   * and after every lacpdu receive (if selected is off).
^1da177e4c3f415 Linus Torvalds   2005-04-16  1372   */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1373  static void ad_port_selection_logic(struct ad_port *ad_port, bool *update_slave_arr)
^1da177e4c3f415 Linus Torvalds   2005-04-16  1374  {
^1da177e4c3f415 Linus Torvalds   2005-04-16  1375  	struct aggregator *aggregator, *free_aggregator = NULL, *temp_aggregator;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1376  	struct ad_port *last_port = NULL, *curr_port;
3e36bb75ce32d0c Veaceslav Falico 2013-09-27  1377  	struct list_head *iter;
3e36bb75ce32d0c Veaceslav Falico 2013-09-27  1378  	struct bonding *bond;
3e36bb75ce32d0c Veaceslav Falico 2013-09-27  1379  	struct slave *slave;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1380  	int found = 0;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1381  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1382  	/* if the ad_port is already Selected, do nothing */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1383  	if (ad_port->sm_vars & AD_PORT_SELECTED)
^1da177e4c3f415 Linus Torvalds   2005-04-16  1384  		return;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1385  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1386  	bond = __get_bond_by_ad_port(ad_port);
3e36bb75ce32d0c Veaceslav Falico 2013-09-27  1387  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1388  	/* if the ad_port is connected to other aggregator, detach it */
d0e49c30a3c75ad Jarod Wilson     2020-10-02 @1389  	if (ad_port->aggregator) {
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1390  		/* detach the ad_port from its former aggregator */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1391  		temp_aggregator = ad_port->aggregator;
128ea6c3eece8e8 Bandan Das       2010-10-16  1392  		for (curr_port = temp_aggregator->lag_ports; curr_port;
128ea6c3eece8e8 Bandan Das       2010-10-16  1393  		     last_port = curr_port,
128ea6c3eece8e8 Bandan Das       2010-10-16  1394  		     curr_port = curr_port->next_port_in_aggregator) {
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1395  			if (curr_port == ad_port) {
^1da177e4c3f415 Linus Torvalds   2005-04-16  1396  				temp_aggregator->num_of_ports--;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1397  				/* if it is the first ad_port attached to the
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1398  				 * aggregator
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1399  				 */
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1400  				if (!last_port) {
128ea6c3eece8e8 Bandan Das       2010-10-16  1401  					temp_aggregator->lag_ports =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1402  						ad_port->next_port_in_aggregator;
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1403  				} else {
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1404  					/* not the first ad_port attached to the
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1405  					 * aggregator
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1406  					 */
128ea6c3eece8e8 Bandan Das       2010-10-16  1407  					last_port->next_port_in_aggregator =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1408  						ad_port->next_port_in_aggregator;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1409  				}
^1da177e4c3f415 Linus Torvalds   2005-04-16  1410  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1411  				/* clear the ad_port's relations to this
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1412  				 * aggregator
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1413  				 */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1414  				ad_port->aggregator = NULL;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1415  				ad_port->next_port_in_aggregator = NULL;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1416  				ad_port->actor_port_aggregator_identifier = 0;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1417  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1418  				slave_dbg(bond->dev, ad_port->slave->dev, "Port %d left LAG %d\n",
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1419  					  ad_port->actor_port_number,
a4aee5c808fc5bf Joe Perches      2009-12-13  1420  					  temp_aggregator->aggregator_identifier);
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1421  				/* if the aggregator is empty, clear its
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1422  				 * parameters, and set it ready to be attached
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1423  				 */
7bfc47532301a84 Bandan Das       2010-10-16  1424  				if (!temp_aggregator->lag_ports)
^1da177e4c3f415 Linus Torvalds   2005-04-16  1425  					ad_clear_agg(temp_aggregator);
^1da177e4c3f415 Linus Torvalds   2005-04-16  1426  				break;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1427  			}
^1da177e4c3f415 Linus Torvalds   2005-04-16  1428  		}
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1429  		if (!curr_port) {
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1430  			/* meaning: the ad_port was related to an aggregator
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1431  			 * but was not on the aggregator ad_port list
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1432  			 */
17720981964ac5d Jarod Wilson     2019-06-07  1433  			net_warn_ratelimited("%s: (slave %s): Warning: Port %d was related to aggregator %d but was not on its port list\n",
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1434  					     ad_port->slave->bond->dev->name,
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1435  					     ad_port->slave->dev->name,
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1436  					     ad_port->actor_port_number,
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1437  					     ad_port->aggregator->aggregator_identifier);
^1da177e4c3f415 Linus Torvalds   2005-04-16  1438  		}
^1da177e4c3f415 Linus Torvalds   2005-04-16  1439  	}
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1440  	/* search all aggregators for a suitable aggregator for this ad_port */
3e36bb75ce32d0c Veaceslav Falico 2013-09-27  1441  	bond_for_each_slave(bond, slave, iter) {
3fdddd859af2351 dingtianhong     2014-05-12  1442  		aggregator = &(SLAVE_AD_INFO(slave)->aggregator);
^1da177e4c3f415 Linus Torvalds   2005-04-16  1443  
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1444  		/* keep a free aggregator for later use(if needed) */
^1da177e4c3f415 Linus Torvalds   2005-04-16  1445  		if (!aggregator->lag_ports) {
7bfc47532301a84 Bandan Das       2010-10-16  1446  			if (!free_aggregator)
^1da177e4c3f415 Linus Torvalds   2005-04-16  1447  				free_aggregator = aggregator;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1448  			continue;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1449  		}
815117adaf5b871 dingtianhong     2014-01-02  1450  		/* check if current aggregator suits us */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1451  		if (((aggregator->actor_oper_aggregator_key == ad_port->actor_oper_port_key) && /* if all parameters match AND */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1452  		     MAC_ADDRESS_EQUAL(&(aggregator->partner_system), &(ad_port->partner_oper.system)) &&
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1453  		     (aggregator->partner_system_priority == ad_port->partner_oper.system_priority) &&
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1454  		     (aggregator->partner_oper_aggregator_key == ad_port->partner_oper.key)
^1da177e4c3f415 Linus Torvalds   2005-04-16  1455  		    ) &&
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1456  		    ((!MAC_ADDRESS_EQUAL(&(ad_port->partner_oper.system), &(null_mac_addr)) && /* partner answers */
815117adaf5b871 dingtianhong     2014-01-02  1457  		      !aggregator->is_individual)  /* but is not individual OR */
^1da177e4c3f415 Linus Torvalds   2005-04-16  1458  		    )
^1da177e4c3f415 Linus Torvalds   2005-04-16  1459  		   ) {
815117adaf5b871 dingtianhong     2014-01-02  1460  			/* attach to the founded aggregator */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1461  			ad_port->aggregator = aggregator;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1462  			ad_port->actor_port_aggregator_identifier =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1463  				ad_port->aggregator->aggregator_identifier;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1464  			ad_port->next_port_in_aggregator = aggregator->lag_ports;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1465  			ad_port->aggregator->num_of_ports++;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1466  			aggregator->lag_ports = ad_port;
17720981964ac5d Jarod Wilson     2019-06-07  1467  			slave_dbg(bond->dev, slave->dev, "Port %d joined LAG %d (existing LAG)\n",
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1468  				  ad_port->actor_port_number,
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1469  				  ad_port->aggregator->aggregator_identifier);
^1da177e4c3f415 Linus Torvalds   2005-04-16  1470  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1471  			/* mark this ad_port as selected */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1472  			ad_port->sm_vars |= AD_PORT_SELECTED;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1473  			found = 1;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1474  			break;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1475  		}
^1da177e4c3f415 Linus Torvalds   2005-04-16  1476  	}
^1da177e4c3f415 Linus Torvalds   2005-04-16  1477  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1478  	/* the ad_port couldn't find an aggregator - attach it to a new
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1479  	 * aggregator
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1480  	 */
^1da177e4c3f415 Linus Torvalds   2005-04-16  1481  	if (!found) {
^1da177e4c3f415 Linus Torvalds   2005-04-16  1482  		if (free_aggregator) {
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1483  			/* assign ad_port a new aggregator */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1484  			ad_port->aggregator = free_aggregator;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1485  			ad_port->actor_port_aggregator_identifier =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1486  				ad_port->aggregator->aggregator_identifier;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1487  
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1488  			/* update the new aggregator's parameters
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1489  			 * if ad_port was responsed from the end-user
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1490  			 */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1491  			if (ad_port->actor_oper_port_key & AD_DUPLEX_KEY_MASKS)
7bfc47532301a84 Bandan Das       2010-10-16  1492  				/* if port is full duplex */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1493  				ad_port->aggregator->is_individual = false;
7bfc47532301a84 Bandan Das       2010-10-16  1494  			else
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1495  				ad_port->aggregator->is_individual = true;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1496  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1497  			ad_port->aggregator->actor_admin_aggregator_key =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1498  				ad_port->actor_admin_port_key;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1499  			ad_port->aggregator->actor_oper_aggregator_key =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1500  				ad_port->actor_oper_port_key;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1501  			ad_port->aggregator->partner_system =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1502  				ad_port->partner_oper.system;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1503  			ad_port->aggregator->partner_system_priority =
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1504  				ad_port->partner_oper.system_priority;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1505  			ad_port->aggregator->partner_oper_aggregator_key = ad_port->partner_oper.key;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1506  			ad_port->aggregator->receive_state = 1;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1507  			ad_port->aggregator->transmit_state = 1;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1508  			ad_port->aggregator->lag_ports = ad_port;
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1509  			ad_port->aggregator->num_of_ports++;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1510  
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1511  			/* mark this port as selected */
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1512  			ad_port->sm_vars |= AD_PORT_SELECTED;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1513  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1514  			slave_dbg(bond->dev, ad_port->slave->dev, "Port %d joined LAG %d (new LAG)\n",
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1515  				  ad_port->actor_port_number,
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1516  				  ad_port->aggregator->aggregator_identifier);
^1da177e4c3f415 Linus Torvalds   2005-04-16  1517  		} else {
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1518  			slave_err(bond->dev, ad_port->slave->dev,
17720981964ac5d Jarod Wilson     2019-06-07  1519  				  "Port %d did not find a suitable aggregator\n",
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1520  				  ad_port->actor_port_number);
^1da177e4c3f415 Linus Torvalds   2005-04-16  1521  		}
^1da177e4c3f415 Linus Torvalds   2005-04-16  1522  	}
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1523  	/* if all aggregator's ad_ports are READY_N == TRUE, set ready=TRUE
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1524  	 * in all aggregator's ad_ports, else set ready=FALSE in all
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1525  	 * aggregator's ad_ports
3bf2d28a2d7112b Veaceslav Falico 2014-01-08  1526  	 */
d0e49c30a3c75ad Jarod Wilson     2020-10-02 @1527  	__set_agg_ports_ready(ad_port->aggregator,
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1528  			      __agg_ports_are_ready(ad_port->aggregator));
^1da177e4c3f415 Linus Torvalds   2005-04-16  1529  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1530  	aggregator = __get_first_agg(ad_port);
ee6377147409a00 Mahesh Bandewar  2014-10-04  1531  	ad_agg_selection_logic(aggregator, update_slave_arr);
63b46242f707849 Wilson Kok       2015-01-26  1532  
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1533  	if (!ad_port->aggregator->is_active)
d0e49c30a3c75ad Jarod Wilson     2020-10-02  1534  		ad_port->actor_oper_port_state &= ~LACP_STATE_SYNCHRONIZATION;
^1da177e4c3f415 Linus Torvalds   2005-04-16  1535  }
fd989c83325cb34 Jay Vosburgh     2008-11-04  1536  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30590 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-10-05 17:36 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-02 17:39 [PATCH net-next v2 0/6] bonding: rename bond components Jarod Wilson
2020-10-02 17:39 ` [PATCH net-next v2 1/6] bonding: rename 802.3ad's struct port to ad_port Jarod Wilson
2020-10-02 17:39 ` [PATCH net-next v2 2/6] bonding: replace use of the term master where possible Jarod Wilson
2020-10-02 17:39 ` [PATCH net-next v2 3/6] bonding: rename slave to port " Jarod Wilson
2020-10-02 20:20   ` Miguel Ojeda
2020-10-02 17:39 ` [PATCH net-next v2 4/6] bonding: rename bonding_sysfs_slave.c to _port.c Jarod Wilson
2020-10-02 17:40 ` [PATCH net-next v2 5/6] bonding: update Documentation for port/bond terminology Jarod Wilson
2020-10-02 18:09   ` Andrew Lunn
2020-10-02 20:17     ` Jarod Wilson
2020-10-02 20:43       ` Andrew Lunn
2020-10-02 19:10   ` Stephen Hemminger
2020-10-02 20:12     ` Jarod Wilson
2020-10-02 22:55       ` David Miller
2020-10-03 19:44         ` Jarod Wilson
2020-10-02 17:40 ` [PATCH net-next v2 6/6] bonding: make Kconfig toggle to disable legacy interfaces Jarod Wilson
2020-10-02 19:13   ` Stephen Hemminger
2020-10-02 20:23     ` Jarod Wilson
2020-10-02 22:42       ` Stephen Hemminger
2020-10-03 19:50         ` Jarod Wilson
2020-10-02 22:57       ` David Miller
2020-10-03 19:48         ` Jarod Wilson
2020-10-05 17:36           ` Jay Vosburgh
2020-10-02 22:53     ` David Miller
2020-10-03  6:01 [PATCH net-next v2 1/6] bonding: rename 802.3ad's struct port to ad_port kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.