From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84EE8C433E1 for ; Tue, 14 Jul 2020 00:55:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 65B0620C56 for ; Tue, 14 Jul 2020 00:55:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727101AbgGNAzV (ORCPT ); Mon, 13 Jul 2020 20:55:21 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:43242 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726347AbgGNAzV (ORCPT ); Mon, 13 Jul 2020 20:55:21 -0400 Received: from 1.general.jvosburgh.us.vpn ([10.172.68.206] helo=famine.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jv9E4-0005Fb-W2; Tue, 14 Jul 2020 00:55:17 +0000 Received: by famine.localdomain (Postfix, from userid 1000) id 460C95FEE7; Mon, 13 Jul 2020 17:55:15 -0700 (PDT) Received: from famine (localhost [127.0.0.1]) by famine.localdomain (Postfix) with ESMTP id 3E9909FB79; Mon, 13 Jul 2020 17:55:15 -0700 (PDT) From: Jay Vosburgh To: Stephen Hemminger cc: Michal Kubecek , netdev@vger.kernel.org, Jarod Wilson Subject: Re: [RFC] bonding driver terminology change proposal In-reply-to: <20200713154118.3a1edd66@hermes.lan> References: <20200713220016.xy4n7c5uu3xs6dyk@lion.mk-sys.cz> <20200713154118.3a1edd66@hermes.lan> Comments: In-reply-to Stephen Hemminger message dated "Mon, 13 Jul 2020 15:41:18 -0700." X-Mailer: MH-E 8.6+git; nmh 1.6; GNU Emacs 27.0.50 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <24040.1594688115.1@famine> Date: Mon, 13 Jul 2020 17:55:15 -0700 Message-ID: <24041.1594688115@famine> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Stephen Hemminger wrote: >On Tue, 14 Jul 2020 00:00:16 +0200 >Michal Kubecek wrote: > >> On Mon, Jul 13, 2020 at 02:51:39PM -0400, Jarod Wilson wrote: >> > To start out with, I'd like to attempt to eliminate as much of the use >> > of master and slave in the bonding driver as possible. For the most >> > part, I think this can be done without breaking UAPI, but may require >> > changes to anything accessing bond info via proc or sysfs. >> >> Could we, please, avoid breaking existing userspace tools and scripts? >> Massive code churn is one thing and we could certainly bite the bullet >> and live with it (even if I'm still not convinced it would be as great >> idea as some present it) but trading theoretical offense for real and >> palpable harm to existing users is something completely different. >> >> Or is "don't break userspace" no longer the "first commandment" of linux >> kernel development? >> >> Michal Kubecek > >Please consider using same wording as current standard for link aggregration. >Current version is 802.1AX and it uses the terms: > Multiplexer / Aggregator Well, 802.1AX only defines LACP, and the bonding driver does more than just LACP. Also, Multiplexer, in 802.1AX, is a function of various components, e.g., each Aggregator has a Multiplexer, as do other components. As "channel bonding" is a long-established term of art, I don't see an issue with something like "bond" and "port," which parallels the bridge / port terminology. [...] >As far as userspace, maybe keep the old API's but provide deprecation nags. >And don't document the old API values. Unless the community stance on not breaking user space has changed, the extant APIs must be maintained. In the context of bonding, this would include "ip link" command line arguments, sysfs and procsfs interfaces, as well as netlink attribute names. There are also exported kernel APIs that bonding utilizes, netdev_master_upper_dev_link, et al. Additionally, just to be absolutely clear, is the proposal here intending to undertake a rather significant search and replace of the text strings "master" and "slave" within the bonding driver source? This in addition to whatever API changes end up being done. If so, then I would also like to know the answer to Andrew's question regarding patch conflicts in order to gauge the future maintenance cost. -J --- -Jay Vosburgh, jay.vosburgh@canonical.com