From patchwork Wed Feb 20 09:21: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: 1045221 X-Patchwork-Delegate: shemminger@vyatta.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="LobQ7URm"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 444BtL5Dyvz9s5R for ; Wed, 20 Feb 2019 20:21:14 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726908AbfBTJVN (ORCPT ); Wed, 20 Feb 2019 04:21:13 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:36513 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726866AbfBTJVM (ORCPT ); Wed, 20 Feb 2019 04:21:12 -0500 Received: by mail-wr1-f66.google.com with SMTP id o17so25115277wrw.3 for ; Wed, 20 Feb 2019 01:21:11 -0800 (PST) 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; bh=ErDG16nUztdy+hvXzN05cX8s2ZRu+xOhVqS+MNMqFEQ=; b=LobQ7URmC5B7Z2Xm6lu3MrsnLct3xCv2OUEEaXyyV5VTNhwHT2YBliXpT87Em0F9Nk d38Y26UPs4trQQwBWFNyUvPZxjSi9Qw75oBj9XuXfON+C5cF9tRFzE5Cxw3wtmu0hR2+ RaECN61yCvG0r2nxgJec4kpZb7BGSG/uks4KOHRXoXPcnnsRYHwdO8Dq/SqC/JzDMHsR 3FtvDEk5szrer4oYI9dx1hbNEMp+sUFO5lEv1I+AaDuHjJWZq7lHw1F8TyxFisbycNwR f0Z+BYsbzaQ5VM8K9J8GLQVShPw0uKYcXQhnfiTppVPRdBLMCFfoYZDCaQf76Hjz7pbJ X2rQ== 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; bh=ErDG16nUztdy+hvXzN05cX8s2ZRu+xOhVqS+MNMqFEQ=; b=Z1WU1XtLeUIK1oQvS4TiFVs9AwIayf84hNT4k9wMURVbiH0bPaI3Aj7CCjtTzFfQuK 8tGk5gZlFfsLpgHwutkAJi37sTpD6aIsHK5ny9rQ0AUfKC4KJRDKx9b7gxAd711peskN 18F8WL0S139mX1QpswKUO5yu6nfhIuR+OxV0ScZZNZr3d7+bbfbKfLmRmalnZj9RIm4C zquSsOAmgXbFO9mMSKBQ9bc4nB8cITG/0VZAUqc7H6Au2xlB5JDqEKV9Y1NOcaG4JaQ1 GaN7jlD/JhLG9zgGU3PpXoRiCCQeMC/MSluEEG83NwLe5Rjob/GwfeLLXutAbAIhToLR 2MZg== X-Gm-Message-State: AHQUAuZg3CCdGAEjbNkfEW0EHNIR0kZQGpBmnTkJ5CHlhArA6t2y+xWe ctftYbB+VSFX8dbrkl4+dDZ3Q+dGjyg= X-Google-Smtp-Source: AHgI3Ibi0Z1akczhqqU2YBfaEoYq1qD8X4jJCZvnntfZODVbxdFu0qbuWgn4wTtijCS84PVCX+mWyQ== X-Received: by 2002:adf:dd90:: with SMTP id x16mr24856604wrl.10.1550654470782; Wed, 20 Feb 2019 01:21:10 -0800 (PST) Received: from localhost (ip-213-220-234-21.net.upcbroadband.cz. [213.220.234.21]) by smtp.gmail.com with ESMTPSA id m15sm14330450wrx.30.2019.02.20.01.21.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 20 Feb 2019 01:21:10 -0800 (PST) From: Jiri Pirko To: netdev@vger.kernel.org Cc: stephen@networkplumber.org, dsahern@gmail.com, mlxsw@mellanox.com Subject: [patch iproute2] devlink: relax dpipe table show dependency on resources Date: Wed, 20 Feb 2019 10:21:09 +0100 Message-Id: <20190220092109.4496-1-jiri@resnulli.us> X-Mailer: git-send-email 2.14.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Dpipe table show command has a depencency on getting resources. If resource get command is not supported by the driver, dpipe table show fails. However, resource is only additional information in dpipe table show output. So relax the dependency and let the dpipe tables be shown even if resources get command fails. Fixes: ead180274caf ("devlink: Add support for resource/dpipe relation") Signed-off-by: Jiri Pirko --- devlink/devlink.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/devlink/devlink.c b/devlink/devlink.c index 3651e90c1159..00a76060b31d 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -4351,7 +4351,8 @@ static int dpipe_table_show(struct dpipe_ctx *ctx, struct nlattr *nl) size = mnl_attr_get_u32(nla_table[DEVLINK_ATTR_DPIPE_TABLE_SIZE]); counters_enabled = !!mnl_attr_get_u8(nla_table[DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED]); - resource_valid = !!nla_table[DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID]; + resource_valid = !!nla_table[DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID] && + ctx->resources; if (resource_valid) { table->resource_id = mnl_attr_get_u64(nla_table[DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID]); table->resource_valid = true; @@ -4467,12 +4468,9 @@ static int cmd_dpipe_table_show(struct dl *dl) dl_opts_put(nlh, dl); err = _mnlg_socket_sndrcv(dl->nlg, nlh, cmd_resource_dump_cb, &resource_ctx); - if (err) { - pr_err("error get resources %s\n", strerror(resource_ctx.err)); - goto err_resource_dump; - } + if (!err) + dpipe_ctx.resources = resource_ctx.resources; - dpipe_ctx.resources = resource_ctx.resources; flags = NLM_F_REQUEST | NLM_F_ACK; nlh = mnlg_msg_prepare(dl->nlg, DEVLINK_CMD_DPIPE_TABLE_GET, flags); dl_opts_put(nlh, dl); @@ -4485,8 +4483,6 @@ static int cmd_dpipe_table_show(struct dl *dl) dpipe_ctx_fini(&dpipe_ctx); return 0; -err_resource_dump: - resource_ctx_fini(&resource_ctx); err_resource_ctx_init: err_headers_get: dpipe_ctx_fini(&dpipe_ctx);