Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3939927pxk; Tue, 22 Sep 2020 06:39:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaQnrq3F7W5t4kwVjiZGk5uPI5a6nFJjxU6OTcOUHVcTWiNi5f8Z0JFL9e9dAi7rjWCUbX X-Received: by 2002:a17:906:b146:: with SMTP id bt6mr4839687ejb.287.1600781987393; Tue, 22 Sep 2020 06:39:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600781987; cv=none; d=google.com; s=arc-20160816; b=sATbpvLo11XGasQWDi2fGF1f7LXx5MW9akCLVQbwTGwHBUcchenZu/L3k0Qc8xWZyu ky+24LBbxYwGcUCBXQ0ZYQ+bAQ6FlR11izzzMqTxoFgXj/d7j5xZoHgVpRXjvI1j8N0W N9RCzvtel0zmUEDnL29vwt7xX+knvyAIv30RdBldws9nhMGeQBR19vnmJv4OThj26i1Q 5zlzjqe0WQ87JgMwnsFqr5CThVlv2ea9oPIsVHqcLDenYc9MS8TZF6UvTNShH84G3G6r 6410hT7PIgzKhjLCoG7+WW+9Oq1NWEJgKt0VmgSXUpHNKjiBaslL713Qy9x8AeNS+kLX JbQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=gEQtsye1N5ZeSvXJeI4NA1lJbrYHXyarmLcoIWvJxgc=; b=Al2knCo2gqCKwQHmvjtgvf2mx3OU7Qkpi+3AiY0Fl8Pbm+C+Z9M0epMp8gPZ4r2Ev4 9gFMvIvNUL4263locgRDqNO5Q2a7swrj3XcsAQeDnAIPJOCjFfQUOSxSlhk2dpmlJaim NUADLt30ADnvbyExw4pgp3iDQOIfdeNr13CeKKIa8uqDw7v+TlbfZ1Ji5h1P3LgftJ2G kMHnU2BtnNN9EMiESAJsl5AL1wnBfpYAxyin5TyfSEu6BpwTtpqC5M0ziq/GLnqCIlxf KsVE88t16UHFsrWKCEYiX/bQDtBmvmZW62K7pA8rb6585Kt/IFzSTjI9fTP2aL86UBGy UIdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=e+Ygm7PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b1si10767498ejg.435.2020.09.22.06.39.23; Tue, 22 Sep 2020 06:39:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=e+Ygm7PC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726607AbgIVNiU (ORCPT + 99 others); Tue, 22 Sep 2020 09:38:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:25491 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726473AbgIVNiU (ORCPT ); Tue, 22 Sep 2020 09:38:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1600781898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=gEQtsye1N5ZeSvXJeI4NA1lJbrYHXyarmLcoIWvJxgc=; b=e+Ygm7PCqnjssgXxB1gFrziaFR62OkqsSfC4hhXJUKJkDS3OG+WBfU7EBoNMJhGXzgyETQ 6BiZeMyymGO/bt4nImws+229PUMt3JdzFhfEt93COJkn4YbtQY9hFswTHlxvUJZZ9K575S cbL+siUa8rflFqUUOLO4tfdwFg1HmJ4= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-393-SQsjlqhENvyST-45EM32Zw-1; Tue, 22 Sep 2020 09:38:16 -0400 X-MC-Unique: SQsjlqhENvyST-45EM32Zw-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 268F41084D9C; Tue, 22 Sep 2020 13:38:05 +0000 (UTC) Received: from hp-dl360pgen8-07.khw2.lab.eng.bos.redhat.com (hp-dl360pgen8-07.khw2.lab.eng.bos.redhat.com [10.16.210.135]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3D9C978822; Tue, 22 Sep 2020 13:38:04 +0000 (UTC) From: Jarod Wilson To: linux-kernel@vger.kernel.org Cc: Jarod Wilson , Jay Vosburgh , Veaceslav Falico , Andy Gospodarek , "David S. Miller" , Jakub Kicinski , Thomas Davis , netdev@vger.kernel.org Subject: [PATCH net-next 0/5] bonding: rename bond components Date: Tue, 22 Sep 2020 09:37:26 -0400 Message-Id: <20200922133731.33478-1-jarod@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 aggregator to replace master and link to replace slave, as the bonding driver itself is a link aggregation driver. There are a few problems with this change. First up, "link" is used for link state already in the bonding driver, so the first step here is to rename link to link_state. Second, aggregator is already used in the 802.3ad code, but I feel the usage is actually consistent with referring to the bonding aggregation virtual device as the aggregator. Third, we have the issue of not wanting to break any existing userspace, which I believe this patchset accomplishes, while also adding alternative interfaces using new terminology, and 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. Jarod Wilson (5): bonding: rename struct slave member link to link_state bonding: rename slave to link where possible bonding: rename master to aggregator where possible bonding: make Kconfig toggle to disable legacy interfaces bonding: update Documentation for link/aggregator terminology Cc: Jay Vosburgh Cc: Veaceslav Falico Cc: Andy Gospodarek Cc: "David S. Miller" Cc: Jakub Kicinski Cc: Thomas Davis Cc: netdev@vger.kernel.org .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 | 604 ++--- drivers/net/bonding/bond_alb.c | 687 ++--- drivers/net/bonding/bond_debugfs.c | 2 +- drivers/net/bonding/bond_main.c | 2336 +++++++++-------- drivers/net/bonding/bond_netlink.c | 104 +- drivers/net/bonding/bond_options.c | 258 +- drivers/net/bonding/bond_procfs.c | 63 +- drivers/net/bonding/bond_sysfs.c | 249 +- drivers/net/bonding/bond_sysfs_link.c | 193 ++ drivers/net/bonding/bond_sysfs_slave.c | 176 -- .../ethernet/chelsio/cxgb3/cxgb3_offload.c | 2 +- .../net/ethernet/mellanox/mlx4/en_netdev.c | 4 +- .../ethernet/mellanox/mlx5/core/en/rep/bond.c | 2 +- .../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 | 20 +- include/net/bond_3ad.h | 20 +- include/net/bond_alb.h | 31 +- include/net/bond_options.h | 19 +- include/net/bonding.h | 351 +-- include/net/lag.h | 2 +- 30 files changed, 2902 insertions(+), 2711 deletions(-) create mode 100644 drivers/net/bonding/bond_sysfs_link.c delete mode 100644 drivers/net/bonding/bond_sysfs_slave.c -- 2.27.0