Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1555327ybt; Thu, 2 Jul 2020 08:12:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0M2Uokww3fPMjPrho+HDFd2vazvGV9K6TUR/YHLdvEOdkH16HtPxEcKbf3405mqC2X0Tq X-Received: by 2002:aa7:c808:: with SMTP id a8mr33326056edt.259.1593702776040; Thu, 02 Jul 2020 08:12:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593702776; cv=none; d=google.com; s=arc-20160816; b=kWYlHScfArOmAF+8jOpFiZmZ+BNOZheGlyyovTIJLpAcCV7BRpk6itkOND0CxFW7sj hCK33m9GXFaAnUcRoiwzAfQPjly+yG4fO6PJfMjL2ive2etrHI26wgVNrH6G4oHfZm9I XlMCbwL09nQMGUhSl01BVxI4Ohpl8UMux73VYPH6deQJ8UnTYKxb/sEFf8q4k9OUTcfa Anrt/AS04GDb5ycUu78A0SeSZbnlXXO5WMBXsOZ3LyBTvVxS2kvhrwWUWT+auXg7xBvU lQoEqnnvaUbuC56y7BDDtFxEcMCRkMcgTKd4O0iWMfMfesdgxu0cdZPblTcLh/0UYRsF ADOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=4jAF3oUPoS/g1CMgt9y65sT05tk4D7TOWCiTZURhvT0=; b=no6eCZjGZ6RbtMPLROiQ0wYxQpp1pBwmi3po/YScF1Jl8lxfh/yy2618g8B2Vr5asM 8qi7NNBT5CZFKNVFEnMhf6XP7UP8fLNWKCphMfSti9XWkBXVnkZFPYAITPXXKuF2Lt4z yROGVrkJo4SHLJ3QDPsBf4NxmoVBKPnZVQBroFUSNv1ayaOcvJfLHY4d4V/UFxNLvped 6n7nxqLH5kxqWj6uY1tPyMxF96HQE2LTBgMmZUG643eWbOXR9LvNXUjAkA6jASA/qx0I wj5Yly4W6805br/BgCHeky31TaDqn59MgK+hJONFIzo6sVAYGmumTm0x8gYtVc8BFtH0 vFHA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si6225297eji.720.2020.07.02.08.12.33; Thu, 02 Jul 2020 08:12:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730090AbgGBPJP (ORCPT + 99 others); Thu, 2 Jul 2020 11:09:15 -0400 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:39723 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729232AbgGBPJL (ORCPT ); Thu, 2 Jul 2020 11:09:11 -0400 Received: from Internal Mail-Server by MTLPINE1 (envelope-from moshe@mellanox.com) with SMTP; 2 Jul 2020 18:09:08 +0300 Received: from dev-l-vrt-136.mtl.labs.mlnx (dev-l-vrt-136.mtl.labs.mlnx [10.234.136.1]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 062F98Tx020252; Thu, 2 Jul 2020 18:09:08 +0300 Received: from dev-l-vrt-136.mtl.labs.mlnx (localhost [127.0.0.1]) by dev-l-vrt-136.mtl.labs.mlnx (8.14.7/8.14.7) with ESMTP id 062F98NR015403; Thu, 2 Jul 2020 18:09:08 +0300 Received: (from moshe@localhost) by dev-l-vrt-136.mtl.labs.mlnx (8.14.7/8.14.7/Submit) id 062F97af015402; Thu, 2 Jul 2020 18:09:07 +0300 From: Moshe Shemesh To: "David S. Miller" Cc: Jiri Pirko , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Moshe Shemesh Subject: [PATCH net-next 0/7] Add devlink-health support for devlink ports Date: Thu, 2 Jul 2020 18:08:06 +0300 Message-Id: <1593702493-15323-1-git-send-email-moshe@mellanox.com> X-Mailer: git-send-email 1.8.4.3 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Implement support for devlink health reporters on per-port basis. First part in the series prepares common functions parts for health reporter implementation. Second introduces required API to devlink-health and mlx5e ones demonstrate its usage and effectively implement the feature for mlx5 driver. The per-port reporter functionality is achieved by adding a list of devlink_health_reporters to devlink_port struct in a manner similar to existing device infrastructure. This is the only major difference and it makes possible to fully reuse device reporters operations. The effect will be seen in conjunction with iproute2 additions and will affect all devlink health commands. User can distinguish between device and port reporters by looking at a devlink handle. Port reporters have a port index at the end of the address and such addresses can be provided as a parameter in every place where devlink-health accepted it. These can be obtained from devlink port show command. For example: $ devlink health show pci/0000:00:0a.0: reporter fw state healthy error 0 recover 0 auto_dump true pci/0000:00:0a.0/1: reporter tx state healthy error 0 recover 0 grace_period 500 auto_recover true auto_dump true $ devlink health set pci/0000:00:0a.0/1 reporter tx grace_period 1000 \ auto_recover false auto_dump false $ devlink health show pci/0000:00:0a.0/1 reporter tx pci/0000:00:0a.0/1: reporter tx state healthy error 0 recover 0 grace_period 1000 auto_recover flase auto_dump false Vladyslav Tarasiuk (7): devlink: Refactor devlink health reporter constructor devlink: Rework devlink health reporter destructor devlink: Create generic devlink health reporter search function devlink: Implement devlink health reporters on per-port basis devlink: Add devlink health port reporters API net/mlx5e: Move devlink port register and unregister calls net/mlx5e: Move devlink-health rx and tx reporters to devlink port .../ethernet/mellanox/mlx5/core/en/reporter_rx.c | 9 +- .../ethernet/mellanox/mlx5/core/en/reporter_tx.c | 13 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 15 +- include/net/devlink.h | 11 + net/core/devlink.c | 245 ++++++++++++++++----- 5 files changed, 217 insertions(+), 76 deletions(-) -- 1.8.3.1