Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp309573pxk; Thu, 17 Sep 2020 03:48:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZ1BEuUU2by6q6Pjx11hHoya1/NOTItwfZIW27JdSSE88nzQs3b3socbgubZjlDIDeAmtP X-Received: by 2002:a50:9dc8:: with SMTP id l8mr32519006edk.58.1600339735783; Thu, 17 Sep 2020 03:48:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600339735; cv=none; d=google.com; s=arc-20160816; b=eblZMmGRUsHwfWMbEsitS1qbYXfnhosiYitgbLc4/T299Fg1IszkA/AfpKKrS+JZlm bIN3HKQfB/MwZUdtp0Y2cMep3WapSo19o/8E9Vecbvgzpdciot17qyleZXFQMlEQWUui mos0zXOJPQIGt+f/lhrT1fEddKLNVfSEWuahvTzYsxWtfhqk+1462ofE9PnEFo+nqtg5 AWc3433ffgjfOrs9TfeSA0MHvBR0IW1+5R0zefCponfjSa5VFp8tazbkCYMxFFqnxkk+ cs7HSoHw7G+0aQC44FIS1z+e9dlmexT59dveFzwqImytd0T5D6fEo88RgdKv79SGyYrO kJuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=pAkCipHQ+5vK2MwSodUfqE0K7hq2pLSTh/z3bmzgDTI=; b=Vo07Ni5IO21nvoN15Gb/sG5xDIq6HxfCqH+SIM1HobtbzKZTW3ydq01VMa2fO8JUvX bg5Hb8KxSH0u0CvOx4XZRVyF/h5/4Os65v/lzHJG6y5mfKYmHWkdKQh9ezVY5adGfjBU QUQBEZ3wKRus4uz+A3gFll2VQ0vG7XvpOhjzxxdmVJGb7seNc7uixfaxy5naQiZdPKEo RFTEzGKbTqKBkdoD1jiC1EKj9LakdZRi4fcKF0+ddYFmdUuFwfgI1ulz71lmleWe+Fey Ktmohgr7d/EGw/3FTmZuZua3Iu6aZNsapS2J5GoZ1GVwgc6XsalwDsr6Y1BTz8bmasE5 Z9hQ== 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=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t6si13117824ejs.530.2020.09.17.03.48.31; Thu, 17 Sep 2020 03:48:55 -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=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726614AbgIQKr1 (ORCPT + 99 others); Thu, 17 Sep 2020 06:47:27 -0400 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:48299 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726691AbgIQKog (ORCPT ); Thu, 17 Sep 2020 06:44:36 -0400 Received: from Internal Mail-Server by MTLPINE1 (envelope-from ayal@mellanox.com) with SMTP; 17 Sep 2020 13:37:26 +0300 Received: from dev-l-vrt-210.mtl.labs.mlnx (dev-l-vrt-210.mtl.labs.mlnx [10.234.210.1]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 08HAbQ2d014844; Thu, 17 Sep 2020 13:37:26 +0300 Received: from dev-l-vrt-210.mtl.labs.mlnx (localhost [127.0.0.1]) by dev-l-vrt-210.mtl.labs.mlnx (8.15.2/8.15.2/Debian-8ubuntu1) with ESMTP id 08HAbQk2015604; Thu, 17 Sep 2020 13:37:26 +0300 Received: (from ayal@localhost) by dev-l-vrt-210.mtl.labs.mlnx (8.15.2/8.15.2/Submit) id 08HAbPR3015603; Thu, 17 Sep 2020 13:37:25 +0300 From: Aya Levin To: "David S. Miller" , Jakub Kicinski , Jiri Pirko , Ido Schimmel , netdev Cc: Moshe Shemesh , Eran Ben Elisha , , Aya Levin Subject: [PATCH net-next RFC v2 0/3] Add devlink traps in devlink port context Date: Thu, 17 Sep 2020 13:36:41 +0300 Message-Id: <1600339004-15552-1-git-send-email-ayal@nvidia.com> X-Mailer: git-send-email 1.8.4.3 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Implement support for devlink traps on per-port basis. Dropped packets in the RX flow are related to the Ethernet port and thus should be in port context. Traps per device should trap global configuration which may cause drops. Devlink traps is regard as a debug mode. Using traps per port enable debug which doesn't effect other ports on a device. Patchset: Patch 1: Refactors devlink trap for easier code re-use in the coming patches Patch 2: Adds devlink traps under devlink port context ports context. In a nutshell it allows enable/disable of a trap on all related ports which registered this trap. Patch 3: Display a use in devlink traps in port context in mlx5 ethernet driver. Changelog: Minor changes in cover letter v1->v2: Patch 1: -Gather only the traps lists for future code reuse. Don't try to reuse the traps ops. Ptach 2: -Add traps lock in devlink_port -Add devlink_port ops and in it, add the trap ops -Add support onlty for traps and exclude groups and policy -Add separate netlink commands for port trap get and set -Allow trap registration without a corresponding group Patch 3: removed Ptach 4: -Is now patch 3 -Minor changes in trap's definition -Adjustments to trap API and ops Aya Levin (3): devlink: Wrap trap related lists a trap_lists struct devlink: Add devlink traps under devlink_ports context net/mlx5e: Add devlink trap to catch oversize packets drivers/net/ethernet/mellanox/mlx5/core/Makefile | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 + drivers/net/ethernet/mellanox/mlx5/core/en/traps.c | 38 ++ drivers/net/ethernet/mellanox/mlx5/core/en/traps.h | 14 + drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 48 +++ drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 11 +- include/net/devlink.h | 54 ++- include/uapi/linux/devlink.h | 5 + net/core/devlink.c | 453 ++++++++++++++++++--- 9 files changed, 556 insertions(+), 71 deletions(-) create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/traps.c create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/traps.h -- 2.14.1