From patchwork Mon Jun 29 22:49:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rahul Lakkireddy X-Patchwork-Id: 1319387 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=chelsio.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49wjh04zRtz9s6w for ; Tue, 30 Jun 2020 09:02:56 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728907AbgF2XCz (ORCPT ); Mon, 29 Jun 2020 19:02:55 -0400 Received: from stargate.chelsio.com ([12.32.117.8]:52704 "EHLO stargate.chelsio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728318AbgF2XCx (ORCPT ); Mon, 29 Jun 2020 19:02:53 -0400 Received: from localhost (scalar.blr.asicdesigners.com [10.193.185.94]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id 05TN2d3J012062; Mon, 29 Jun 2020 16:02:40 -0700 From: Rahul Lakkireddy To: netdev@vger.kernel.org Cc: davem@davemloft.net, kuba@kernel.org, nirranjan@chelsio.com, vishal@chelsio.com, dt@chelsio.com Subject: [PATCH net-next v2 0/3] cxgb4: add mirror action support for TC-MATCHALL Date: Tue, 30 Jun 2020 04:19:50 +0530 Message-Id: X-Mailer: git-send-email 2.5.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This series of patches add support to mirror all ingress traffic for TC-MATCHALL ingress offload. Patch 1 adds support to dynamically create a mirror Virtual Interface (VI) that accepts all mirror ingress traffic when mirror action is set in TC-MATCHALL offload. Patch 2 adds support to allocate mirror Rxqs and setup RSS for the mirror VI. Patch 3 adds support to replicate all the main VI configuration to mirror VI. This includes replicating MTU, promiscuous mode, all-multicast mode, and enabled netdev Rx feature offloads. Thanks, Rahul v2: - Add mutex to protect all mirror VI data, instead of just mirror Rxqs, in patch 1 and 2. - Remove the un-needed mirror Rxq mutex in patch 2. - Simplify the replication code by refactoring t4_set_rxmode() to handle mirror VI, instead of duplicating the t4_set_rxmode() calls in multiple places in patch 3. Rahul Lakkireddy (3): cxgb4: add mirror action to TC-MATCHALL offload cxgb4: add support for mirror Rxqs cxgb4: add main VI to mirror VI config replication drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 24 +- .../ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 66 ++- .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 438 ++++++++++++++++-- .../ethernet/chelsio/cxgb4/cxgb4_tc_flower.c | 16 +- .../ethernet/chelsio/cxgb4/cxgb4_tc_flower.h | 3 +- .../chelsio/cxgb4/cxgb4_tc_matchall.c | 57 ++- .../chelsio/cxgb4/cxgb4_tc_matchall.h | 1 + drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 43 +- 8 files changed, 599 insertions(+), 49 deletions(-)