From patchwork Sun May 20 08:15:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 917086 X-Patchwork-Delegate: dsahern@gmail.com 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="fNJaOkpj"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40pZVZ1n5Rz9s4n for ; Sun, 20 May 2018 18:16:06 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751637AbeETIQA (ORCPT ); Sun, 20 May 2018 04:16:00 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:40154 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751080AbeETIPq (ORCPT ); Sun, 20 May 2018 04:15:46 -0400 Received: by mail-wm0-f65.google.com with SMTP id j5-v6so21686796wme.5 for ; Sun, 20 May 2018 01:15:46 -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=yZtWZAfPLsVTJVhv4+LzZAPgpnOeMrwID0bj8/YBN7w=; b=fNJaOkpjH1jFAyxvlOCPSYY+IAGkdmxqLaZljnF7Yg8vRMViYnp0HEWBH+1N8jgIaw Rq08qFkKRXYPYb1JlbCH722Njq+PXQpcSYMtJbz+Oh5ICQPG3KNerlDdfcEoSr1KCsbP nj03eT06kkDLFaW4/X4YfF0yn0OXoXx1ybyEFfqPtvPX91mHbOTAnYsE/QNx/9nK4fle aUN2d+05jw693B7iCe/nC+RXUmYT5F3szO54vCOGT/Bb2kX7bmc2LZkXsjQgS2pFvMkL 874fBKC8KUM6t2wn/wS7amSVuZ2sb4NWhvAFK7FWd+mffuOVFlXnWI0tjMnETADA48D5 xpbw== 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=yZtWZAfPLsVTJVhv4+LzZAPgpnOeMrwID0bj8/YBN7w=; b=eXejK+kaUjqRt0CGXaJ9KH2HhTY1E0u8516GrJoYQPfB3prOWXnwFyuhRL5TzP7qVy 2AcAr50m/cWqecwjb1IKciYZ0DXZ11KDyI5BJRAHvlKVsRJ7B/DlQYrsnHQw92I18pGc CNmsK26X3a3+JB4r5bF1hWWvsnITkyoxnL9nRZUYhON7wEYN08e2Z22nDTbA+Y5JweiZ 1MbVyqG+5HL1R1U0W/j1KpOA0Vr79QBSq09pkcb3VDguYIs/NXS6dJuM2JvKgVr8N0vP uvQ71O1gt9p8/qCPLP7RuWfU/DYGpIPuO6HkAa8Zv3In38l21bwZeoke9Dcf3XcwHPwg Q4Og== X-Gm-Message-State: ALKqPwduvDf1dKstx/7X6eZq6512ejeLkVUobHevDW/WBJ52rqYqJpnv 3TesbexmD55T+L74jRbzCqHgFOF7 X-Google-Smtp-Source: AB8JxZpvo530W9wfpt+bt8Jcx9GERUFwyfG4pt/i5trEJdA2ZtkXI1Of/67JWyRwIN3t+cyraV+pig== X-Received: by 2002:a1c:e006:: with SMTP id x6-v6mr7726133wmg.80.1526804145179; Sun, 20 May 2018 01:15:45 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id b123-v6sm9549252wme.22.2018.05.20.01.15.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 20 May 2018 01:15:44 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: dsahern@gmail.com, idosch@mellanox.com, jakub.kicinski@netronome.com, mlxsw@mellanox.com, andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com, michael.chan@broadcom.com, ganeshgr@chelsio.com, saeedm@mellanox.com, simon.horman@netronome.com, pieter.jansenvanvuuren@netronome.com, john.hurley@netronome.com, dirk.vandermerwe@netronome.com, alexander.h.duyck@intel.com, ogerlitz@mellanox.com, vijaya.guvva@cavium.com, satananda.burla@cavium.com, raghu.vatsavayi@cavium.com, felix.manlunas@cavium.com, gospo@broadcom.com, sathya.perla@broadcom.com, vasundhara-v.volam@broadcom.com, tariqt@mellanox.com, eranbe@mellanox.com, jeffrey.t.kirsher@intel.com, roopa@cumulusnetworks.com Subject: [patch iproute2/net-next 1/2] devlink: introduce support for showing port flavours Date: Sun, 20 May 2018 10:15:38 +0200 Message-Id: <20180520081539.1372-2-jiri@resnulli.us> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180520081539.1372-1-jiri@resnulli.us> References: <20180520081539.1372-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Signed-off-by: Jiri Pirko --- devlink/devlink.c | 20 ++++++++++++++++++++ include/uapi/linux/devlink.h | 12 ++++++++++++ 2 files changed, 32 insertions(+) diff --git a/devlink/devlink.c b/devlink/devlink.c index fa33684cb20a..df2c66dac1c7 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -1693,6 +1693,20 @@ static const char *port_type_name(uint32_t type) } } +static const char *port_flavour_name(uint16_t flavour) +{ + switch (flavour) { + case DEVLINK_PORT_FLAVOUR_PHYSICAL: + return "physical"; + case DEVLINK_PORT_FLAVOUR_CPU: + return "cpu"; + case DEVLINK_PORT_FLAVOUR_DSA: + return "dsa"; + default: + return ""; + } +} + static void pr_out_port(struct dl *dl, struct nlattr **tb) { struct nlattr *pt_attr = tb[DEVLINK_ATTR_PORT_TYPE]; @@ -1717,6 +1731,12 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) if (tb[DEVLINK_ATTR_PORT_IBDEV_NAME]) pr_out_str(dl, "ibdev", mnl_attr_get_str(tb[DEVLINK_ATTR_PORT_IBDEV_NAME])); + if (tb[DEVLINK_ATTR_PORT_FLAVOUR]) { + uint16_t port_flavour = + mnl_attr_get_u16(tb[DEVLINK_ATTR_PORT_FLAVOUR]); + + pr_out_str(dl, "flavour", port_flavour_name(port_flavour)); + } if (tb[DEVLINK_ATTR_PORT_SPLIT_GROUP]) pr_out_uint(dl, "split_group", mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_SPLIT_GROUP])); diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h index 9f17286ec89f..23a3af6284b4 100644 --- a/include/uapi/linux/devlink.h +++ b/include/uapi/linux/devlink.h @@ -132,6 +132,16 @@ enum devlink_eswitch_encap_mode { DEVLINK_ESWITCH_ENCAP_MODE_BASIC, }; +enum devlink_port_flavour { + DEVLINK_PORT_FLAVOUR_PHYSICAL, /* Any kind of a port physically + * facing the user. + */ + DEVLINK_PORT_FLAVOUR_CPU, /* CPU port */ + DEVLINK_PORT_FLAVOUR_DSA, /* Distributed switch architecture + * interconnect port. + */ +}; + enum devlink_attr { /* don't change the order or add anything between, this is ABI! */ DEVLINK_ATTR_UNSPEC, @@ -224,6 +234,8 @@ enum devlink_attr { DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID, /* u64 */ DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,/* u64 */ + DEVLINK_ATTR_PORT_FLAVOUR, /* u16 */ + /* add new attributes above here, update the policy in devlink.c */ __DEVLINK_ATTR_MAX, From patchwork Sun May 20 08:15:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 917087 X-Patchwork-Delegate: dsahern@gmail.com 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="p8JEfrJT"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40pZVZ6vmZz9s4b for ; Sun, 20 May 2018 18:16:06 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751659AbeETIQC (ORCPT ); Sun, 20 May 2018 04:16:02 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:45000 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751094AbeETIPr (ORCPT ); Sun, 20 May 2018 04:15:47 -0400 Received: by mail-wr0-f195.google.com with SMTP id y15-v6so13016704wrg.11 for ; Sun, 20 May 2018 01:15:46 -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=S0+eJpV/EBQO5TvtbxVE/pFgqVSWWhtMpILHya9Uoeg=; b=p8JEfrJTR7xaVY67pHFloaAaM8T5VKf9oFB+syKgThf2KKSkc6qzKNehCtamqNIwyJ k1N455S10KJF5ibAHb1K1Dpu80hqSYvAhIr3YIc4erteqD4QJiNXq2QJhW6Ot928vM2L Dmj42NAY6t4Qfsjl07rgwDto9ds1+c/IGO2qA3R855+QG84GwVCV7qBm0NZTHDOfA74g sZSlU2MEwIf24Y+0NA92udDemANpyVyolZuJhLFkRYl+mfuC+rEMTP61AHiF9++hLdHP puUYsfNtwV4H17pDdJlyatF3wH3WfLuDs8orSSfgFs2+G6ryxEd9zhi3ii8JUjF6uXe/ Tj8w== 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=S0+eJpV/EBQO5TvtbxVE/pFgqVSWWhtMpILHya9Uoeg=; b=nEFjSkvQ+KrS3ei2Y19nRO0z48Z2WxvREmAVsRM4j76KQJ5RzstNqq+YS/GcCywvbm 3MgRkLYIj8+K42EYRdZSt3lhHkBWvWFvUlurygaxO3RLLkAke+nxuEAT0YsVDxsas1GI E4N0DOqPuUy1HSs3TUJc/6uoD4Buu4WGaHKkRwqrF0fq4ZjzGuy4JlZCV6GGJq6h6fxx AG6urHFoOhjXsf6GuYDN/UhtawbHTzpB6QxaHQxez8r8qpgIKHLrZXothIMxIW7y1y83 qR+UU3ki0gv165ODb5Jb6eRU19n4xdvvtgOOsZq5azmgZ3FEMxP4j9k2OJpl8OgdTmr3 9tRg== X-Gm-Message-State: ALKqPwfD5rKu5A+YAZu1WVFDd9dAzbCek8It/kiuS91ZuYJ5kC7NF6zs 0ywRbuUn3tapoISfBYSjZS3zstuz X-Google-Smtp-Source: AB8JxZp0qTT9qThoHWBjpeSet69PhZde9N2ybKmBpkYp/DHdS01RvDy2Bzvk9nLerMJKP5k17L5Kog== X-Received: by 2002:adf:8362:: with SMTP id 89-v6mr6988616wrd.17.1526804146106; Sun, 20 May 2018 01:15:46 -0700 (PDT) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id 19-v6sm13084725wrz.7.2018.05.20.01.15.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 20 May 2018 01:15:45 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: dsahern@gmail.com, idosch@mellanox.com, jakub.kicinski@netronome.com, mlxsw@mellanox.com, andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com, michael.chan@broadcom.com, ganeshgr@chelsio.com, saeedm@mellanox.com, simon.horman@netronome.com, pieter.jansenvanvuuren@netronome.com, john.hurley@netronome.com, dirk.vandermerwe@netronome.com, alexander.h.duyck@intel.com, ogerlitz@mellanox.com, vijaya.guvva@cavium.com, satananda.burla@cavium.com, raghu.vatsavayi@cavium.com, felix.manlunas@cavium.com, gospo@broadcom.com, sathya.perla@broadcom.com, vasundhara-v.volam@broadcom.com, tariqt@mellanox.com, eranbe@mellanox.com, jeffrey.t.kirsher@intel.com, roopa@cumulusnetworks.com Subject: [patch iproute2/net-next 2/2] devlink: introduce support for showing port number and split subport number Date: Sun, 20 May 2018 10:15:39 +0200 Message-Id: <20180520081539.1372-3-jiri@resnulli.us> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180520081539.1372-1-jiri@resnulli.us> References: <20180520081539.1372-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Signed-off-by: Jiri Pirko --- devlink/devlink.c | 6 ++++++ include/uapi/linux/devlink.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/devlink/devlink.c b/devlink/devlink.c index df2c66dac1c7..b0ae17767dab 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -1737,9 +1737,15 @@ static void pr_out_port(struct dl *dl, struct nlattr **tb) pr_out_str(dl, "flavour", port_flavour_name(port_flavour)); } + if (tb[DEVLINK_ATTR_PORT_NUMBER]) + pr_out_uint(dl, "number", + mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_NUMBER])); if (tb[DEVLINK_ATTR_PORT_SPLIT_GROUP]) pr_out_uint(dl, "split_group", mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_SPLIT_GROUP])); + if (tb[DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER]) + pr_out_uint(dl, "subport", + mnl_attr_get_u32(tb[DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER])); pr_out_port_handle_end(dl); } diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h index 23a3af6284b4..493f71fef7ee 100644 --- a/include/uapi/linux/devlink.h +++ b/include/uapi/linux/devlink.h @@ -235,6 +235,8 @@ enum devlink_attr { DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,/* u64 */ DEVLINK_ATTR_PORT_FLAVOUR, /* u16 */ + DEVLINK_ATTR_PORT_NUMBER, /* u32 */ + DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */ /* add new attributes above here, update the policy in devlink.c */