From patchwork Tue Apr 2 08:15:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074052 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="bO+o/Dki"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTM1M0Wz9sTQ for ; Tue, 2 Apr 2019 19:15:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729364AbfDBIPR (ORCPT ); Tue, 2 Apr 2019 04:15:17 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:51578 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726558AbfDBIPQ (ORCPT ); Tue, 2 Apr 2019 04:15:16 -0400 Received: by mail-wm1-f67.google.com with SMTP id 4so2321816wmf.1 for ; Tue, 02 Apr 2019 01:15:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DhSP59pWDoC1yjyPbAzweWqeQwCZKs/4xdnKnboqXUc=; b=bO+o/Dki5I7hmHoSsNucENP+IWbf5U9NKs5YPiwxmNIJ2ptW26ezbhNwmjWlUdDqvJ zUnmHgFJUYDKN2ZJqRllMR5BnjZjMaTG9qnuD90KudzcncNxFXPYf1I5awnrx5LhMWtG MC4G4esggN3+PxkwP86FIbkjIDv46e+SbyZoOq/FZbtadZQQM5ZAm0g5l8Aa0zjrVgFN C33lPMWXomv5f+cq+ehh++eM+wLO9YPnKtFyXr7D+tZZsi7rXZaXO1BQqFSd0fwW17oS XZIZ2q2ZQhfN0e6q6XFe6YHaOeHeZ+vjptP6D0bb9nhpch9iWrKtbYf6UYnCJQywDdn2 rJhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=DhSP59pWDoC1yjyPbAzweWqeQwCZKs/4xdnKnboqXUc=; b=JMXGwZaIZs9JD9zYbuvPgXvD5J74tEDT2w6RTq1cAB54RbKUemCPnOJR+klTHFSPBb KGeluM1trNgouILvJ2Gr0fd8IFZEYzrG60clbhWTO+SJ9wb1IXOqG37IweWCzEYrEr97 7HgT4IaeUGM8k+1fIieayWnmt9cg0EDKfJjeC7yQU/mxPPkNLP0GwK0OVhVFyd98Jeqi cid9G1xq9Hg3t6hHS9cdrZQiKK+zC2QPo63ReCmvsMYzly5DoczJu8Zn2eZ//yUPMX7U RnwjhzgJoTppRO0amrnI0jdivKcsjOMNLLUSeU4EDACm5E/t/askLD3uzYrFUTv1Uf+d wTlQ== X-Gm-Message-State: APjAAAU65YH4E/fDdFigMVsDjn/8ljvVkDOvYYJvk8bzXlKbJzR9GlUm Vmb3E7jvFpeIDv/ZrD37nkf8bDVg+/8= X-Google-Smtp-Source: APXvYqznMn6PISnUFp7xqXhWkTF8WL5qqweMyhwAYXE9Ofsh0w9fVTGYLo3+m950y0mSiqEznOCrNw== X-Received: by 2002:a7b:c446:: with SMTP id l6mr2747765wmi.80.1554192914613; Tue, 02 Apr 2019 01:15:14 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id g10sm9028304wrq.2.2019.04.02.01.15.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:14 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 01/12] net: devlink: convert devlink_port_attrs bools to bits Date: Tue, 2 Apr 2019 10:15:01 +0200 Message-Id: <20190402081512.2988-2-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko In order to save space in the struct, convert bools to bits. Signed-off-by: Jiri Pirko Reviewed-by: Florian Fainelli Reviewed-by: Jakub Kicinski --- include/net/devlink.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/net/devlink.h b/include/net/devlink.h index 31d5cec4d06b..4a1e3452a4ce 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -41,10 +41,10 @@ struct devlink { }; struct devlink_port_attrs { - bool set; + u8 set:1, + split:1; enum devlink_port_flavour flavour; u32 port_number; /* same value as "split group" */ - bool split; u32 split_subport_number; }; From patchwork Tue Apr 2 08:15:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074053 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="WMdMicUq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTM5V2kz9sNr for ; Tue, 2 Apr 2019 19:15:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729414AbfDBIPS (ORCPT ); Tue, 2 Apr 2019 04:15:18 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38954 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbfDBIPR (ORCPT ); Tue, 2 Apr 2019 04:15:17 -0400 Received: by mail-wr1-f66.google.com with SMTP id j9so15379978wrn.6 for ; Tue, 02 Apr 2019 01:15:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=FrFpn5dY3vT0PiiBmI4cQAIsGGs/hRxLvDFF2I8TpJg=; b=WMdMicUqc/MOK+MAyZEc1jDPteqVj8ZKQmJmCcOd9iOyG+SSGqigX9HiOnO9jjKqBj CazyQWvKvUgestN2dj7pKETGB9ZF7DV+VZVReg1m67pMqhlPm/RgPBtlq0i1b6YaH35f 8hLClRRATCs9qMGoWIz1E2+avFEONYcU2PQaZgiRNSssO05FpPNxRk+ODSmgeOsxMRvN G+prOUxxI03CSRIoVtXTBdGwX3BF48Bjf60Ohc027rNWxn6R83nHU9+MvICcnl370o2c WACY3WyoAl9n3SQ3C4BHbTCbseV8PY7JN5qXy3ZnqBub7Ca0OrRHM2Dh7p+cQjrIiMYG gaSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=FrFpn5dY3vT0PiiBmI4cQAIsGGs/hRxLvDFF2I8TpJg=; b=pXQXmHPfbDuhQT/BsIadEZNAWisPe+adE7Mhk0UjY1qi8BH3rXjHeZVvxh446PVAuq h0GPqXPpYTcqi46kREYzFByjis0VmO/mUbvwYum8dOwNUaKoYvwiD5NEFOu7ITVsyuCC rcC3ulMf0g36H9j2P4k7CSLumrEZvYo8ylo/O5YdlWHvIrO/sz8zrv9SO0RolkQAEtyx L1435a2xuH2xPhr+Upd4fPTWyJzhBMv6thYbBBparOC3n7DeWdzR52WkwbWfxV7EQMbE Sy5EemOVYYCAlNOFxJ4CWbd3HxWSdhzVPNF0di1L7Ujz1G2YUeBBbhfJPvsG6s4Xa4xL fElw== X-Gm-Message-State: APjAAAXTXboGue44S+Nq1Dt0EALfb9v4PItQmosTHm6/ErHgYRcMDE7w 2dmaD5zc3Ip1MbYREogpsq3FpUflvPM= X-Google-Smtp-Source: APXvYqza9QWosGrhmUu8UaoqEIzQ/qSEPUs/vo//k3Td6kZ1jLCTtVBz+htn3YtsXknIS8eGmWzeHQ== X-Received: by 2002:a5d:6681:: with SMTP id l1mr12625035wru.186.1554192915605; Tue, 02 Apr 2019 01:15:15 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id 11sm1871544wmk.17.2019.04.02.01.15.15 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:15 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 02/12] net: devlink: extend port attrs for switch ID Date: Tue, 2 Apr 2019 10:15:02 +0200 Message-Id: <20190402081512.2988-3-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Extend devlink_port_attrs_set() to pass switch ID for ports which are part of switch and store it in port attrs. For other ports, this is NULL. Note that this allows the driver to group devlink ports into one or more switches according to the actual topology. Signed-off-by: Jiri Pirko --- v1->v2: - removed bits exposing switch_id to userspace rfc->v1: - included bnxt bits - rebased --- .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 2 +- drivers/net/ethernet/mellanox/mlxsw/core.c | 3 ++- drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 2 +- include/net/devlink.h | 8 ++++++-- net/core/devlink.c | 16 +++++++++++++++- net/dsa/dsa2.c | 2 +- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index ab6fd05c462b..36ec4cb45276 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -230,7 +230,7 @@ int bnxt_dl_register(struct bnxt *bp) } devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, - bp->pf.port_id, false, 0); + bp->pf.port_id, false, 0, NULL, 0); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); if (rc) { netdev_err(bp->dev, "devlink_port_register failed"); diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c index e55b4aa91e3b..d01bd9d71b90 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -1730,7 +1730,8 @@ int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core_port->local_port = local_port; devlink_port_attrs_set(devlink_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, - port_number, split, split_port_subnumber); + port_number, split, split_port_subnumber, + NULL, 0); err = devlink_port_register(devlink, devlink_port, local_port); if (err) memset(mlxsw_core_port, 0, sizeof(*mlxsw_core_port)); diff --git a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c index 919da0d84fb4..15c4d2e0c86e 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c @@ -364,7 +364,7 @@ int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port) devlink_port_attrs_set(&port->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, eth_port.label_port, eth_port.is_split, - eth_port.label_subport); + eth_port.label_subport, NULL, 0); devlink = priv_to_devlink(app->pf); diff --git a/include/net/devlink.h b/include/net/devlink.h index 4a1e3452a4ce..0f7968761204 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -42,10 +42,12 @@ struct devlink { struct devlink_port_attrs { u8 set:1, - split:1; + split:1, + switch_port:1; enum devlink_port_flavour flavour; u32 port_number; /* same value as "split group" */ u32 split_subport_number; + struct netdev_phys_item_id switch_id; }; struct devlink_port { @@ -582,7 +584,9 @@ void devlink_port_type_clear(struct devlink_port *devlink_port); void devlink_port_attrs_set(struct devlink_port *devlink_port, enum devlink_port_flavour flavour, u32 port_number, bool split, - u32 split_subport_number); + u32 split_subport_number, + const unsigned char *switch_id, + unsigned char switch_id_len); int devlink_sb_register(struct devlink *devlink, unsigned int sb_index, u32 size, u16 ingress_pools_count, u16 egress_pools_count, u16 ingress_tc_count, diff --git a/net/core/devlink.c b/net/core/devlink.c index dc3a99148ee7..5b2eb186bb92 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5414,11 +5414,16 @@ EXPORT_SYMBOL_GPL(devlink_port_type_clear); * @split: indicates if this is split port * @split_subport_number: if the port is split, this is the number * of subport. + * @switch_id: if the port is part of switch, this is buffer with ID, + * otwerwise this is NULL + * @switch_id_len: length of the switch_id buffer */ void devlink_port_attrs_set(struct devlink_port *devlink_port, enum devlink_port_flavour flavour, u32 port_number, bool split, - u32 split_subport_number) + u32 split_subport_number, + const unsigned char *switch_id, + unsigned char switch_id_len) { struct devlink_port_attrs *attrs = &devlink_port->attrs; @@ -5429,6 +5434,15 @@ void devlink_port_attrs_set(struct devlink_port *devlink_port, attrs->port_number = port_number; attrs->split = split; attrs->split_subport_number = split_subport_number; + if (switch_id) { + attrs->switch_port = true; + if (WARN_ON(switch_id_len > MAX_PHYS_ITEM_ID_LEN)) + switch_id_len = MAX_PHYS_ITEM_ID_LEN; + memcpy(attrs->switch_id.id, switch_id, switch_id_len); + attrs->switch_id.id_len = switch_id_len; + } else { + attrs->switch_port = false; + } } EXPORT_SYMBOL_GPL(devlink_port_attrs_set); diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index fe0a6197db9c..514be0583642 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -285,7 +285,7 @@ static int dsa_port_setup(struct dsa_port *dp) * independent from front panel port numbers. */ devlink_port_attrs_set(&dp->devlink_port, flavour, - dp->index, false, 0); + dp->index, false, 0, NULL, 0); err = devlink_port_register(ds->devlink, &dp->devlink_port, dp->index); if (err) From patchwork Tue Apr 2 08:15:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074061 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="CrQ3rkfe"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTh5zfQz9sNr for ; Tue, 2 Apr 2019 19:15:36 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729448AbfDBIPX (ORCPT ); Tue, 2 Apr 2019 04:15:23 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:44763 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729360AbfDBIPS (ORCPT ); Tue, 2 Apr 2019 04:15:18 -0400 Received: by mail-wr1-f65.google.com with SMTP id y7so15339236wrn.11 for ; Tue, 02 Apr 2019 01:15:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=9TxJ06QS0iGeyrthSIcxf0qMs04fDS40l2/vwEuOnLQ=; b=CrQ3rkfemGDRzBe595nwo47vto8k5WVdcEFQ/Hw39NxIDGzrDekP0Avrr3h2d9Poxm eaNDE0rFbT6kcj8SAr7jyG3s3XrZI4de7G1T8l3qzPAGgdoDdpuGOQrMDYAKQXCbQLp0 oYnNN+XWkJT9FVroczsf5UQkvhRNvXVmxtDMWdVaesnFd6V0fnxLM8PPBEx2mujIpGN6 oJ3+qdVLM9sXVhaa1RzbwK1gcBNyKa/JW18dKz8iqnz49msHGoX7h98oLGyMTG6Xzkzh SguKjg0ELUhdmcwZuq5rZ7ilKqsDSFUGDrdR+jeLmXA1bvdAAJkA5h152wW3OqAcSTQ+ mVxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=9TxJ06QS0iGeyrthSIcxf0qMs04fDS40l2/vwEuOnLQ=; b=mBTHplgu1O7/kDHD0f8n8WGq2a+Dx2f5rsFwK+NHg/kmgIBySzQe9soADRGsK5AwLq vjXhW0GqOc3jB2W3/99Yih6pVuAJ5xs2/EndPvKmSIJXDqdLONrA/j2IcAAHoAhFqVMk OwPEXQUCnOAGkqdfvbzl9gwnIAkudAGn+rkylgVs5SQ3c8gKed4owC7FqZV4+O4rlLuQ YYiD4uK4xB4o5ON3y7GG+gtaCchMu8BZY9ocFiM9p/o//v1OCE9TMkH7I/6q89qa9+8p zdtMkxykwQ9qpMJm3HZIIIRVpJeupb0lvSiqx3KnLgiFh6fCGwyhygHitNZ4d45xxKUd r3yw== X-Gm-Message-State: APjAAAVZ9leJKvb0jKp3hejsudNbItLkcctZUwV6FjSqYAcrIJXYni0S 4FR5r1xabMpz1luzhCMG2zkOAuhgnbE= X-Google-Smtp-Source: APXvYqy6/xmakdoNvEOFW2dpUl6s3caohXozX1o+4p9J1b49pcw5oUWvytQrIXG3PY2Nj9fIYu+xNA== X-Received: by 2002:a5d:53c1:: with SMTP id a1mr36811401wrw.174.1554192916891; Tue, 02 Apr 2019 01:15:16 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id o15sm12329424wrj.59.2019.04.02.01.15.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:16 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 03/12] net: devlink: introduce devlink_compat_switch_id_get() helper Date: Tue, 2 Apr 2019 10:15:03 +0200 Message-Id: <20190402081512.2988-4-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Introduce devlink_compat_switch_id_get() helper which fills up switch_id according to passed netdev pointer. Call it directly from dev_get_port_parent_id() as a fallback when ndo_get_port_parent_id is not defined for given netdev. Signed-off-by: Jiri Pirko --- rfc->v1: - don't take devlink mutexes - rebase --- include/net/devlink.h | 9 +++++++++ net/core/dev.c | 8 ++++++-- net/core/devlink.c | 19 +++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/include/net/devlink.h b/include/net/devlink.h index 0f7968761204..70c7d1ac8344 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -743,6 +743,8 @@ void devlink_compat_running_version(struct net_device *dev, int devlink_compat_flash_update(struct net_device *dev, const char *file_name); int devlink_compat_phys_port_name_get(struct net_device *dev, char *name, size_t len); +int devlink_compat_switch_id_get(struct net_device *dev, + struct netdev_phys_item_id *ppid); #else @@ -764,6 +766,13 @@ devlink_compat_phys_port_name_get(struct net_device *dev, return -EOPNOTSUPP; } +static inline int +devlink_compat_switch_id_get(struct net_device *dev, + struct netdev_phys_item_id *ppid) +{ + return -EOPNOTSUPP; +} + #endif #endif /* _NET_DEVLINK_H_ */ diff --git a/net/core/dev.c b/net/core/dev.c index 9823b7713f79..022dc2d86a5b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -7905,14 +7905,18 @@ int dev_get_port_parent_id(struct net_device *dev, struct netdev_phys_item_id first = { }; struct net_device *lower_dev; struct list_head *iter; - int err = -EOPNOTSUPP; + int err; if (ops->ndo_get_port_parent_id) return ops->ndo_get_port_parent_id(dev, ppid); - if (!recurse) + err = devlink_compat_switch_id_get(dev, ppid); + if (!err || err != -EOPNOTSUPP) return err; + if (!recurse) + return -EOPNOTSUPP; + netdev_for_each_lower_dev(dev, lower_dev, iter) { err = dev_get_port_parent_id(lower_dev, ppid, recurse); if (err) diff --git a/net/core/devlink.c b/net/core/devlink.c index 5b2eb186bb92..d9fbf94ea2a3 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -6508,6 +6508,25 @@ int devlink_compat_phys_port_name_get(struct net_device *dev, return __devlink_port_phys_port_name_get(devlink_port, name, len); } +int devlink_compat_switch_id_get(struct net_device *dev, + struct netdev_phys_item_id *ppid) +{ + struct devlink_port *devlink_port; + + /* RTNL mutex is held here which ensures that devlink_port + * instance cannot disappear in the middle. No need to take + * any devlink lock as only permanent values are accessed. + */ + ASSERT_RTNL(); + devlink_port = netdev_to_devlink_port(dev); + if (!devlink_port || !devlink_port->attrs.switch_port) + return -EOPNOTSUPP; + + memcpy(ppid, &devlink_port->attrs.switch_id, sizeof(*ppid)); + + return 0; +} + static int __init devlink_init(void) { return genl_register_family(&devlink_nl_family); From patchwork Tue Apr 2 08:15:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074054 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="0t46WWO7"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTS1nYXz9sNr for ; Tue, 2 Apr 2019 19:15:24 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729441AbfDBIPW (ORCPT ); Tue, 2 Apr 2019 04:15:22 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:52356 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbfDBIPU (ORCPT ); Tue, 2 Apr 2019 04:15:20 -0400 Received: by mail-wm1-f68.google.com with SMTP id a184so2303437wma.2 for ; Tue, 02 Apr 2019 01:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=TiSktM+BW+9v/Lp0E6R6nKG6XLKQY06eQhUvFP42Szk=; b=0t46WWO79BRPE3b2v7fULRywW7K4h+YC+bHizxf8NzyuUUIpjOX1wIXPnkSWTL9zvZ rbEfjbYeSUSDCtSpMvmb73Vdf3bFoMtIbeYdjsuXxEmQjR35YeIlcsSjBkun4keEIddZ 5Jkv7epZ+2uOOLisrE59NUc044hoBbchAoES6hn1YaxwgdPCWFH/fyZAYBb5+w1JeJy+ yxUvkhi7CV9C82xsk6BWin6logylGlX7qPokHtgIzqz18fl4gNTa2YgF4fttmzgM45a6 HBM7H8QkD4eNyFuv79ZtmdJKh+fuoo9/hBVlu4rf82K/CgF/KUJRAPHHLohBMieK+fHc QGHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=TiSktM+BW+9v/Lp0E6R6nKG6XLKQY06eQhUvFP42Szk=; b=IrFlzFeTyaRCTFJ0x5wCZS/iL4xG6PF5x5+Ram7cyYUY0QYY60pRdpoaxyDsuepmA5 u1SE34G9EpM1vXEZMdDiMYWl2R69yZX0fzaxttKuxyA/Px00zapEjn9TXBuKSCbhetuz k9/4nSJQNYviqWMErDpFUvYCJ5z5mYRFJ1n+d9HwC4gavRK851VQjZKOIgxWiwZcyhXG 6779s9lboEzvtvSBSlI/wP3pcGbHo3R79te/7R3of1cgCQQBk6UftqGKoTW6GRLqyivn Fa4/gd06n1N2WanQsmFwnL/7mzZC07J54gL+hGtTQvhEQTzCZuXBcfgOfQZifKiwjvof RmVw== X-Gm-Message-State: APjAAAUxiVWf8mkisviKawUOaEDXF5Rf9DVCH4LtLkvTFg4hT40DHNjI hJ/S+luBnD3IxvLfgEGlDzaFzY9yyKg= X-Google-Smtp-Source: APXvYqwvgjvRKiRGMFJrDd0fj+grpl9Hn+7rcHiVhxccCOYuli3d5Y4dkDbNZ6QnurI8wz2Hu9fRGQ== X-Received: by 2002:a7b:c309:: with SMTP id k9mr2561416wmj.45.1554192917958; Tue, 02 Apr 2019 01:15:17 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id b204sm23309193wmh.29.2019.04.02.01.15.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:17 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 04/12] mlxsw: Pass switch ID through devlink_port_attrs_set() Date: Tue, 2 Apr 2019 10:15:04 +0200 Message-Id: <20190402081512.2988-5-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Pass the switch ID down the to devlink through devlink_port_attrs_set() so it can be used by devlink_compat_switch_id_get(). Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/core.c | 6 ++++-- drivers/net/ethernet/mellanox/mlxsw/core.h | 4 +++- drivers/net/ethernet/mellanox/mlxsw/minimal.c | 4 +++- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 4 +++- drivers/net/ethernet/mellanox/mlxsw/switchib.c | 2 +- drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 3 ++- 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c index d01bd9d71b90..027e393c7cb2 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -1720,7 +1720,9 @@ EXPORT_SYMBOL(mlxsw_core_res_get); int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, u32 port_number, bool split, - u32 split_port_subnumber) + u32 split_port_subnumber, + const unsigned char *switch_id, + unsigned char switch_id_len) { struct devlink *devlink = priv_to_devlink(mlxsw_core); struct mlxsw_core_port *mlxsw_core_port = @@ -1731,7 +1733,7 @@ int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, mlxsw_core_port->local_port = local_port; devlink_port_attrs_set(devlink_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, port_number, split, split_port_subnumber, - NULL, 0); + switch_id, switch_id_len); err = devlink_port_register(devlink, devlink_port, local_port); if (err) memset(mlxsw_core_port, 0, sizeof(*mlxsw_core_port)); diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.h b/drivers/net/ethernet/mellanox/mlxsw/core.h index e8c424da534c..d51dfc3560b6 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.h +++ b/drivers/net/ethernet/mellanox/mlxsw/core.h @@ -166,7 +166,9 @@ void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core, void *mlxsw_core_port_driver_priv(struct mlxsw_core_port *mlxsw_core_port); int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, u32 port_number, bool split, - u32 split_port_subnumber); + u32 split_port_subnumber, + const unsigned char *switch_id, + unsigned char switch_id_len); void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port); void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, void *port_driver_priv, struct net_device *dev); diff --git a/drivers/net/ethernet/mellanox/mlxsw/minimal.c b/drivers/net/ethernet/mellanox/mlxsw/minimal.c index ec5f5a66b607..bd96211602a4 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/minimal.c +++ b/drivers/net/ethernet/mellanox/mlxsw/minimal.c @@ -151,7 +151,9 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module) int err; err = mlxsw_core_port_init(mlxsw_m->core, local_port, - module + 1, false, 0); + module + 1, false, 0, + mlxsw_m->base_mac, + sizeof(mlxsw_m->base_mac)); if (err) { dev_err(mlxsw_m->bus_info->dev, "Port %d: Failed to init core port\n", local_port); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 8b9a6870dbc2..2dbcc8e5e130 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -3392,7 +3392,9 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, int err; err = mlxsw_core_port_init(mlxsw_sp->core, local_port, - module + 1, split, lane / width); + module + 1, split, lane / width, + mlxsw_sp->base_mac, + sizeof(mlxsw_sp->base_mac)); if (err) { dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to init core port\n", local_port); diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchib.c b/drivers/net/ethernet/mellanox/mlxsw/switchib.c index e1e7e0dd808d..b22caa154310 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/switchib.c +++ b/drivers/net/ethernet/mellanox/mlxsw/switchib.c @@ -268,7 +268,7 @@ static int mlxsw_sib_port_create(struct mlxsw_sib *mlxsw_sib, u8 local_port, int err; err = mlxsw_core_port_init(mlxsw_sib->core, local_port, - module + 1, false, 0); + module + 1, false, 0, NULL, 0); if (err) { dev_err(mlxsw_sib->bus_info->dev, "Port %d: Failed to init core port\n", local_port); diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c index 5312dc1f339b..5397616fcda8 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c +++ b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c @@ -1128,7 +1128,8 @@ static int mlxsw_sx_port_eth_create(struct mlxsw_sx *mlxsw_sx, u8 local_port, int err; err = mlxsw_core_port_init(mlxsw_sx->core, local_port, - module + 1, false, 0); + module + 1, false, 0, + mlxsw_sx->hw_id, sizeof(mlxsw_sx->hw_id)); if (err) { dev_err(mlxsw_sx->bus_info->dev, "Port %d: Failed to init core port\n", local_port); From patchwork Tue Apr 2 08:15:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074062 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="dogU3PAB"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTk6br2z9sNr for ; Tue, 2 Apr 2019 19:15:38 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729429AbfDBIPW (ORCPT ); Tue, 2 Apr 2019 04:15:22 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:33146 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729415AbfDBIPU (ORCPT ); Tue, 2 Apr 2019 04:15:20 -0400 Received: by mail-wr1-f66.google.com with SMTP id q1so15391143wrp.0 for ; Tue, 02 Apr 2019 01:15:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=sSqIibhWIXds/BHTQ7TwLVa3r/CEYLb7uwpEJdTUdmg=; b=dogU3PABkOu8ner6RaVLsIM9hTcXjQeTGqRlrM6bhS6Db+StZ50rmYTkR5NgNjiJHW q2F1KRsGfW/4qltgv1/mBQjPwZUgXUdvMV5jLJ5MZCAwUbklndHPAMulepmQmpc8UQBb OTCgfYOu/ZpRG7kEM/pn6/WaVRZv+W5VLtbZHdZfWtsfeHPZVR87wc6fPLczrZzd2OKx WJQeZ63Zq567CDBi3IBwcVE7+GcpoOrwswVubYb6I9o8RBjHs83UTZ7vTyUnf97tn3aA ZBV5ls746D03zMG6KTX8bk8itgXcLvsQ4CVwNFQ+Fc3RttS6BJxnjqSXtGZnX3Kg39Mq sdZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=sSqIibhWIXds/BHTQ7TwLVa3r/CEYLb7uwpEJdTUdmg=; b=BJ22lVCbi8OZBe6a6eH2RWopghIBGrl8DGt4j+rMvBhHamAyHD2vsPq7Kc1S53UCGV 3nJpoD5OVkFGfMBo/IOC7KmE1UNe3HVyRzI+PIPLcEMDsZIy3SebqmGpYDgnKomZBMBC NX02fbmEDkHROHQ7HH9y2iKsvMDdDhwU6mPDBgrNQhnHlMc007gpWX0vvQiUe1O4wPG8 SMPezi2CPj/xJVK5vP8JJl07ufVOUsAexAgMVLqPgjAi5h7OTPNvVIqpfjPp72PSvczK sou+0a/loGzPVD+pFFt8IMuimkb2ajxp4SdbYqEYizEuh7VXkT+9BvsSG4HozFppUBI6 EIlw== X-Gm-Message-State: APjAAAVuyxqXIL0jX2I/5u3mlNU+Xg81shIQIszPmqta8zHAowinb7ZF UM93AVBTyi82qHqBLqE0dbVAB9BnglQ= X-Google-Smtp-Source: APXvYqxBjSyY5ceJlMEXk5YO7XqlHgu68ZTzGcH01QrtdV42uq65fzh3Di/eDf17JHw8tofZI/zcjg== X-Received: by 2002:a5d:6646:: with SMTP id f6mr10211003wrw.68.1554192918983; Tue, 02 Apr 2019 01:15:18 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id 7sm46261929wrc.81.2019.04.02.01.15.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:18 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 05/12] mlxsw: Remove ndo_get_port_parent_id implementation Date: Tue, 2 Apr 2019 10:15:05 +0200 Message-Id: <20190402081512.2988-6-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Remove implementation of get_port_parent_id ndo and rely on core calling into devlink for the information directly. Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/minimal.c | 13 ------------- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 13 ------------- drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 13 ------------- 3 files changed, 39 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/minimal.c b/drivers/net/ethernet/mellanox/mlxsw/minimal.c index bd96211602a4..cf2114273b72 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/minimal.c +++ b/drivers/net/ethernet/mellanox/mlxsw/minimal.c @@ -51,18 +51,6 @@ static int mlxsw_m_port_dummy_open_stop(struct net_device *dev) return 0; } -static int mlxsw_m_port_get_port_parent_id(struct net_device *dev, - struct netdev_phys_item_id *ppid) -{ - struct mlxsw_m_port *mlxsw_m_port = netdev_priv(dev); - struct mlxsw_m *mlxsw_m = mlxsw_m_port->mlxsw_m; - - ppid->id_len = sizeof(mlxsw_m->base_mac); - memcpy(&ppid->id, &mlxsw_m->base_mac, ppid->id_len); - - return 0; -} - static struct devlink_port * mlxsw_m_port_get_devlink_port(struct net_device *dev) { @@ -76,7 +64,6 @@ mlxsw_m_port_get_devlink_port(struct net_device *dev) static const struct net_device_ops mlxsw_m_port_netdev_ops = { .ndo_open = mlxsw_m_port_dummy_open_stop, .ndo_stop = mlxsw_m_port_dummy_open_stop, - .ndo_get_port_parent_id = mlxsw_m_port_get_port_parent_id, .ndo_get_devlink_port = mlxsw_m_port_get_devlink_port, }; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 2dbcc8e5e130..fc325f1213fb 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -1704,18 +1704,6 @@ static int mlxsw_sp_set_features(struct net_device *dev, mlxsw_sp_feature_hw_tc); } -static int mlxsw_sp_port_get_port_parent_id(struct net_device *dev, - struct netdev_phys_item_id *ppid) -{ - struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev); - struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp; - - ppid->id_len = sizeof(mlxsw_sp->base_mac); - memcpy(&ppid->id, &mlxsw_sp->base_mac, ppid->id_len); - - return 0; -} - static struct devlink_port * mlxsw_sp_port_get_devlink_port(struct net_device *dev) { @@ -1740,7 +1728,6 @@ static const struct net_device_ops mlxsw_sp_port_netdev_ops = { .ndo_vlan_rx_add_vid = mlxsw_sp_port_add_vid, .ndo_vlan_rx_kill_vid = mlxsw_sp_port_kill_vid, .ndo_set_features = mlxsw_sp_set_features, - .ndo_get_port_parent_id = mlxsw_sp_port_get_port_parent_id, .ndo_get_devlink_port = mlxsw_sp_port_get_devlink_port, }; diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c index 5397616fcda8..fc4f19167262 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c +++ b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c @@ -379,18 +379,6 @@ mlxsw_sx_port_get_stats64(struct net_device *dev, stats->tx_dropped = tx_dropped; } -static int mlxsw_sx_port_get_port_parent_id(struct net_device *dev, - struct netdev_phys_item_id *ppid) -{ - struct mlxsw_sx_port *mlxsw_sx_port = netdev_priv(dev); - struct mlxsw_sx *mlxsw_sx = mlxsw_sx_port->mlxsw_sx; - - ppid->id_len = sizeof(mlxsw_sx->hw_id); - memcpy(&ppid->id, &mlxsw_sx->hw_id, ppid->id_len); - - return 0; -} - static struct devlink_port * mlxsw_sx_port_get_devlink_port(struct net_device *dev) { @@ -407,7 +395,6 @@ static const struct net_device_ops mlxsw_sx_port_netdev_ops = { .ndo_start_xmit = mlxsw_sx_port_xmit, .ndo_change_mtu = mlxsw_sx_port_change_mtu, .ndo_get_stats64 = mlxsw_sx_port_get_stats64, - .ndo_get_port_parent_id = mlxsw_sx_port_get_port_parent_id, .ndo_get_devlink_port = mlxsw_sx_port_get_devlink_port, }; From patchwork Tue Apr 2 08:15:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074063 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="wk4lgbvI"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTm3Krzz9sNr for ; Tue, 2 Apr 2019 19:15:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729495AbfDBIPj (ORCPT ); Tue, 2 Apr 2019 04:15:39 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:39138 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729419AbfDBIPV (ORCPT ); Tue, 2 Apr 2019 04:15:21 -0400 Received: by mail-wm1-f65.google.com with SMTP id n25so2464047wmk.4 for ; Tue, 02 Apr 2019 01:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SWlz+oYhXCXTDdJRHA35gKq6IoKuinuJoCMzWsXX1hw=; b=wk4lgbvI3FohQuglxrK8Vzn9fOZy0fPnycIR1Jg2i8Y4njx+Br7LZDaGiGmOaKbzcr rpWmGo9AzU97g80UGfRsFIYCJRs01YKwpF83XGYbHXcgPR/VnCOAq6WmFO7K4GsTYhSr qu8aqzpdkeBXvoDzXbnV/enJ7Evoop7iBp29islo8HJD1sFecc/niC3gsZidEL8Adw+s +7H77NBM8l+Gour3O8uVAuqvj/IL2W3hUeZoKlmSE8UAsun6yweF6icndGoWvoeDNMxo k3yJMo/Mkp/dxlJ3mwknu4nESDxwxjYkNi5Ze7vXCpVBSUuNo6uTT8JsdERm6V+uXfu1 QXMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SWlz+oYhXCXTDdJRHA35gKq6IoKuinuJoCMzWsXX1hw=; b=oGO4GLBtoI5+gMTZBuNU5xfAHzpGh0PD2frrA4ULLMu1uexgc5b65teWqvVE9w6yN5 qlCtBNasH7ivxwLhvFYtXfRMeO2AkXI84WNfzbQRfxIDoV648dabGDRHxLOphAaOLcig /5BWSA5mPkUUo6u+788Sbkkbkv5MrmMyEzOPCJVD03dq1mUJVHgq1NBP22WuyhAorYjj DXw2TBBJpZ+acmRK+P+ZYGuo+aI0J9vICUm6jYx8SnpzkLzFzFwBHPW1b1myDHsZCMcN ufhzdY4zyB2aBm8zQ59ahr9XL7SIlb9MIm0JFvBa5zexdcsEdiAE/+hcMrNOkxu19Qci dsPw== X-Gm-Message-State: APjAAAWwqorUVaiSWePMbBHDgKl1qiWIscSbl+pCNkjm7T6UDgi1Dd7O xxHv1KX0cAyLw0zYPe1bAyD9r2tmI8g= X-Google-Smtp-Source: APXvYqxlwCPYkpK4qhQY/IRVZi5SjNgQymSSdjcYQuGATu6b1f8qUc6Mgcy5C4uYjw8F6fvFgJvlEQ== X-Received: by 2002:a7b:c1cf:: with SMTP id a15mr2510734wmj.44.1554192920050; Tue, 02 Apr 2019 01:15:20 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id y6sm9269242wru.9.2019.04.02.01.15.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:19 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 06/12] bnxt: pass switch ID through devlink_port_attrs_set() Date: Tue, 2 Apr 2019 10:15:06 +0200 Message-Id: <20190402081512.2988-7-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Pass the switch ID down the to devlink through devlink_port_attrs_set() so it can be used by devlink_compat_switch_id_get(). Signed-off-by: Jiri Pirko --- rfc->v1: - new patch --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 36ec4cb45276..549c90d3e465 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -230,7 +230,8 @@ int bnxt_dl_register(struct bnxt *bp) } devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, - bp->pf.port_id, false, 0, NULL, 0); + bp->pf.port_id, false, 0, + bp->switch_id, sizeof(bp->switch_id)); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); if (rc) { netdev_err(bp->dev, "devlink_port_register failed"); From patchwork Tue Apr 2 08:15:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074055 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="BJC9nE3A"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTT6l50z9sNr for ; Tue, 2 Apr 2019 19:15:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729458AbfDBIPY (ORCPT ); Tue, 2 Apr 2019 04:15:24 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:45599 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729425AbfDBIPW (ORCPT ); Tue, 2 Apr 2019 04:15:22 -0400 Received: by mail-wr1-f67.google.com with SMTP id s15so15350776wra.12 for ; Tue, 02 Apr 2019 01:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=e+mBS7ZNDSe1bfwLdhqJsDYwwRwMSDYpFlGW3cdwsug=; b=BJC9nE3Aq2hW3BrrKNgVdQHkT7cQRLQDZuNmSIguqHQq9CBbfMHtB2ff/64gQUGb8m pF2GmxjdP99zMnfANRqU1xMmcxHzFmiGd2m3JtZpxQT1sIbXa12tEBSymGZ36eaBf/HM UYuirrnBxZC90EKi0R4g4r1+/9GfpM/VRC3/BbXmXE+zInZMgR7ZhTaX80B7JLIzqHCO BNa9JN7lnjcOEHp260s8D6LSu6t4KW2XJOfEUW1EQqanok5//qv7t33jrfzE98NcoEr8 Nnl/tedTnwWYHHMl7GkeAgGEfTpJyy+s9scNDEfY+oi4xMGu50YK3BENAg/siyaqdUW3 jGOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=e+mBS7ZNDSe1bfwLdhqJsDYwwRwMSDYpFlGW3cdwsug=; b=Fb4NRMzqNKLHC87rQLIeSD6F6PpNcoIOhTdn/KPof5xP6pOJShD3oUvqpKl3XIYwsD 0Y5z0br89IQjmYg07q05gfcgyrBHrwbxMJP8VQduPmnHl5CwDzjO80xxXtyX8gH2VTPi TtvrdplyR7iJcd6wRbNbAYyB+6J4pmI5YayuoJeR/qiorjda/OnzFGnRFEfTgrFnkWia tf+CaMPDVgvCW64/SCr2LwlQbQgrl2XF7PGPHjyVRftR3Ac36SNnZcEFRiyQuxw2vIlI Msn9mdppntUCtZhMqR00/WyPuPygf20+zjLHzsNpXIDHdvnb1pYZQnq0Woob5NNj0HS2 U0ng== X-Gm-Message-State: APjAAAW2kt5xqu2A048vO1bEirIR9sIQ8TruAtHRhagyWEZyvsVeZwUs GRUIXeevdWnPeUXQu4Kh7kiT3RKZlT4= X-Google-Smtp-Source: APXvYqwqPaxyrdWCb9A1qK8evGex1LrSkwHoYXmDxgP0ciGOWg3v39Wem4kc/afLuZvQOyH277nvIA== X-Received: by 2002:adf:b68d:: with SMTP id j13mr42247411wre.50.1554192921029; Tue, 02 Apr 2019 01:15:21 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id j7sm13889950wrt.96.2019.04.02.01.15.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:20 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 07/12] bnxt: remove ndo_get_port_parent_id implementation for physical ports Date: Tue, 2 Apr 2019 10:15:07 +0200 Message-Id: <20190402081512.2988-8-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Remove implementation of get_port_parent_id ndo and rely on core calling into devlink for the information directly. Signed-off-by: Jiri Pirko --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 35e34e23ba33..9b2adf1c6b2d 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -10104,7 +10104,6 @@ static const struct net_device_ops bnxt_netdev_ops = { .ndo_bpf = bnxt_xdp, .ndo_bridge_getlink = bnxt_bridge_getlink, .ndo_bridge_setlink = bnxt_bridge_setlink, - .ndo_get_port_parent_id = bnxt_get_port_parent_id, .ndo_get_devlink_port = bnxt_get_devlink_port, }; From patchwork Tue Apr 2 08:15:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074056 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="mdDg0QM7"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTW2jJLz9sNr for ; Tue, 2 Apr 2019 19:15:27 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729469AbfDBIP0 (ORCPT ); Tue, 2 Apr 2019 04:15:26 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:54847 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbfDBIPY (ORCPT ); Tue, 2 Apr 2019 04:15:24 -0400 Received: by mail-wm1-f65.google.com with SMTP id c1so2294708wml.4 for ; Tue, 02 Apr 2019 01:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PL8xWrWghmJ7hdeo2zd3WDxcrf2fCcFUEx6mC8bDFs0=; b=mdDg0QM7U4N+EnREblo4pZHkZzVwR/LAOHUxgUj1WzqKdzhQKFxean9h1U6oumoL/T fpITP9yhLQ1gn8vToofaw1gdlb/H3pjJTSBmUp9mOe3VEvt/RK+FTa6pzTGy4xEOLHIa AWaij31dwryG0WNFQl5H8rdihbultrDN9pkhNY+pPrDjuNZUOuAMc13fo2paRlt7lmJO AHPnx4Fu1ij+ULx65H45w8pMZVxI/Uad/Y1CAyToKnUHIEymoIBmOfUrXIC1VdaWXzZB pL4MetI0Fy2lmZv9AksTZSJun7pdKlueDEBu0Vw9UDxP3VJMd+8IZ4ULGibIDBmemJq/ 2lcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PL8xWrWghmJ7hdeo2zd3WDxcrf2fCcFUEx6mC8bDFs0=; b=tY7jWUlk/F0LlKvJZFK76H4FlcGI8oWgO8aqOWJW0OBkhhIlCstrluWjirllmS6ZPF 6F2mffOYQ5nstAoU7A4uZlPz2u9ZDy+O/o5BPnD0rrX8uKsMixkITC7OkOBV1oTlyFcF 2wG1tFI7J1ZEzpx1JyIOG6rIXHvqJTd5fhcdB6a2QlVBPKHWUWgH8QBkVC6VioneRGqB JEpbg2QBfyK57F1JTrTKQt1PbWEzR5AICsII29i/oYWYosaElVkNmGrqEJ7lRskaBslX VS1QNyH4dO5PXRDwxr+E58Z7UowA14mTp4BAfuDfDQlkW2pT+zjwiGiI/bWLUKGOCqjI N8QQ== X-Gm-Message-State: APjAAAXYDGZk1aHyfM7udhb6Gde8gwm8lm7DxvOmLBW6V8AgVwHMVpNd FdDKySJ6FOv34qmp2DpJOZS+jQxNoiU= X-Google-Smtp-Source: APXvYqxOHb0e5aw4LSKK8QkR66myYWGUtgEYJrij//GRfSY/fyUlpz8t6JkfIbnuDUrOLWzyKn9hCQ== X-Received: by 2002:a7b:c848:: with SMTP id c8mr1708575wml.110.1554192922008; Tue, 02 Apr 2019 01:15:22 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id y133sm9946494wmd.2.2019.04.02.01.15.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:21 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 08/12] nfp: pass switch ID through devlink_port_attrs_set() Date: Tue, 2 Apr 2019 10:15:08 +0200 Message-Id: <20190402081512.2988-9-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Pass the switch ID down the to devlink through devlink_port_attrs_set() so it can be used by devlink_compat_switch_id_get(). Signed-off-by: Jiri Pirko Reviewed-by: Jakub Kicinski --- drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c index 15c4d2e0c86e..8e7591241e7c 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c @@ -354,6 +354,8 @@ int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port) { struct nfp_eth_table_port eth_port; struct devlink *devlink; + const u8 *serial; + int serial_len; int ret; rtnl_lock(); @@ -362,9 +364,10 @@ int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port) if (ret) return ret; + serial_len = nfp_cpp_serial(port->app->cpp, &serial); devlink_port_attrs_set(&port->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, eth_port.label_port, eth_port.is_split, - eth_port.label_subport, NULL, 0); + eth_port.label_subport, serial, serial_len); devlink = priv_to_devlink(app->pf); From patchwork Tue Apr 2 08:15:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074059 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="M5d8aJrX"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTd0jh1z9sNr for ; Tue, 2 Apr 2019 19:15:33 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729486AbfDBIPb (ORCPT ); Tue, 2 Apr 2019 04:15:31 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:55793 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729452AbfDBIPY (ORCPT ); Tue, 2 Apr 2019 04:15:24 -0400 Received: by mail-wm1-f68.google.com with SMTP id o25so2286773wmf.5 for ; Tue, 02 Apr 2019 01:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=rC2WyvdSDQhtXYYNkMnKYW8NFH/83eJzq/bDjRDTGok=; b=M5d8aJrXY1S6+78JhhjdFcUDV1m84A3QQiZzkseRzhiwegIllP01wkysUOnhcN6Y6G qZRJ4/pEYykVazLX2/6gvVPIziwSqJ0Nt5U+JhJwtIwXkhi1TFB5gPLC+y2pEZkK/xRM 9UKwFxAcbpaoTDpZbZCqckKq7JaGzQfTtVZhXT4JNHBqNGvQuiMpu/8yRT/J2Z8Dd16x yAe+zUsGR9/wqBlemEJUNBfObftUng6RKSIZxlwTYRZarzmYXCPKTw6bxyEMZEC4pwSo R01GQ6OKQN/m2d12cxJ5yjDE/pW85AH8NQribHj4gH0rXx9mOoxXTPGpdMI6oBRDlX6x WFHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=rC2WyvdSDQhtXYYNkMnKYW8NFH/83eJzq/bDjRDTGok=; b=CCexHBflkJzLNCb6hLGEUaGL9oC2wBpJziNgokJdFizXcmHdce8I0R5IgZTi4AVn+h JPcWd1gBETq4lBi1G6j63WgfnQiUYSshu/5zQJen8PHcjZsVWtyfblwRh//vwax3AduM dxvrHu28Ph4zYyo+e31MDE9l6L++uGbQlklVc1CtHWeu2eswTvtCH/RFGHZ9VbX1pyn/ +OFbo86261dOZfHCoIVsRnpdUECm5pHD+5VSZJ+Q3YMSWf3KXDocl2oPpRYEAAL7IsE7 t0Hh+bTYOWyRYezKSynxu/OwGlDYYcfrJ39rirOKqaoTm3XHLCzn+e6KkFqzW4rXGnsF Ij0w== X-Gm-Message-State: APjAAAVGUW0w68bFCz8WHKeYM4ucaQhOkTZAnrOLLR53stcc6IrbYmIy GEPM/KD4iGq70u1vg4TeX1VkMhw8Eb0= X-Google-Smtp-Source: APXvYqynhzta9hB9k/7Xrbo9iobfRvcx9vcjkp0AFCSGiJcwpnyEG+/UmncdCSVtNfzlb6X1qWsmKg== X-Received: by 2002:a1c:6341:: with SMTP id x62mr2348128wmb.11.1554192923029; Tue, 02 Apr 2019 01:15:23 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id y1sm36666899wrd.34.2019.04.02.01.15.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:22 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 09/12] nfp: remove ndo_get_port_parent_id implementation Date: Tue, 2 Apr 2019 10:15:09 +0200 Message-Id: <20190402081512.2988-10-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Remove implementation of get_port_parent_id ndo and rely on core calling into devlink for the information directly. Signed-off-by: Jiri Pirko Reviewed-by: Jakub Kicinski --- .../net/ethernet/netronome/nfp/nfp_net_common.c | 1 - .../net/ethernet/netronome/nfp/nfp_net_repr.c | 1 - drivers/net/ethernet/netronome/nfp/nfp_port.c | 16 ---------------- 3 files changed, 18 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 99200b5dac76..7abb0005ecea 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -3533,7 +3533,6 @@ const struct net_device_ops nfp_net_netdev_ops = { .ndo_udp_tunnel_add = nfp_net_add_vxlan_port, .ndo_udp_tunnel_del = nfp_net_del_vxlan_port, .ndo_bpf = nfp_net_xdp, - .ndo_get_port_parent_id = nfp_port_get_port_parent_id, .ndo_get_devlink_port = nfp_devlink_get_devlink_port, }; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c index bf621674f583..c3ad083d36c6 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c @@ -272,7 +272,6 @@ const struct net_device_ops nfp_repr_netdev_ops = { .ndo_fix_features = nfp_repr_fix_features, .ndo_set_features = nfp_port_set_features, .ndo_set_mac_address = eth_mac_addr, - .ndo_get_port_parent_id = nfp_port_get_port_parent_id, .ndo_get_devlink_port = nfp_devlink_get_devlink_port, }; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.c b/drivers/net/ethernet/netronome/nfp/nfp_port.c index 93c5bfc0510b..fcd16877e6e0 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_port.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_port.c @@ -30,22 +30,6 @@ struct nfp_port *nfp_port_from_netdev(struct net_device *netdev) return NULL; } -int nfp_port_get_port_parent_id(struct net_device *netdev, - struct netdev_phys_item_id *ppid) -{ - struct nfp_port *port; - const u8 *serial; - - port = nfp_port_from_netdev(netdev); - if (!port) - return -EOPNOTSUPP; - - ppid->id_len = nfp_cpp_serial(port->app->cpp, &serial); - memcpy(&ppid->id, serial, ppid->id_len); - - return 0; -} - int nfp_port_setup_tc(struct net_device *netdev, enum tc_setup_type type, void *type_data) { From patchwork Tue Apr 2 08:15:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074058 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="G7l3xtNX"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTb26yWz9sNr for ; Tue, 2 Apr 2019 19:15:31 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729479AbfDBIP3 (ORCPT ); Tue, 2 Apr 2019 04:15:29 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:37835 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729457AbfDBIPZ (ORCPT ); Tue, 2 Apr 2019 04:15:25 -0400 Received: by mail-wm1-f67.google.com with SMTP id v14so2471442wmf.2 for ; Tue, 02 Apr 2019 01:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HQXILX5r3bov4lrC7Eabg7ZCrXMQiib/RijCjnCaGts=; b=G7l3xtNXzcAQCslv3uXxbi8Sm/j3+OLt6E4wjL4zTM7MpRMnS6Y1g726Ywi5cotbEA ZXpBh7vwyB+IjKfLP6+nGZSQbGbU4KRYsCcu+SG8DVcy7kAo/iXPHm8ykS0PMzJ23nSw VaFfn+dMORYcNZ5454Bn7MGHDCEX3mn7iAfZED73X7hSku1dWJQXRsyTGb/cOsYpILjP +VEQ5aP5j8XUlvygcgWX1H2D9W13ugIJB0VztDOzvASI1eNoAHL+4/1L0sJoHb/3O41C OWJngKDnp4KPrnqSNR0p3lCnKZVbzxbetx9jvCAcrr6UNjXQs73DZ+cbzbx5XSDkfQht kmnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=HQXILX5r3bov4lrC7Eabg7ZCrXMQiib/RijCjnCaGts=; b=CY69g+PkDbS8C7ha914wbwpAZhNWKxOcYJUjB/f2JywBmCzisHL/IsiuFhbO/joSbd 9SEASuzDPo9cyuW2mR333rU6EnQ5NG3rL9jfXbiySRSPTdJdxR44om+W+yC5m/JSFGdT T6ihLNTe4ZXENtTsBrYTllMUDMFGupugeTXp8wYJ+jP7yb8TZsQAE8BBTaGsfs5L40xt kjncpt7Htm1GZKfZk02MUNzq07wX2R157YM7GARvR5WAQh7yY+RCxE05PyzW7r5mkZfT 62B146ZHxzYOXMdfcVN2rvoa8qLy7uHwPiy4yRNJGzhYpavxkN5CMNLKEAqAt+jHHqpJ 4f3A== X-Gm-Message-State: APjAAAXlq/qSEzuoJyA8KVogAXarL9yQXp4caBz6xxj7QkJRIK6jnIF5 6tTEHXXI/Go/6dABxKjnOeCvmqdbZSk= X-Google-Smtp-Source: APXvYqxcLGbQQZUwrJj9sNWoFoexDDaiOdqRHvPCz/8djdb+e40R82HhuUZg44UBZzBpZsCuPL0fqg== X-Received: by 2002:a1c:988d:: with SMTP id a135mr2810856wme.24.1554192924060; Tue, 02 Apr 2019 01:15:24 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id c20sm20693963wre.28.2019.04.02.01.15.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:23 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 10/12] mlxsw: switch_ib: Pass valid HW id down to mlxsw_core_port_init() Date: Tue, 2 Apr 2019 10:15:10 +0200 Message-Id: <20190402081512.2988-11-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Obtain HW id and pass it down to mlxsw_core_port_init() as it would be used as switch_id in devlink and exposed to user. Signed-off-by: Jiri Pirko --- .../net/ethernet/mellanox/mlxsw/switchib.c | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchib.c b/drivers/net/ethernet/mellanox/mlxsw/switchib.c index b22caa154310..0d9356b3f65d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/switchib.c +++ b/drivers/net/ethernet/mellanox/mlxsw/switchib.c @@ -30,6 +30,7 @@ struct mlxsw_sib { struct mlxsw_sib_port **ports; struct mlxsw_core *core; const struct mlxsw_bus_info *bus_info; + u8 hw_id[ETH_ALEN]; }; struct mlxsw_sib_port { @@ -102,6 +103,18 @@ mlxsw_sib_tx_v1_hdr_construct(struct sk_buff *skb, mlxsw_tx_v1_hdr_type_set(txhdr, MLXSW_TXHDR_TYPE_CONTROL); } +static int mlxsw_sib_hw_id_get(struct mlxsw_sib *mlxsw_sib) +{ + char spad_pl[MLXSW_REG_SPAD_LEN] = {0}; + int err; + + err = mlxsw_reg_query(mlxsw_sib->core, MLXSW_REG(spad), spad_pl); + if (err) + return err; + mlxsw_reg_spad_base_mac_memcpy_from(spad_pl, mlxsw_sib->hw_id); + return 0; +} + static int mlxsw_sib_port_admin_status_set(struct mlxsw_sib_port *mlxsw_sib_port, bool is_up) @@ -268,7 +281,8 @@ static int mlxsw_sib_port_create(struct mlxsw_sib *mlxsw_sib, u8 local_port, int err; err = mlxsw_core_port_init(mlxsw_sib->core, local_port, - module + 1, false, 0, NULL, 0); + module + 1, false, 0, + mlxsw_sib->hw_id, sizeof(mlxsw_sib->hw_id)); if (err) { dev_err(mlxsw_sib->bus_info->dev, "Port %d: Failed to init core port\n", local_port); @@ -440,6 +454,12 @@ static int mlxsw_sib_init(struct mlxsw_core *mlxsw_core, mlxsw_sib->core = mlxsw_core; mlxsw_sib->bus_info = mlxsw_bus_info; + err = mlxsw_sib_hw_id_get(mlxsw_sib); + if (err) { + dev_err(mlxsw_sib->bus_info->dev, "Failed to get switch HW ID\n"); + return err; + } + err = mlxsw_sib_ports_create(mlxsw_sib); if (err) { dev_err(mlxsw_sib->bus_info->dev, "Failed to create ports\n"); From patchwork Tue Apr 2 08:15:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074057 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="FFaqKVEG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTZ3K6cz9sNr for ; Tue, 2 Apr 2019 19:15:30 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729476AbfDBIP2 (ORCPT ); Tue, 2 Apr 2019 04:15:28 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:36501 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729468AbfDBIP0 (ORCPT ); Tue, 2 Apr 2019 04:15:26 -0400 Received: by mail-wm1-f67.google.com with SMTP id h18so2488406wml.1 for ; Tue, 02 Apr 2019 01:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tCUKxidZWY0NpuckNvnmmMqLjUG+YUXLLzFu/iW/L6I=; b=FFaqKVEGVWUS4MAiyARKPCcmbOWT5MfsStiC0Z6jYDZFftWM263WgKgF31MMFIB0Bt AidoHpn2GMNWTz2t4vHTp3kLx/+hn4jQ6sDG/25HbnVLTNoYeEByYcKTdop1oHSju13t oBRdVbivRDQJTUBX8Lw8zPn97iaKFBcp/nwGv4M9IGMqqLLvJ6G9VG2d9v/6igYrkp9j IUrvuLnl2K5Zy+PUgfRxb33QbiyNmKq2q8hmexduvR7QWXHEcqeJ479mLc/w15bRCDn+ DgF1qOfqoumomRFGg7hJwPViegKxpq2hX23BL/OH48hxG5YhB0tm6HGrMLRPEP3O6Zx4 66Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tCUKxidZWY0NpuckNvnmmMqLjUG+YUXLLzFu/iW/L6I=; b=KV4ecsjOMJ/I7Z0mUyL9QlXBwnPARVq29NiKdUKvnK/mxg7uMNNqrDWWdVVelJDGOT seAICkh0356I+pe2ny4ICIBzYfQwjjbnjye8Lv53xKBv882gy0k70DaejcD27PihnZBg pWCMaltTiWRJq40XGrpcE8JsPPfot7YSvJILnlVFSrT3jzMT5js8E2Xp7ka9QJ08gpdo baUTbypmW2GjmQm3fuc07MbMPz3aK1JWAOLpfraLP6+wH8BfvVGeOm7awQQY6oZcfBQK HfFbjwbji7sCzsJX+/0okTLkPK3mp61ft2Lwdw6U10MOGVLjetAVhFA7hpZb8IBLOpb+ X+5g== X-Gm-Message-State: APjAAAX+RqlH2l77JKnln3454cmYDgShb0I1MNtndWDFiOXDSm15YUkp LvPK2p4ybgNqbN3LWRebd1Hch8nVJ/Y= X-Google-Smtp-Source: APXvYqzHIQ87zjosfU1ynh1/nMU8qZiL5qXczYOvHVvhoNJRslWqlAaAhtAt1nxRowU2mJSVZSjwXg== X-Received: by 2002:a1c:23cc:: with SMTP id j195mr2477215wmj.74.1554192925145; Tue, 02 Apr 2019 01:15:25 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id z7sm9784840wrt.10.2019.04.02.01.15.24 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:24 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 11/12] dsa: pass switch ID through devlink_port_attrs_set() Date: Tue, 2 Apr 2019 10:15:11 +0200 Message-Id: <20190402081512.2988-12-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Pass the switch ID down the to devlink through devlink_port_attrs_set() so it can be used by devlink_compat_switch_id_get(). Leave ndo_get_port_parent_id implementation only for legacy. Signed-off-by: Jiri Pirko Reviewed-by: Florian Fainelli --- v2->v3: - fix parent id ndo compilation issue --- net/dsa/dsa2.c | 4 +++- net/dsa/slave.c | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 514be0583642..410cb0da9def 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -260,6 +260,7 @@ static int dsa_port_setup(struct dsa_port *dp) { enum devlink_port_flavour flavour; struct dsa_switch *ds = dp->ds; + struct dsa_switch_tree *dst = ds->dst; int err; if (dp->type == DSA_PORT_TYPE_UNUSED) @@ -285,7 +286,8 @@ static int dsa_port_setup(struct dsa_port *dp) * independent from front panel port numbers. */ devlink_port_attrs_set(&dp->devlink_port, flavour, - dp->index, false, 0, NULL, 0); + dp->index, false, 0, + (const char *) &dst->index, sizeof(dst->index)); err = devlink_port_register(ds->devlink, &dp->devlink_port, dp->index); if (err) diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 80be8e86c82d..728decf8e605 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -379,6 +379,13 @@ static int dsa_slave_get_port_parent_id(struct net_device *dev, struct dsa_switch *ds = dp->ds; struct dsa_switch_tree *dst = ds->dst; + /* For non-legacy ports, devlink is used and it takes + * care of the name generation. This ndo implementation + * should be removed with legacy support. + */ + if (dp->ds->devlink) + return -EOPNOTSUPP; + ppid->id_len = sizeof(dst->index); memcpy(&ppid->id, &dst->index, ppid->id_len); From patchwork Tue Apr 2 08:15:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1074060 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="Vfr0pYJw"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44YMTg66g8z9sNr for ; Tue, 2 Apr 2019 19:15:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729490AbfDBIPe (ORCPT ); Tue, 2 Apr 2019 04:15:34 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:45609 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbfDBIP2 (ORCPT ); Tue, 2 Apr 2019 04:15:28 -0400 Received: by mail-wr1-f65.google.com with SMTP id s15so15351190wra.12 for ; Tue, 02 Apr 2019 01:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ogDnWRoAhi3J0+nF0MZgt/CN2InxRZfBSu5JCLVeAzo=; b=Vfr0pYJwqd5cKyoKQyberfBRrEK53MJWldds/I6XioDM8DCvLl7vk4xYJmvyxar4wt PfJwqDyWDagr/hJhGgCQq/8HTd2WDcylpwln5sa776HOVM1lulus9riM07PHY4QrwlZs lDj5gzrwQ0lZpfEUJap4t4jYndGQWXAnilWRPISYD6L6BpvWdsm5hHGelfbWDRb/D/HN qaxSaVNxNb5942G5VL9+Y0vr5uXSh7MHka6eIibNkoS1p611F4i35bH24qU52PvYrIMD kQXVsJ0YmBwICB5hPk/DvB2opm4c3OX21I56y3Mbbp5GnjYqjsRuPuBaTrcVOFZsqKm3 TEMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ogDnWRoAhi3J0+nF0MZgt/CN2InxRZfBSu5JCLVeAzo=; b=C8mR06ArWKzy3gj9DrQdX8MWrY6u6U5JQltUygrPP8W4X4hXgc5cIUjwGp/P6wCLWH +5NqI5JSfwKwv8lqwO1twFZYCGmbmiyg4jmGLSpgUGOOLk+N2yuoylEEH7lmQBx9RYp+ uojB/NnBOTnr021ZglyQcncovpZegjEs298Zz/emnfzqrRxmQf+qAh01JWUB6+iWe4aI nGOJJ7Bq4LPbMxEDqw9ms5wNp/nKVfzmI/rmrWWpUTZNStqeSYW2TlFZ6e2pSTj32WUj 2Y/hVhrSjHgQxsWJJhP+dTWIpQcte2TeBsXBENpf7x51IVmodBAuvs8ZY5M1FMrp8L50 qBwg== X-Gm-Message-State: APjAAAXNpOTAkb+zKXw9NgMn7UEQ6aoUiLALdEWXwnFadQwsgx7iRDob wV8PBHZUZJDvSrXvNCK0JJVVdNXcrE8= X-Google-Smtp-Source: APXvYqz7nSEtc55948HFA44Izsfbu+DKZuaTESZ2FtiiSWqXBTxa7tOSuSyzTdMmsihqdi/c8G0pYQ== X-Received: by 2002:adf:ef91:: with SMTP id d17mr45866714wro.78.1554192926450; Tue, 02 Apr 2019 01:15:26 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id n11sm20036574wrt.63.2019.04.02.01.15.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Apr 2019 01:15:25 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com, michael.chan@broadcom.com Subject: [patch net-next v3 12/12] net: devlink: add warning for ndo_get_port_parent_id set when not needed Date: Tue, 2 Apr 2019 10:15:12 +0200 Message-Id: <20190402081512.2988-13-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190402081512.2988-1-jiri@resnulli.us> References: <20190402081512.2988-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Currently if the driver registers devlink port instance, he should set the devlink port attributes as well. Then the devlink core is able to obtain switch id itself, no need for driver to implement the ndo. Once all drivers will implement devlink port registration, this ndo should be removed. This warning guides new drivers to do things as they should be done. Signed-off-by: Jiri Pirko --- rfc->v1: - new patch --- net/core/devlink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/core/devlink.c b/net/core/devlink.c index d9fbf94ea2a3..7b9eb14d4ea9 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5376,6 +5376,7 @@ void devlink_port_type_eth_set(struct devlink_port *devlink_port, err = ops->ndo_get_phys_port_name(netdev, name, sizeof(name)); WARN_ON(err != -EOPNOTSUPP); } + WARN_ON(netdev->netdev_ops->ndo_get_port_parent_id); __devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_ETH, netdev); } EXPORT_SYMBOL_GPL(devlink_port_type_eth_set);