Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1488430pxk; Fri, 2 Oct 2020 10:42:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUGFLvnUev+J7EC29kV9XCU/vgJuEnODhxvqR9c3kuD8AMPvdmpeZinlep6OlgCbEkCWIH X-Received: by 2002:a17:906:8246:: with SMTP id f6mr3271267ejx.296.1601660541586; Fri, 02 Oct 2020 10:42:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601660541; cv=none; d=google.com; s=arc-20160816; b=l1v6m3ovoknaEurQRdYljm4dKi6bjaaBoPdKpQZUOMntlwpAmHXF0pi273iqdbX0FD GV9WJTcRvAyFTboZStnb2zt02Tk4/epHp3vylTo5aalxIY+GA4wa28o8+jIBZhK5avhq pMncbjd1EEYBb8X4Npu1E0E7NE2CA0FaEWMxY+md4FIf2+OJpVUkaPWcNPYa6AknvUPX WmxV0TudD0SluOCmKGaIIlXnRpk3LCi2pmh3TO0ShftyBBMPwVTjbjs8oAYHYjKVLEZ1 YIIsxl0n9TGE+GxJ5uQ5lDIbj+JntD77nbMHzCpBcrOih/p46RUJUZKd5dkMfTnRuDC6 EikQ== 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=RtXH0OcyQAkcz+LrpjE+jUzr0vxjdhPEUONl6mC7nc0=; b=1DKXSCK0xFEgULIpe1jEDLwJdd8ASuTBaGFmcyijKvQ9wBlovMuzL3hEXgzQ4Rt4cZ blfIw39j/RBro+5jhrXVb1bh6VBvstBKeVNZdVjHIfzMOKZcatzWObNMiI/xEKhe7rVh JbC7zC2vwGPJH8hxcRhGFpSGdkmch0mJNgye7JLJujW2msMdeOM6bnyYelKa0ByOpWT0 KOyb8SRXToAoytmvhC4iz3zpcFTAtvOtoF5fvQ+zi2O/w5j6fw/64pWi8oq9FtvlBY16 yraCkr/TO8uWAr0lxGwsrkhpLZMP20DEpr6EYph+RyroFrvqD90VFiA1+4M8nMcRJTeu 5kxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=L1qWSn1Q; 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 p21si1535153ejo.182.2020.10.02.10.41.58; Fri, 02 Oct 2020 10:42:21 -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=L1qWSn1Q; 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 S2388559AbgJBRkY (ORCPT + 99 others); Fri, 2 Oct 2020 13:40:24 -0400 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:42104 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388324AbgJBRkX (ORCPT ); Fri, 2 Oct 2020 13:40:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1601660421; 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=RtXH0OcyQAkcz+LrpjE+jUzr0vxjdhPEUONl6mC7nc0=; b=L1qWSn1Q61kN+rd3dtRgccpTnTmWuP03ClHSOLwm1ZmB2m8h/eTmT0+4/xpJwgEUAotn9W +TMOJJcEuBWEsBD+SussUt1hcfft4W0wU3uNWpW25xaiFNraxA+cgZ+UHdf0xzz0KbKtej lCBkvU1emr7h6NyqZBJBU/sJomtaBuk= 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-16-TcYKqeZ9MMe0t3AY1QC2CQ-1; Fri, 02 Oct 2020 13:40:19 -0400 X-MC-Unique: TcYKqeZ9MMe0t3AY1QC2CQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id ECAB110866A5; Fri, 2 Oct 2020 17:40:17 +0000 (UTC) Received: from hpe-dl360pgen9-01.klab.eng.bos.redhat.com (hpe-dl360pgen9-01.klab.eng.bos.redhat.com [10.16.160.31]) by smtp.corp.redhat.com (Postfix) with ESMTP id B488A1002C0D; Fri, 2 Oct 2020 17:40:10 +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 v2 0/6] bonding: rename bond components Date: Fri, 2 Oct 2020 13:39:55 -0400 Message-Id: <20201002174001.3012643-1-jarod@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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 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 Cc: Veaceslav Falico Cc: Andy Gospodarek Cc: "David S. Miller" Cc: Jakub Kicinski Cc: Thomas Davis 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