From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 9A59EA034F;
	Tue,  8 Feb 2022 23:23:25 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 6FAEF41143;
	Tue,  8 Feb 2022 23:23:25 +0100 (CET)
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174])
 by mails.dpdk.org (Postfix) with ESMTP id B9D0F41101
 for <dev@dpdk.org>; Tue,  8 Feb 2022 23:23:23 +0100 (CET)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 218GEVPY010584;
 Tue, 8 Feb 2022 14:23:18 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 h=from : to : cc :
 subject : date : message-id : in-reply-to : references : mime-version :
 content-transfer-encoding : content-type; s=pfpt0220;
 bh=F7FSnKjXvbwL/qClLhaG4dvk6Unh3iuW4LjhxWzXmoA=;
 b=JT2UoqfaLBxuTvKw2TucSM8fsLELF5LuOd30do+LmwjAhpCUBI7eaXWUr20sCLQk+1LG
 LxiLV1V58zcWSNr4GSPSyMfUyEfrixCFaAS0BYpbylft0z5RzE/dRaQxRnfNdUqmFqkd
 1VXCpYJZUrMfwh1qKN3jE/rcOg5uPCMwzqi4He+oorkVCtUztcsx1MK8+cigMViH6wRR
 qlATY0pni8TSt0DNMlC0xxnQCaxmZp2uWgap5TMnBTZHMo4btMelfm+5uiRaqGssSHJS
 g1+4ds+GwZOBq1RFBVOeqH2xrPR7wUtmeK6vZOxWwjLT/UMNomZdJ3oFRJpdcn0+VLin WQ== 
Received: from dc5-exch01.marvell.com ([199.233.59.181])
 by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3e3mhskrd4-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Tue, 08 Feb 2022 14:23:18 -0800
Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com
 (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2;
 Tue, 8 Feb 2022 14:20:33 -0800
Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com
 (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.18 via Frontend
 Transport; Tue, 8 Feb 2022 14:20:33 -0800
Received: from localhost.localdomain (unknown [10.28.48.55])
 by maili.marvell.com (Postfix) with ESMTP id 32D473F70A2;
 Tue,  8 Feb 2022 14:20:28 -0800 (PST)
From: Akhil Goyal <gakhil@marvell.com>
To: <dev@dpdk.org>
CC: <anoobj@marvell.com>, <matan@nvidia.com>, <konstantin.ananyev@intel.com>, 
 <thomas@monjalon.net>, <ferruh.yigit@intel.com>,
 <andrew.rybchenko@oktetlabs.ru>, <rosen.xu@intel.com>,
 <olivier.matz@6wind.com>, <david.marchand@redhat.com>,
 <radu.nicolau@intel.com>, <jerinj@marvell.com>,
 <stephen@networkplumber.org>, <mdr@ashroe.eu>,
 Akhil Goyal <gakhil@marvell.com>
Subject: [PATCH v6 0/3] ethdev: introduce IP reassembly offload
Date: Wed, 9 Feb 2022 03:50:24 +0530
Message-ID: <20220208222027.1364292-1-gakhil@marvell.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220208201111.420971-1-gakhil@marvell.com>
References: <20220208201111.420971-1-gakhil@marvell.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Proofpoint-ORIG-GUID: _FUJxmb69oKI0rmm5NF2AR_wo2XELeOD
X-Proofpoint-GUID: _FUJxmb69oKI0rmm5NF2AR_wo2XELeOD
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513
 definitions=2022-02-08_07,2022-02-07_02,2021-12-02_01
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

As discussed in the RFC[1] sent in 21.11, a new offload is
introduced in ethdev for IP reassembly.

This patchset add the IP reassembly RX offload.
Currently, the offload is tested along with inline IPsec processing.
It can also be updated as a standalone offload without IPsec, if there
are some hardware available to test it.
The patchset is tested on cnxk platform. The driver implementation
and a test app are added as separate patchsets.[2][3]

[1]: http://patches.dpdk.org/project/dpdk/patch/20210823100259.1619886-1-gakhil@marvell.com/
[2]: APP: http://patches.dpdk.org/project/dpdk/list/?series=21284
[3]: PMD: http://patches.dpdk.org/project/dpdk/list/?series=21285
Newer versions of app and PMD will be sent once library changes are
acked.

Changes in v6:
- fix warnings.

Changes in v5:
- updated Doxygen comments.(Ferruh)
- Added release notes.
- updated libabigail suppress rules.(David)

Changes in v4:
- removed rte_eth_dev_info update for capability (Ferruh)
- removed Rx offload flag (Ferruh)
- added capability_get() (Ferruh)
- moved dynfield and dynflag namedefines in rte_mbuf_dyn.h (Ferruh)

changes in v3:
- incorporated comments from Andrew and Stephen Hemminger

changes in v2:
- added abi ignore exceptions for modifications in reserved fields.
  Added a crude way to subside the rte_security and rte_ipsec ABI issue.
  Please suggest a better way.
- incorporated Konstantin's comment for extra checks in new API
  introduced.
- converted static mbuf ol_flag to mbuf dynflag (Konstantin)
- added a get API for reassembly configuration (Konstantin)
- Fixed checkpatch issues.
- Dynfield is NOT split into 2 parts as it would cause an extra fetch in
  case of IP reassembly failure.
- Application patches are split into a separate series.


Akhil Goyal (3):
  ethdev: introduce IP reassembly offload
  ethdev: add mbuf dynfield for incomplete IP reassembly
  security: add IPsec option for IP reassembly

 devtools/libabigail.abignore           |   5 +
 doc/guides/nics/features.rst           |  13 +++
 doc/guides/nics/features/default.ini   |   1 +
 doc/guides/rel_notes/release_22_03.rst |   6 ++
 lib/ethdev/ethdev_driver.h             |  63 +++++++++++++
 lib/ethdev/rte_ethdev.c                | 124 ++++++++++++++++++++++++
 lib/ethdev/rte_ethdev.h                | 126 +++++++++++++++++++++++++
 lib/ethdev/version.map                 |   6 ++
 lib/mbuf/rte_mbuf_dyn.h                |   9 ++
 lib/security/rte_security.h            |  15 ++-
 10 files changed, 367 insertions(+), 1 deletion(-)

-- 
2.25.1