Message ID | cover.1528469677.git.rahul.lakkireddy@chelsio.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 745771CDFA; Fri, 8 Jun 2018 19:59:09 +0200 (CEST) Received: from stargate.chelsio.com (stargate.chelsio.com [12.32.117.8]) by dpdk.org (Postfix) with ESMTP id A47B91CDF3 for <dev@dpdk.org>; Fri, 8 Jun 2018 19:59:08 +0200 (CEST) Received: from localhost (scalar.blr.asicdesigners.com [10.193.185.94]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id w58Hx3vB017285; Fri, 8 Jun 2018 10:59:05 -0700 From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> To: dev@dpdk.org Cc: shaguna@chelsio.com, kumaras@chelsio.com, indranil@chelsio.com, nirranjan@chelsio.com Date: Fri, 8 Jun 2018 23:28:10 +0530 Message-Id: <cover.1528469677.git.rahul.lakkireddy@chelsio.com> X-Mailer: git-send-email 2.5.3 Subject: [dpdk-dev] [PATCH 0/7] cxgbe: add support to offload flows via rte_flow X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
cxgbe: add support to offload flows via rte_flow
|
|
Message
Rahul Lakkireddy
June 8, 2018, 5:58 p.m. UTC
This series add basic support to offload flows to Chelsio T5/T6 NICs via rte_flow API. Chelsio NICs can support wildcard (maskfull) filters and exact (maskless) filters. Filters can be created in two regions available on Chelsio NICs. The smaller LE-TCAM region can support both maskfull and maskless filters; whereas, the larger HASH region can support only maskless filters. This series adds support for LE-TCAM region. Support for HASH region will be added in subsequent series. This series adds support for: <match item>: IPv4, IPv6, TCP, and UDP. <action>: Drop, Queue, and Count. Support for more match items and actions will be added in subsequent series. Patch 1 queries firmware for available filtering resources in the underlying device and adds table to manage these resources. Patch 2 introduces rte_flow skeleton and implementes validate operation. Patch 3 exports control queue needed for communicating filter create/delete requests with firmware. Patch 4 adds firmware API to create filter work requests for creating/deleting filters and implements flow create operation. Patch 5 adds flow destroy operation. Patch 6 adds flow query operation to get filter hit and byte counts. Patch 7 adds flow flush operation to delete all filters under specified port. Thanks, Rahul Shagun Agrawal (7): net/cxgbe: query firmware for filter resources net/cxgbe: parse and validate flows net/cxgbe: add control queue to communicate filter requests net/cxgbe: implement flow create operation net/cxgbe: implement flow destroy operation net/cxgbe: implement flow query operation net/cxgbe: implement flow flush operation doc/guides/nics/cxgbe.rst | 1 + doc/guides/nics/features/cxgbe.ini | 1 + doc/guides/rel_notes/release_18_08.rst | 5 + drivers/net/cxgbe/Makefile | 2 + drivers/net/cxgbe/base/adapter.h | 63 +++ drivers/net/cxgbe/base/common.h | 17 + drivers/net/cxgbe/base/t4_hw.c | 234 +++++++++++ drivers/net/cxgbe/base/t4_hw.h | 4 + drivers/net/cxgbe/base/t4_msg.h | 22 + drivers/net/cxgbe/base/t4_regs.h | 16 + drivers/net/cxgbe/base/t4fw_interface.h | 221 ++++++++++ drivers/net/cxgbe/cxgbe.h | 3 + drivers/net/cxgbe/cxgbe_ethdev.c | 5 + drivers/net/cxgbe/cxgbe_filter.c | 609 +++++++++++++++++++++++++++ drivers/net/cxgbe/cxgbe_filter.h | 226 ++++++++++ drivers/net/cxgbe/cxgbe_flow.c | 702 ++++++++++++++++++++++++++++++++ drivers/net/cxgbe/cxgbe_flow.h | 42 ++ drivers/net/cxgbe/cxgbe_main.c | 184 +++++++++ drivers/net/cxgbe/cxgbe_ofld.h | 27 ++ drivers/net/cxgbe/sge.c | 197 ++++++++- 20 files changed, 2580 insertions(+), 1 deletion(-) create mode 100644 drivers/net/cxgbe/cxgbe_filter.c create mode 100644 drivers/net/cxgbe/cxgbe_filter.h create mode 100644 drivers/net/cxgbe/cxgbe_flow.c create mode 100644 drivers/net/cxgbe/cxgbe_flow.h create mode 100644 drivers/net/cxgbe/cxgbe_ofld.h
Comments
On 6/8/2018 6:58 PM, Rahul Lakkireddy wrote: > This series add basic support to offload flows to Chelsio T5/T6 NICs > via rte_flow API. Chelsio NICs can support wildcard (maskfull) filters > and exact (maskless) filters. Filters can be created in two regions > available on Chelsio NICs. The smaller LE-TCAM region can support both > maskfull and maskless filters; whereas, the larger HASH region can > support only maskless filters. This series adds support for LE-TCAM > region. Support for HASH region will be added in subsequent series. > > This series adds support for: > <match item>: IPv4, IPv6, TCP, and UDP. > <action>: Drop, Queue, and Count. > > Support for more match items and actions will be added in subsequent > series. > > Patch 1 queries firmware for available filtering resources in the > underlying device and adds table to manage these resources. > > Patch 2 introduces rte_flow skeleton and implementes validate > operation. > > Patch 3 exports control queue needed for communicating filter > create/delete requests with firmware. > > Patch 4 adds firmware API to create filter work requests for > creating/deleting filters and implements flow create operation. > > Patch 5 adds flow destroy operation. > > Patch 6 adds flow query operation to get filter hit and byte counts. > > Patch 7 adds flow flush operation to delete all filters under specified > port. > > Thanks, > Rahul > > > Shagun Agrawal (7): > net/cxgbe: query firmware for filter resources > net/cxgbe: parse and validate flows > net/cxgbe: add control queue to communicate filter requests > net/cxgbe: implement flow create operation > net/cxgbe: implement flow destroy operation > net/cxgbe: implement flow query operation > net/cxgbe: implement flow flush operation Series applied to dpdk-next-net/master, thanks. (I have asked a question about copyright start year, based on answer an update may require, which can be squashed into this set.)