From patchwork Thu Sep 13 13:47:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 44690 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: 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 F22D98E58; Thu, 13 Sep 2018 15:48:04 +0200 (CEST) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690070.outbound.protection.outlook.com [40.107.69.70]) by dpdk.org (Postfix) with ESMTP id 90CA94D27 for ; Thu, 13 Sep 2018 15:48:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jfvpMtY3nX8TL5gZ2uC9+NWjXsT1+XIR9qm+ZOUsfLc=; b=eJdnygmsRCRJ7M7HNMiv7sPeBaEUtNn3gqDAYrv6Qkgsy6238A2BDpuQhF+9VYpbag2y/A/VABWB6I7ZJ6xt4feBJX2dXPo1xpczt+AsgMycqvYKpv9U2W4chF+YYjl1YeKRM1kvGiD+72yXDJYGQciFYfcAIs3FfMAtf59wyYw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.8.8.4.4 (122.178.212.30) by BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Thu, 13 Sep 2018 13:47:57 +0000 From: Jerin Jacob To: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko Cc: dev@dpdk.org, Jerin Jacob Date: Thu, 13 Sep 2018 19:17:04 +0530 Message-Id: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.19.0 MIME-Version: 1.0 X-Originating-IP: [122.178.212.30] X-ClientProxiedBy: BMXPR01CA0021.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::31) To BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3e4ca0d0-a228-455f-540d-08d6197f85a9 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BL0PR07MB4994; X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 3:T3jude1LutChiIHJMLgGu6HUYmDGszO+Ep3yte17sRVdUkj2vnwxSO3amy20+HHrW5wpzvAcdr5S4nESARBad7ZF/ufJueuJ5icztKVGpj94aWinBRe7iAHokui0/3VGm7yDxL2nFMRMCU/8Z2nSoy+PR3742Jau3tw6FYZ/sfHyrdwBhdjEfUesj3gUIyvcBiyL0DGpWoJchEGh2MTwkw3XH/Njo8c+ERcpAFsRHESKBHWsdeV2bq9q4NBJW2pM; 25:MzMs4GEo33rFhYLBo2hz/OUInoYcvg3DIN6j8+SadF5gEdIgx78DFKuB1gchJvS+OwHWhsPuQrM1ddKNOhPkXqlDGUSPgjbzdIqudzAQ/b5atk6RY4tzHvA0yQ6/YAuozsAVMzcVEYmaXkrBVmdR2oZ08Hk7jd0ehhxcb21JUmZUHXR5z5U4hfJ7zNOWlMxMe9awLKsR5kX9jnC0qJQRnKCGEj/aTnpIffF8XzZduDySVIEb8lScjLt3CKSKcQl8fFPnUVprkZ8hGb4lkJwTkrQmG78qXduNSujKFV+FPtCuBBOQy/hH3aM3fy9ItYSxv6QScB6iPOS/Z01Mkq0UmQ==; 31:BRUY/SYetcqlIL3w4kPMUdeHN6hkraQYqUjEDbRa6FrpIYoMwShB6YVptaVSXLNhYAY8oqj/AF8UE9rGLX3zjYk/amD2VNBc2ac4AbVRBwUT7MMPwW8+bvqO4z5xAOs0Ge476B7aMZVikVoSSWkX0Z3wQHeSbk2t0oegaCcxCHMU2zkH7OwW9oa7L8fUvvW7/W8ZzMEADlzEoBFKHToGyUaOUOo5ghqFz2yJWgzV9gI= X-MS-TrafficTypeDiagnostic: BL0PR07MB4994: X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 20:cFUGw9IhZZfaU3xLuTkwvauOEMtEPtFaJE8ahSq4WwfVtPvYtc35zF3wmz7vGxsRHfd3wyz+GMbcFgs3C0l/1/LA2drYXP/91I1l/0VC1r0PISScNab1ISEZqjYBDee5ZlO52Nu7xlWl2anUtwD/sxphvzuLQ1GpliymmneB6gwLWFQnfdtvIO2da4SPMO/VXw/m00cTr4/JhjlYhJ3//jSJ8E8ntsQJFVjtHzi4vepWAIc0DiLavVz+TNNBpEtXs/e/wvcBXTa4V4cZepp5N5QOwOtJ4X9SILf9uzCe+7LpGZXRJI5HSOgUegZ1Du+DBCxsjsaE5nukB7HaHcofM/UdFevPKiGzgSsxrDhAJFJR1EEXdhCTxDtyuA1aqq8dhGX0BjcOaJa70rtELZ58RwDVjH5Moc/ZNdQN1R1qMEOxLzhJFk9hceci+wzoIrr371HBrW9b54TnLYHl8wPF9cV9jZSLLeuIMTgJX7PBR4Nb1iDvUGh0nmOh9jRIIhyQpwoqh5C6xWRoDkGBsUr1W/ubsM/4GvV+IzuOiFHqMOtKJTTIujkS3AWp3ipXuCTZtQoWerfUBuPfwXcagNjPVeYOEbOA+9ndA7A0azvjf88=; 4:ED9WrthBho6M7nQGO14RZzNFgheXoJe1zbCRyxbodkLagHegTxLtfXXFuAbcfz6lAl21tdoyGzzotk1H1zIFiYn/+hV671VA8kLGMliU9fibjlBLaQZFKGfqOVZrMKTYY1vfbskn/RwBQHZMUFXlRzk04qirVnd69P/X2Q2oyow7lGd1XGQ8Nt2oiSZ0ujqnzEp9YU0FHTXi7ebINX3d7LFLzeYU+ATv+0J73br7w45iiiTTv5duLCxd5PFCImxUi0p5t0PJZLxWzmgKBksyBQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(3231311)(944501410)(52105095)(3002001)(10201501046)(149027)(150027)(6041310)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(201708071742011)(7699050); SRVR:BL0PR07MB4994; BCL:0; PCL:0; RULEID:; SRVR:BL0PR07MB4994; X-Forefront-PRVS: 07943272E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(136003)(39860400002)(396003)(366004)(346002)(376002)(199004)(189003)(106356001)(81166006)(53936002)(8676002)(52116002)(110136005)(316002)(8936002)(68736007)(4326008)(2870700001)(2906002)(5660300001)(51416003)(50466002)(6666003)(97736004)(6486002)(81156014)(50226002)(105586002)(186003)(1857600001)(42882007)(25786009)(16526019)(48376002)(476003)(486006)(14444005)(44832011)(26005)(478600001)(36756003)(1076002)(305945005)(2616005)(3846002)(47776003)(386003)(6116002)(66066001)(72206003)(107886003)(956004)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:BL0PR07MB4994; H:jerin.8.8.4.4; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL0PR07MB4994; 23:PVOUJ9BCjHffvpBtbIfrARQAg+z8lzgjRU7Wxd9rL?= 7oMYm+kTtc/YsW6HN9SqOt/GZrtMJ2CAPqiyhdeF/CY6IJZeYAZslw294Jrgl7v+YdI0EpP2pBbvDMwArl44uysrSIrv/rC06XKjyZpri72ioECIKdKvQx+1yg7rWMbZwtpF7U5eHxJtBgvVnMvp2V9w5ElV4LIp+bc5tn3usjM7HBTVfkS0ULOft5WL2RCJB5/ClC5X2nExoZZfrM7a+RPjjZwfh7w+7zfDNCYHBVybUGu+tLykhDHJ10PaK0nOvTMgwnOWbnUDCP3m2Ifp+LApsmP1mB9IHgHv5WlxkRdTFmmhwZltEd9ACKIg/My/655cxzLg2u1rE4y3Uw/v6pGYw/i78AL7MvwTsAiffGEBkjduQd1oQ+a1S7bUn91ilI1Nk5jhqJOQ6JA7Zy2WMky5HXXxdmvPy57Xx5aA/iVJ0WvY7kYdsQcMpUZZMkWtbsuYCnChqa7UWAxkmHwbTmUT4vM+KYiO08//U2da7kexLJ9MZmfnKxeVmJ0sJi1aKp3d8yc3k+eanJr4jEOdXQq4Ht40QF1+rOsTQqe0N1FXnkaaXVrRDfP2VZ2Qdv+KcdQTN2P8uXIBDaRo+VXSfOG2tmPRY450gatERj5utby/S7oKT+tLQVFRwoXRmGANf4SZ4Ug78axHiWiRTxcfTW8xnigegmRR599asi1uvlVgIJohUux3685YwkpbyeFF9XqECFdqEMMwScoITJC9o8VG/j/AT6XoVGS98dE3Are97F6hvM/ZIMt2cCnZGbCO7N50/GvphcxXA2O/NNx61B9aLm+HX4sOyE9bwjNqBFsB/DCjS60fnyh5frtQqvBG3eW0IMUnH4StxTLoRq/L7WDeiDWxdNBGCP/ql9KmfQg+uM75G8zLmcDu3Wg1wdplvc9Cvjw2vNhbk6P5QeEi/1IWkFFU0ylqWZMJL2ae31KQC6SZfTjDFR/P84AXvA/ETSomeNqRF3Jo0FT+q6DTjl3d/Vk/YUSMzIY/bw1iVX1O4wOaNbI6/V8xBdxuUoLRsmMIAl+/3gOdC20gCKL0fwngqkE6Q6LtIakdTkT+lByOjtofJAmTgTem+ABc/Q5wJc67Kq+En542KhmhxrGxr3bRNT3UZ6M8pex4woAkXdon2D3q/+jEwtwc/NN/xTQh1mbG0PWMocVjj7haE5JE8oRarI3fXEdoFrgSCFlkuuveQ== X-Microsoft-Antispam-Message-Info: hAG3zUsBdDeNPDONelQWCUrBjjBL2oOl7e4FcqX+A2z9PeRhmYfIYCjL9TED665kfovigtdDuX8O0lrYYfI9MgW27gJ6p+trdaNYTBOtq9SDN7DFC6kMKy6oDhGPLsOlbJU0MWWJVpYGWiO2Yf0iujyfqDF3ZxXF/Zf3RFGsxs7dvGpUBWZMKfqzYrmNGvKNvP4K9xmYDEk7Zs/Lqhd7WSiA+htR27+/EBFvJ6wUcuawodBFZ7i2/loMaku/SM7OrqldhunPhGviz+UoI8wWCQpJBFdBrnG6HPZWD3qbRSoOArUVxPuVxYWsSXQOGl0jLnrR+pPUMZUXpHRH8yOEn/lCjCiuTFYLmTn7XjbMoZk= X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 6:f0LgNfKh9gnyOK6S6nxUQJb/aI2uZ77JesvZvtVzT2I1ZfZMoWcyG3j9rsS3QqJ8xBh/IiahCPEcVThakS6MMMdtp+EttFuMXmgatwrQ5vJVw2d0UH1b8lDWJEbTRo6kQBuFEaB8wDihhzoGwQHtWgfAU6dj3r1PQdamRauAkax44VMUoslFeOb4GUQQFoqb9dTqdmrHVbPRUwjWBn4UsSAWaGKFwsHWrbt97o4vfbMCBM8u1eociCJ+laEaf4QiyvH/hfUPJDRC14nQ1/9/cJNyQzuPwpeib1x/9lsSzFRnHCU2J8RbfQkqUfkyWKmB/Y9KzJiJLd9l2D86vyeYFfjVgJ1maejDqlYp4zgYLpZ7QaFZ4OXGcxiga5I5fHRnEy6R/JkpQJC3rzSrh08LaEPoQSoL1XBRtMP9If1zG000ryBliVxNSN1qbxs14ihdmOV9X5hest0cZE+TO6aH6w==; 5:OFvjOSWkB4mRmPotgjTOjs05ibAv/RjJ9TkPRzKsm7uyg7xCSwBSQCiXmFniIos/EIX7Y+2A//zdeL3c6GW8h6vn8ZaR4ZhXVuKBmlK4j7siHrwu2JyEhdd750deCuB/DmsyKQ1XTWYByq0aZPneAmbp/3nnryGbJdSt5lHX4LY=; 7:DIdlFCl3RvJqVp9NOwWKHi0b3DzwWL4SmRRgPSh3hsd4IM4AyGlkrqUvYn6RNEybdShlVrU20tG7Q4shK+HgB8dGRiejx//Db7H2K58v5DyPX9k82hoO85Q+Hr2GFto20xOCj7FxmBqlAjoQdPkoIzXgeaV9TMG2gvE9MNomh1/zzkGKUZL2qXR4RZNJfwM2IKv3UqHp21hJbJX9SvwTDUMw1SrrQhPELI16/SVMmEce8wsLYWKew+Fvps9O/Y87 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2018 13:47:57.7573 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3e4ca0d0-a228-455f-540d-08d6197f85a9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB4994 Subject: [dpdk-dev] [PATCH 1/4] ethdev: add SCTP Rx checksum offload support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Jerin Jacob --- app/test-pmd/config.c | 9 +++++++++ doc/guides/nics/features.rst | 4 ++-- lib/librte_ethdev/rte_ethdev.c | 1 + lib/librte_ethdev/rte_ethdev.h | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 14ccd6864..c4ed8d474 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -576,6 +576,15 @@ port_offload_cap_display(portid_t port_id) printf("off\n"); } + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_SCTP_CKSUM) { + printf("RX SCTP checksum: "); + if (ports[port_id].dev_conf.rxmode.offloads & + DEV_RX_OFFLOAD_SCTP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM) { printf("RX Outer IPv4 checksum: "); if (ports[port_id].dev_conf.rxmode.offloads & diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index cddc877d4..a98356a16 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -575,7 +575,7 @@ L4 checksum offload Supports L4 checksum offload. -* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM``. +* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM,DEV_RX_OFFLOAD_SCTP_CKSUM``. * **[uses] rte_eth_txconf,rte_eth_txmode**: ``offloads:DEV_TX_OFFLOAD_UDP_CKSUM,DEV_TX_OFFLOAD_TCP_CKSUM,DEV_TX_OFFLOAD_SCTP_CKSUM``. * **[uses] mbuf**: ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``, ``mbuf.ol_flags:PKT_TX_L4_NO_CKSUM`` | ``PKT_TX_TCP_CKSUM`` | @@ -583,7 +583,7 @@ Supports L4 checksum offload. * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_L4_CKSUM_UNKNOWN`` | ``PKT_RX_L4_CKSUM_BAD`` | ``PKT_RX_L4_CKSUM_GOOD`` | ``PKT_RX_L4_CKSUM_NONE``. -* **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM``, +* **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM,DEV_RX_OFFLOAD_SCTP_CKSUM``, ``tx_offload_capa,tx_queue_offload_capa:DEV_TX_OFFLOAD_UDP_CKSUM,DEV_TX_OFFLOAD_TCP_CKSUM,DEV_TX_OFFLOAD_SCTP_CKSUM``. .. _nic_features_hw_timestamp: diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 4c3202505..d91870e90 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -127,6 +127,7 @@ static const struct { RTE_RX_OFFLOAD_BIT2STR(TIMESTAMP), RTE_RX_OFFLOAD_BIT2STR(SECURITY), RTE_RX_OFFLOAD_BIT2STR(KEEP_CRC), + RTE_RX_OFFLOAD_BIT2STR(SCTP_CKSUM), }; #undef RTE_RX_OFFLOAD_BIT2STR diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 7070e9ab4..adbe936a4 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -900,6 +900,7 @@ struct rte_eth_conf { * No DEV_RX_OFFLOAD_CRC_STRIP flag means keep CRC */ #define DEV_RX_OFFLOAD_KEEP_CRC 0x00010000 +#define DEV_RX_OFFLOAD_SCTP_CKSUM 0x00020000 #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \ DEV_RX_OFFLOAD_UDP_CKSUM | \ DEV_RX_OFFLOAD_TCP_CKSUM) From patchwork Thu Sep 13 13:47:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 44691 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: 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 8E9541AEF0; Thu, 13 Sep 2018 15:48:15 +0200 (CEST) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690062.outbound.protection.outlook.com [40.107.69.62]) by dpdk.org (Postfix) with ESMTP id 4B6D2199C8; Thu, 13 Sep 2018 15:48:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fxuDV/6ReCHqgXfF8QMTL3AI5IeWAD/nx170dk+ldpA=; b=i4/KffTWRPYtRv7Ec/fwCYr/P2ofZYfRkWJvaeC21U+4B9TtJXpbIU2bjxlcOE8+hiz29/+SI+Cn0jxNklBnLz7T5GJ5i5TE8gqj9khEZJnOgr/IYZNJJsLi8b6GgUW2syH2ASc+i10psHWaI6F6nwWKIYtiZqJQeW4+WIypClE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.8.8.4.4 (122.178.212.30) by BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Thu, 13 Sep 2018 13:48:10 +0000 From: Jerin Jacob To: Olivier Matz Cc: dev@dpdk.org, Jerin Jacob , stable@dpdk.org, jiayu.hu@intel.com Date: Thu, 13 Sep 2018 19:17:05 +0530 Message-Id: <20180913134707.23698-2-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> References: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [122.178.212.30] X-ClientProxiedBy: BMXPR01CA0021.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::31) To BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fd80b12e-0a0d-4aa0-bc00-08d6197f8c62 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BL0PR07MB4994; X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 3:g6yzHREkRwtpoY2SU4ddzJcJwLI1gjzrYeeyjAghQay5svyQTMp7yQtoLrKuW+cPXGDrQufgSsE9cBRRXJyjJ+GXpV7wwrCXd/M+p/5eI7W5EumKKl2j0Evyy+2BYis2iYMJHbO11fQAVJFAqBlksA1Dfeyq8GHvhdbfl/eqeAxvRhaprksjt0Z066kVMQpMOOnKDDSwVXh+Ol4p48CGuI7Rlimb+RaRdIdEkH3QLLlX8LCKpUetxYuP0njZoHQL; 25:q3bw2QkGL0K0/H5Me70NTn7sEXHnbIphFQl/xE13az+UxVW7bBWxybLWNV7NCNNMk2T7a9mMTkIC4wdRagdgmhOuGWQb16OIy+uQyfGcSZtvRtu8hNnQ7uI3P3lhz8Cp0b1Y9xursY+aAIk7G1IEnp/sDGHGh9m0sAWKW22J6CC4fYg+76CFK/KjShNKzQ52aVyQ6yELiT9JxCAoSr4igEEUxYbhp6ZIhnzso/iH8CtAE65rrphRHePDTqeLa1G4WA7bQ3T7lJg+s8b0wr5eOVk0yPPoEd5SkBZrMs8PUFaFjEisJE3D0kgj/XRVWLVInpX00rTnEGt5/cQUzTExRQ==; 31:HqKjeRt8d2xHmX+rwHFYR5lr+JLsT7IJnIrhDAD+TXK2Ea6Edx0VG7bexy13AdCXDzZ8Dn+Go429yf0ipp4odW971G9C/zp2I/8U2Ly3kqGjqG3R1ElC5SNzRqSjNJOQXVy944286tUim0hPW4HZ4LGWR1W77t19ZGrYubvQfNi3EwQSW1CrZQB0KFHbKLf9TUUjk2sRz9OiYQK53rh8nAqARuFzZNc94rBbMvQBudY= X-MS-TrafficTypeDiagnostic: BL0PR07MB4994: X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 20:M3NAYjVa/j8bD/RTqfR/uqbMGXQI5GCYt/2dKGWfWkCzh8cEVvaxub5RI9QCIZoNR7v1yw8/viYUEt7NrA3zUFipnjYcghSNxkZe/UQMosz+jFEBMbk9hy/6iBAgOuDkbMG+FBsw/Qv59yZiSt7YqHKQvIsCiBB82fm4HYRKN7wwe8bH4WakKXbUoQS0/HWJXrqL7TGEhRwsd9q4VJ8EzJvAKdbm11/qfdLqKz7iElmRuaRJuDMHN9apBFrGq2U6R8izq488QKxo4qTCAJ4spwkJ143zPlmumeBqrzdprQu31h91dc+CzUlTjRz5OZBVRjhFTA2xopK0pyHZ68eeLlfUQkH1cyTxXPvNnFpgzBXG+xMDbKkPGsywvdJUfSc4sQv/BucNwAuPQTq1xXcUERalBqbTZufuDPPWiT015/RteJunnMKBtZsiSzmGmfeDn75KDG/RbO6XGQXBWGWkpyzEfItqeZYjyR9qR8C8CetLD6JDim18UZD9VC+1vmNzt90ZYMG5AlgWqAa6KEsUK1/y7mLCCJ+2+gHCJmDi9eUmDAyCDXvahnGtuDgn5SErxocxSox+MuKSOLfOifJoMAUOFZ/3C/9KFDkBLlrYTAA=; 4:8VBthujqbbJ7FxNbFNRstPoZw0l0S1VqHouy43bX692k3o8N8TUZdmEJ4sHX4T1VyMoFbLDLjmhAnMVryGlP4dvpFwphu7fJA88Fz+h91O4C/HR5lDNSIy+akSGwQdqKOu4Nu/E2AuZAhSMPPrC7vHn3JPmHlrESqQhVfhqFl9cdFHGWzB0kXdh09x8h7jtHYSpBLJI1iNCWaZW+J8SLrlkDMJ4vc1hI5fNM1e8xL8rO6tP1PF7Ja1/0kUK+EhCMyte5bNXhyG7SnGJObxqjGJFJH8t78V3o7xUWTxZVN1RuCsGVaAXVNMz6tbY9kYGy X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(3231311)(944501410)(52105095)(3002001)(10201501046)(149027)(150027)(6041310)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(201708071742011)(7699050); SRVR:BL0PR07MB4994; BCL:0; PCL:0; RULEID:; SRVR:BL0PR07MB4994; X-Forefront-PRVS: 07943272E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(136003)(39860400002)(396003)(366004)(346002)(376002)(199004)(189003)(106356001)(81166006)(53936002)(8676002)(52116002)(316002)(8936002)(68736007)(4326008)(6916009)(2870700001)(2906002)(5660300001)(51416003)(50466002)(6666003)(97736004)(6486002)(81156014)(50226002)(105586002)(76176011)(11346002)(446003)(186003)(1857600001)(42882007)(25786009)(16526019)(48376002)(476003)(486006)(5024004)(14444005)(44832011)(26005)(478600001)(36756003)(1076002)(305945005)(2616005)(3846002)(47776003)(386003)(6116002)(66066001)(72206003)(956004)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:BL0PR07MB4994; H:jerin.8.8.4.4; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL0PR07MB4994; 23:qefZekpvOgsMeN0hj7kscxFV0kk7MT7kT5EnlFo77?= FTQ6yTdym/oMGBQ587LfXDwSfSjlp0kkln5ICOaiSwMKU1QOsYS+Fix83EiTu7Eb04pGR8tu6j2RtXuT5rjjRU9yQ/p6y1QGXymS4PQMmdTw31nPW3lRSt3vs6S7xOs2LJkDP55C/q/8xhrJmzhM3y1OpmzDu7nUoXFILd4Ij9AfuhUty5ULU97gBfm9YQzVS2oONPOEkvpzgMpqaeWcKsOD9XY2iVepUNo/6na8/U6hr8NF28+BjfMC5u/J1ih6qvHmLHfwd0Ibq0U94yLEYKpAlrFSXCZb2zZ4ejhIn3gnUO1h7733pfAh3tHOc+nwSrO/fODeW3/Kqx9BG3DfqYXRJ2LEv+suSW7Z/LIAOlN9l3U7dgsW+a6C+kqqJ4dt/XZ7Rr+Gvh4t86aitCrzk052Ow2+5zZT/5haOGFZ80b7HEUld13Tdd/c/fRfeFEkDBjnB67oL64WmwcehHJROox0+cIExYojEaVGhdBahb2SW43imM0n29uo14uR+gfn1i7/dJtcpHi/OiGKXQH3UHOLuZsSiwJBtJV1NnVv8REhYUTZRXq66p09pdA9CHh1I+K3mY/12xPxZJxwV+n1/f95SL/s0+/c4LWrZVMH4sphxeJdohcMBoJ6FuxSa4u2CaRM/RxB6/zFQ81qs7TIhVKHo2oKyS2zCKZ3wN3kZnq44Rl4OtO9JGLpZi+lA83dpce8pzqoEHv/q/Mz4SF3NC+Luu8QYzg6taniID8JvaDX+U53JED9avB4EgoToQVBupFoEPRZPfEj++MTAM1b4RHySYAn+yRjD42hyv7I0TJKV4HHpeCy8ic+yGBwqaqetbaRxXQJxAqqm8VSPcP2ANHpzIxmOWfEmC0uysAWH0AkRt4Nz8CxIciLS9rAvWjObja4J+ZzqZnIjcEzEvv403KxFu+FChFH6kpm0XwccH0TRFl/jJhJjusiASBAW5/tk1Kbewz8u12LKb+iYHFR/ihL6ja9z+l9qvgkbeX5ZkNIhndRgnOhT36owmB5vHv/NOg4E9Iuwl08ytGnuin0uddMVGuAivO+G4478YozBaZRKVUyw4kR8S2ZwAScOOXQP3CZdkQ7oX7Yz6jqnofykUd3XeU7uAcvqmVuV7iP6c2ClSkJHXVPVkW4XSnpHCMqyRGhza/w0xn9BUxji2YgPFwg/exXVJQss5zF8fmEmrOOx3JLswfz75/KFlmwZo0Tb3wEHRbK0+CSkpsNut+oPT2 X-Microsoft-Antispam-Message-Info: d7lkNlm73nxprbF8nttqyg8o0nRf/R+q9DqOGE1y/TfyAosJRsUVYtiKP1/FeQfsf9aT3QHuopE5lb1e9luxwLwH+UHAW9jwONr93dp/HBmrMoKvjbN2nGhP8STmp1FcQ4jJkK+a1DGj6LVXXtem6rPGohepeSrYIKL/AJX8NvzPDVUmR0kQFifjCGGVrDFLN/0utDwG506ToECk2EHsdpZeKZR8R9/YcAqViopIDCj+Fq6Q8WWyf2/Jv7KWN6FhqkCYn1Qhuwk7Y+bvntebHlM3XzP/Ca9gBWZlpR7LazYQYQpiKcpVoRA52roTUxs+DS76ci3tqiI/+5lVRa5GqRZkp+trM4DENRWyoydFMGo= X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 6:D78IUircCjVO5BwIcHfWzv6y6+Y5gHW9kJ4tKNYgKc+9GzsOggFzz++X9GzKZ/+johB3gMrId1oyccfZtvIhXsbor/0MXVTjKSjK2lrZ+8bPAElKuHzxcNuqTjBhJMh7rUinhk1V2mpM1xejP66dOaVzTh7FOa8W3zf4BB1bIqCKugmilBDjRciM8BZGbac486HsNhlTBmjKsyZru1Fiahn0omp7OImrm62V1ZchE9DMMzfO36HmKq5XayNModcLeXpaDnW8qkrpFUHo3d/jzavM48mRtA3B9VBMWPM21xJ0Q9Evd9buSh6NVpBw1MnfZLe7UKITqZ9ekEU4hP82cHnLHMJX+3Bv667LoHzVvFgiPBc7WjGHlnfa4LCuAxMuW1sZijmtKxCR7e8IKiGoHYbl/sh4j1GdZrMPzB81b9LlSkgVTsU6XREbyFLLnqgbD2ZhioTjTKsF1hFwVs3eGw==; 5:XMdFz8XFzMHnMuNVNlRS1Io1Eyo0BcOL+WK0kO1V/s6Nmui/zlQKM6QNoYRuhY6FqJhElDcvOTAD9teM+dfEA8VoKqw61BIfVdRvOEQNyg35yRH16JIjZ2aJgyh9yA0R1tDBFW7StweGJ+F4tmvA3o0wglPIioFZeOUzoXS6MD8=; 7:3HZMPy7Xd5VSbQaKg0JWPCKMN0GqPsPF/J9xtqZxffb1Jtn8tQ1jKrqzHM/Xz2/RHohtW28WwxPnXKrjDx4sAH2Gu6UxPMWgQd2s4uF1v9I1sbkY0Ur26Ef4faH8lrqh47XERtcpOncPa8UQHzllBfnQ6IpYb4rWaOXIu3mq152toZnhzZXaTFTV/wGNCwN4C4H8JhOD5XTV5zZ6vvRr2yUc4rmkghHjaiHOOnGe/t0FMh1+Tk2aFNfJuu0xEtdy SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2018 13:48:10.6169 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fd80b12e-0a0d-4aa0-bc00-08d6197f8c62 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB4994 Subject: [dpdk-dev] [PATCH 2/4] mbuf: fix Tx offload mask X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fixes missing PKT_TX_UDP_SEG value in PKT_TX_OFFLOAD_MASK. Fixes: 6d18505efaa6 ("vhost: support UDP Fragmentation Offload") Cc: stable@dpdk.org Cc: jiayu.hu@intel.com Signed-off-by: Jerin Jacob --- lib/librte_mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 9ce5d76d7..6a5dbbc8f 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -343,7 +343,8 @@ extern "C" { PKT_TX_VLAN_PKT | \ PKT_TX_TUNNEL_MASK | \ PKT_TX_MACSEC | \ - PKT_TX_SEC_OFFLOAD) + PKT_TX_SEC_OFFLOAD | \ + PKT_TX_UDP_SEG) /** * Mbuf having an external buffer attached. shinfo in mbuf must be filled. From patchwork Thu Sep 13 13:47:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 44692 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: 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 070501AFFB; Thu, 13 Sep 2018 15:48:23 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0086.outbound.protection.outlook.com [104.47.38.86]) by dpdk.org (Postfix) with ESMTP id C93C41B05F for ; Thu, 13 Sep 2018 15:48:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dh+XcS+SO9NvQRy032L2w5VWsv9jHypubDStcEfM2Yw=; b=Wk9b4FLhNJABmng1rOzGT4BDXxR66SiJzvqC4ba8/Z7SA7Jw3BzhXTSyL9QBFOhWSVKtNQUPKtjzpLGLTvSk24c0nX8avP7ph37tpU+GTEDir3el/53IUa1oOTnZCvvOcQCc2nfx9LM6wlspcpBAZ0aAc4IvbwXtNuKvvafu0HA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.8.8.4.4 (122.178.212.30) by BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Thu, 13 Sep 2018 13:48:16 +0000 From: Jerin Jacob To: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Olivier Matz Cc: dev@dpdk.org, Jerin Jacob Date: Thu, 13 Sep 2018 19:17:06 +0530 Message-Id: <20180913134707.23698-3-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> References: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [122.178.212.30] X-ClientProxiedBy: BMXPR01CA0021.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::31) To BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4800dbf8-af21-4f00-b232-08d6197f90e4 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BL0PR07MB4994; X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 3:3nxEAdF/SpUaY04CpWjCHmXje0dy4I3qlFVhcOLWuQUdvQYh21rPmTJPxzG0L+1MBA5oX5uPfos8g6KiPzDKgYTVFxP/fFMz1R45ERbKXEK/73x9DTaSsViQx/yg1eVtzynHSbVX7ttqwbH+S2qhMX5lTlY1o264jRXzU+GwSZg2HOiFhhuXxq5sVm55RJDi7rwsgWUMp3tUPvk0Of05Yg0HDK34TXrObQYe8JFd7mG+DhY9i0EOAGelYJF4s+DU; 25:qfGiJHr/nRpAHmnx/9AhSdE+F12R0Gbfah1/SNRrs5PuHZoBzdCTNaH7QRMyHtQah9EUXgQLU2jrMNsAdSE6BKKlxuP4URKx7ni2tXZJSJLi6N6GbPtCWGOdNis844EGvf1ehGMXAz5H93TftLAPYB8uqYal2tlIqWeM3QKqD2R+X26aRa31KZxH8QSX/55T6AyG6FZV5r4o0dAX9qDcl8w1OrDqtOTWYcl88MmTT2C7/pX5ilekT6x+3oieFnLzWKMfRAFeHfcl8YLl2vXQ79h96gMmKZ3FGYEi+3G2xw56o5vlCvE1sSCyTzwjojh38qDS4k2ROjEvGUetl49hiQ==; 31:NuqCgj4evgu+cy4U01RLCA3aTLRna9OQZB5CZVYBysR0MhyW/cgCF2K7ffXu6p6T8mSjrlpAG5UF3ndgiDeSLaJSHFwdWV26KuBlXRZoLsGSX96zh/kZM1sO/FjiucF21KLISPH8RtI7RDAYhDmMkJZQO6NPPDo+dlnM78Z7HAGx3qSbpjgsBd0fRtwSzFbwcP0ysTxeWUJOUGhlbuZtJDmSXdd4F+RCvoi/vtgm+xs= X-MS-TrafficTypeDiagnostic: BL0PR07MB4994: X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 20:EfqtZr7YBEbu4u2SZiEBUlRoSXvnwSU2sOeEpNiztTGJTfjByfGPm9CQrld3tYU+fadEYMIRqRPQYMU5yUYvcl8w4wY4p7iiMXC4EqaHjkEjngAch3r7Pvpd/RgyYuJ9e0z/rcDlDrjt+u/z5aGcUqB3X+4Suj+4h99BowRaGHLia0H/gFMI+dUSf2QXgFTa3Ldza6S3YuTsO1S/iO5NPVT1vYnxdK8NO+Q7Y5kjjDj7YdQHOwuKrCr81Y1F4L0i6i/yJwbyu0pXpFBDBoEMyQiFW7UCAUnmsrwbrkbTSg/bFK4MJ0xyPD72UKlosU71zQAFTUGpCYn/QfjNw64jr/7v96AbEifBxv0bXfTU0hI4rMyiBi7lVLSkdg9mDUJ11Yoe51jC6to0+SEcXpFUyeR93D6Nb4oB0yzqVdsGUT4lX2Wu6161c63UlVTNFnQJzCDJydnOS1YAP1q0x+YmNBKBP+aY5SFEoriQQqnxEDZDVntpza1boDtdAfxowzaW1IIbMtdZG9dduC4/FimYctV+lafpoxjA342rpM6xj4+dBbrfDBBF6DIhyr3Rqbl5f6CK8Z0srF5UlTRumho6n7cXWGWQCrq2A4VEz1IhDfQ=; 4:8W7vAQ7gFzat3NMYqPPBzABE3DOWYIXm3YRWU9RlSSBfszCdfQjd3lNAb7IfD6XdrIdCK9LiuHfSJFlH19PHD29h9Cgv7kSCazax2Le0GewiRxus6AZYRFMT9cjH+cyvPfgyEHVgADxsm+lCLBLQ2QxM08bnX+E1ON3XbtHFsMYNvspmZPD/kmHE/N6O7xhe10pes1EoYF+6k7y96dnn13ovQ6NN8IXaLgdsrVU0ol+rWpy6sYZ/SuBYWEwvbC2E1NIdPsSerZbeoXjHjZNZcw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(3231311)(944501410)(52105095)(3002001)(10201501046)(149027)(150027)(6041310)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(201708071742011)(7699050); SRVR:BL0PR07MB4994; BCL:0; PCL:0; RULEID:; SRVR:BL0PR07MB4994; X-Forefront-PRVS: 07943272E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(136003)(39860400002)(396003)(366004)(346002)(376002)(199004)(189003)(106356001)(81166006)(53936002)(8676002)(52116002)(110136005)(316002)(8936002)(68736007)(4326008)(2870700001)(2906002)(5660300001)(51416003)(50466002)(6666003)(97736004)(6486002)(81156014)(50226002)(105586002)(76176011)(11346002)(446003)(186003)(7416002)(1857600001)(42882007)(25786009)(16526019)(48376002)(476003)(486006)(14444005)(44832011)(26005)(478600001)(36756003)(1076002)(305945005)(2616005)(3846002)(47776003)(386003)(6116002)(66066001)(72206003)(107886003)(956004)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:BL0PR07MB4994; H:jerin.8.8.4.4; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL0PR07MB4994; 23:apLh4HPweAO+f58VLGUP/EzgBLA4ZajEspaEQPw3D?= J1GFnLUm8sse5+d7Czizg1Yu8LqpjVh8l5y0nKMhB2xWrFIcZkJ2L/PiZKFYLwleWwpMoOWcaGd9hZ5W5dFqgp/r2cPca97G5apuSnD6B1l+a081yoHWssO/xy352FUaRHBUMdBmZlCw5oBFMZwIDC1n4/Zn6uYvRhCJEFnO94S6XTTwY9o5SCumyhdUxp05rb4pOB8ZhIFw6yYhT9BRL794jDg4GN/JIWK723bd8TMDlkq3DzQdHdzEn28XkrEyj+YW74b5/0RkDDSwF6By9+XnL9hO5BoP9MjBk7/wjN6bnsfescZf+Ny8ysUGk3SukU/XPNPxQni6qsbrmc1QnC3yKjyzk0Cc761rkaqdOhP9RSpkpSBm4gmREjDkkYsEDRzfd6rjTVHXj6Ci9tUeqXxVMZYFUZC2UOaQzvsmrEz14TC6nBqzWJsF0RyPYUWnTa28RiXpBWZxmwIh2xQkYRcxMzmn9LtpSjpuK8A6AOktSQi/74z+yiB/oWRlWaQMlcwWbnfMa3H0FDInesIPfOcJq0N/qmb81whwC6QLwzPiTPZGSjeK2QKHoYggBOPDRxwAuM6B+Fb6e7mK9r28FTRk3NbwQCRJoU/QnZNojUzI0VIVKzTGKLAMw0OC2MIqaNQmI5RCOUnKmSHAXCgT9fEe/yYeCGmTtWGDP7tLxSstynLkXWsiwi8iKf+itY5RvE7HGwpgxOQIFP1T5nAkRtgArVVTrRBYpKCRqXFZHdwV7NeFEpnvYyYnTi0/6lI4upHJq/AbUhWypcVYDyCbQFIokpmlHNZ+ZX7bQmm9whPLoPk0Y10WuBf/IUndqXpIVJcxL7F9XdurbnX0vkEYZSE0Zv88iLpu6qdrsvEi7HI0mAP0XuT5mFEINdvn5wyiRIvkM+QOgERqoMyT25/13uHnSdrkTiDWR38fC9G7zbdmngdZR6bGBXYJ+W7xGvKW2FVZEqaDEsklI3vW9fP6wDJX9VWFkuXVhj/Cr063VJp96XM5jczHpsBb0TyzSKv0sILrD7pRyCLHipW2cCDx9Aw7TlR01cD+FB8iS8NL6mUwbrw3rNoaqvHoGI7uxcIhI0hjqHhuZgz4nTsv3t0xQcGfObBqv7Cq91QMPV6u8HO90CYCFKQrtbqTn1ezUeL6MHEYNTqGN2LdvJcnmLl5de6paLuuBny6xyWkzuzXkMaXowVgtSKbKAey7NLANNF8a+8W3FPL+CVVWJQkIgzXbwcjvH0KPwz3UPwmP/9vFvvsQ== X-Microsoft-Antispam-Message-Info: Lo2Ih8JY+JdoBdQnY+RLa2XY/6KFl1cqJM++mNCPmVfs2DdEBvJQwIiLzI+RYT7aMdFZlWvZlE46K0dYONrvc3hbtsrRo5O/RdN0upkP05Xub1YYSBZ9xt5mDJjWgwMt24MHTYeItEOwHbXDK/Y1wIDdhEGlhnoaHdupocuDuDe27rSCkQafznA7TomxD4c2DrPWc6bWsXPW8jyN/GfCihFB9g7CRb/7g3x6PoWfwqFKYwrAfZDcxAH+KVSezSkjcJncdUEDM8uScW8RW6VyaOKWvude5qna2+pNI5yEmNbHvZTlyVjcSftGZq4nqY79jM/4YfowiSlBJYlMbvBTc6kavsrbgz42juNJvgXc6gc= X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 6:HuP+SVzoMwhD79zpAdu8KWrRlkHQUz5qSw1lxvpqF23c5bettiaa85HzLmtfeZAPeETYZpTN1NTfzQlRCX1dIH8LReLwJ4i9G9EI/3e2skO3473TV6t2HhMvcHJiE78HSIeT+CLimBiThgmQkB+P20y2PKINUY9+qGDEnM2+uewEKk/rPsxrZvs5YqFSYu9/J7oZlgj4KBafw82ADmIC2vbhqxpriA2ggVFVOe3Y7cXMeOMx9Wg5qjsokWlge7wHgvtRbKbpl+q+XuwtmOc2lfXnbWFRtA0H9Sn1/N9kZKsRwQ5kshQJFrxfFjb7We4dNuiE3yRv94aXfYB85rBalJ2IP0x/U6/GMl+fN/LijoRDTxK0pQ/eQB/rSirVjDOWI5IaxA+dHEIc4w2WaGD+GwvElJyksIKg6UMNMmUe06meLp0UGeUYRnKrfUZDt0vQpl916t6hfeWEH7Vi5VSRLA==; 5:Y3O2i/kTla9InGIG9MKRG1b/MixWsUeC7cMkSUqCwLi2vCKqXDaywBLUo/L+BsaBU1lv8fJnYSOWPuT8EGWcWs5qCVBbLA5tK3EvjzRxPx32WWZf7Hwk+nPpPouZQh8HW73P0IZ4DZ6fitlVMTwPdzamUE+Jxsa3EC0sxFfWFrM=; 7:NTM4zeb49Qqabkpimi0fuU5pBJ7lSMeH7StB0/9RxMb3Gf8RjNLZ9KGIKjOZFYdLUP7rItYwToAhVoUFYM3ZmmfJdIQ1pS3RXDSks5/qXb60EO9smJURUV/52pAH+7eTikO2gZJ7sNzR5D8FvCCm2tHtf34HumXM/aq/T3cZsMe6BTJo2WpeHKn/O7iIMGRWu4tfr/wvMWtXjwxv5P6go4lshOHopNRaldXNhPSwTNIwyCoACM2MI9Mb/b3pvsov SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2018 13:48:16.3670 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4800dbf8-af21-4f00-b232-08d6197f90e4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB4994 Subject: [dpdk-dev] [PATCH 3/4] ethdev: add Rx offload outer L4 checksum definitions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Introduced DEV_RX_OFFLOAD_OUTER_UDP_CKSUM, DEV_RX_OFFLOAD_OUTER_TCP_CKSUM and DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM offload flags and PKT_RX_EL4_CKSUM_BAD mbuf ol_flags to enable outer Rx L4 checksum offload. # To use hardware Rx outer L4 checksum offload, the user needs to configure DEV_RX_OFFLOAD_OUTER_* offload flags in slowpath. # Driver updates the PKT_RX_EL4_CKSUM_BAD mbuf ol_flag on checksum failure similar to the outer L3 PKT_RX_EIP_CKSUM_BAD flag. Signed-off-by: Jerin Jacob --- app/test-pmd/config.c | 27 +++++++++++++++++++++++++++ doc/guides/nics/features.rst | 3 +++ lib/librte_ethdev/rte_ethdev.c | 3 +++ lib/librte_ethdev/rte_ethdev.h | 9 +++++++++ lib/librte_mbuf/rte_mbuf.c | 2 ++ lib/librte_mbuf/rte_mbuf.h | 3 +++ 6 files changed, 47 insertions(+) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index c4ed8d474..92a177e29 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -594,6 +594,33 @@ port_offload_cap_display(portid_t port_id) printf("off\n"); } + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) { + printf("RX Outer UDP checksum: "); + if (ports[port_id].dev_conf.rxmode.offloads & + DEV_RX_OFFLOAD_OUTER_UDP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } + + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_TCP_CKSUM) { + printf("RX Outer TCP checksum: "); + if (ports[port_id].dev_conf.rxmode.offloads & + DEV_RX_OFFLOAD_OUTER_TCP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } + + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM) { + printf("RX Outer SCTP checksum: "); + if (ports[port_id].dev_conf.rxmode.offloads & + DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } + if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) { printf("Large receive offload: "); if (ports[port_id].dev_conf.rxmode.offloads & diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index a98356a16..68420d196 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -638,6 +638,9 @@ Inner L4 checksum Supports inner packet L4 checksum. +* **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_OUTER_UDP_CKSUM,DEV_RX_OFFLOAD_OUTER_TCP_CKSUM,DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM``. +* **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_EL4_CKSUM_BAD``. +* **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_OUTER_UDP_CKSUM,DEV_RX_OFFLOAD_OUTER_TCP_CKSUM,DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM``, .. _nic_features_packet_type_parsing: diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index d91870e90..547132a8c 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -128,6 +128,9 @@ static const struct { RTE_RX_OFFLOAD_BIT2STR(SECURITY), RTE_RX_OFFLOAD_BIT2STR(KEEP_CRC), RTE_RX_OFFLOAD_BIT2STR(SCTP_CKSUM), + RTE_RX_OFFLOAD_BIT2STR(OUTER_UDP_CKSUM), + RTE_RX_OFFLOAD_BIT2STR(OUTER_TCP_CKSUM), + RTE_RX_OFFLOAD_BIT2STR(OUTER_SCTP_CKSUM), }; #undef RTE_RX_OFFLOAD_BIT2STR diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index adbe936a4..4665bd6f7 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -901,6 +901,10 @@ struct rte_eth_conf { */ #define DEV_RX_OFFLOAD_KEEP_CRC 0x00010000 #define DEV_RX_OFFLOAD_SCTP_CKSUM 0x00020000 +#define DEV_RX_OFFLOAD_OUTER_UDP_CKSUM 0x00040000 +#define DEV_RX_OFFLOAD_OUTER_TCP_CKSUM 0x00080000 +#define DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM 0x00100000 + #define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \ DEV_RX_OFFLOAD_UDP_CKSUM | \ DEV_RX_OFFLOAD_TCP_CKSUM) @@ -908,6 +912,11 @@ struct rte_eth_conf { DEV_RX_OFFLOAD_VLAN_FILTER | \ DEV_RX_OFFLOAD_VLAN_EXTEND) +#define DEV_RX_OFFLOAD_OUTER_CHECKSUM (DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \ + DEV_RX_OFFLOAD_OUTER_UDP_CKSUM | \ + DEV_RX_OFFLOAD_OUTER_TCP_CKSUM | \ + DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM) + /* * If new Rx offload capabilities are defined, they also must be * mentioned in rte_rx_offload_names in rte_ethdev.c file. diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c index e714c5a59..022e92b3c 100644 --- a/lib/librte_mbuf/rte_mbuf.c +++ b/lib/librte_mbuf/rte_mbuf.c @@ -301,6 +301,7 @@ const char *rte_get_rx_ol_flag_name(uint64_t mask) case PKT_RX_TIMESTAMP: return "PKT_RX_TIMESTAMP"; case PKT_RX_SEC_OFFLOAD: return "PKT_RX_SEC_OFFLOAD"; case PKT_RX_SEC_OFFLOAD_FAILED: return "PKT_RX_SEC_OFFLOAD_FAILED"; + case PKT_RX_EL4_CKSUM_BAD: return "PKT_RX_EL4_CKSUM_BAD"; default: return NULL; } } @@ -339,6 +340,7 @@ rte_get_rx_ol_flag_list(uint64_t mask, char *buf, size_t buflen) { PKT_RX_SEC_OFFLOAD, PKT_RX_SEC_OFFLOAD, NULL }, { PKT_RX_SEC_OFFLOAD_FAILED, PKT_RX_SEC_OFFLOAD_FAILED, NULL }, { PKT_RX_QINQ, PKT_RX_QINQ, NULL }, + { PKT_RX_EL4_CKSUM_BAD, PKT_RX_EL4_CKSUM_BAD, NULL }, }; const char *name; unsigned int i; diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 6a5dbbc8f..80989483b 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -177,6 +177,9 @@ extern "C" { */ #define PKT_RX_QINQ (1ULL << 20) +/**< External/Outer Layer4 header checksum error. */ +#define PKT_RX_EL4_CKSUM_BAD (1ULL << 21) + /* add new RX flags here */ /* add new TX flags here */ From patchwork Thu Sep 13 13:47:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 44693 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: 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 7E2481B05D; Thu, 13 Sep 2018 15:48:32 +0200 (CEST) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690045.outbound.protection.outlook.com [40.107.69.45]) by dpdk.org (Postfix) with ESMTP id 9C6171B027 for ; Thu, 13 Sep 2018 15:48:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qouX5Q2NsCabJ7iTvVrpE4zGZ1xizpHCRzdOY3/ngF8=; b=fYGAa084wYRI2rtRyeW8k/CHaAqn6TWKWuOvK1HjPaJJIxn4jDGoq/sNpBM06p9KaHSqV+nhEZbX1D0e4E4Cy3qa3Ks9eJ9C33ENUoBb3cI/1zNUgQdXdlxplDxQSsm5YlHvIJ30Wtc1wwDSBYbYGrLx8qsn43GKgCYX8GsPlzQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin.8.8.4.4 (122.178.212.30) by BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Thu, 13 Sep 2018 13:48:24 +0000 From: Jerin Jacob To: Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Olivier Matz Cc: dev@dpdk.org, Jerin Jacob Date: Thu, 13 Sep 2018 19:17:07 +0530 Message-Id: <20180913134707.23698-4-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> References: <20180913134707.23698-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [122.178.212.30] X-ClientProxiedBy: BMXPR01CA0021.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:d::31) To BL0PR07MB4994.namprd07.prod.outlook.com (2603:10b6:208:49::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f708091-61fb-4acc-669b-08d6197f9606 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BL0PR07MB4994; X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 3:1WSmvzdiHck/K5cOUD+siDoKNeLwV3RSsnx90xJZUIArsizI2pNeL1IbS6rPFdUZkhvx7hpusP/iTQFfeWXBmSv1KaqqTiRpi2k/+O2OvpzNzEk0T6iOdbjTL4OfKzAsZWNPKA8m/nXOY93T9/vbRE6WNGixq5Lg+PJ6shghbq/6USOIns48VAJEbvTI4MiHNI0oc+cBMJR3XkXHDXXcEg+75ebxj9efEwOt3G3D9ZxbV5FqfhBbTEJMDOBLGkC2; 25:4q2MmdvyL/QeTIsXwcG+onI8SS+pXPLZ6wD6QuHMSwRwbgqf2MY3TjLh6wy8UL144uWgAjWoKHENlHbNAKdCdTGc0iaClEGp9O0W/ke2mLqCh4v1ktEZTAXjMCPSjF8kkX6J8KWZ5S2U0ag2N6iZQKOaDmtDUu3JRcaQ3trgdlZvIdXthpIC1Ja49Te2mGrJX6009nOGTGx+1kuLLy7nfOfNSHaJ1WSVLaFLz7pB2vL5/RcFaL62p+fnNa2ODi0cMdFNo91/3ka72ilJFoW3ZHpPZqm2yqeCzejzrBQcXOXOaFY8+SVLZMzM3HIJceGErOwG0QSyFLPaHgxQ47on5A==; 31:ftqViigDfMbpX8dZitUPw0myD00oK4UOXo6e6na5gWcjxHHDHs5xDu20vT3dAn5DiyPLS7aNt5vZqNUmdCZFn6ij98xr/k/l90Aav87CE8wRHobwOny0wcI3/bN601Kg4S9aveqAJEe7uMdxHGbpGRowaonsMToxze2M1BPJFDybH3PrgHRcjikcKZwGZlVJ5hd0L1gM9klB85oqp1dN5X2iVKq6pVvtIfJomRkoHYM= X-MS-TrafficTypeDiagnostic: BL0PR07MB4994: X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 20:LO3237TV0gwb3jofK0jNULfG6+QAMBKn/E0MpTPPbtQ8netTBpLAbYsDNfXPMMrMB520QvDsPRxo+K+wKhORa+P3SHF2DdCmb1S7VDXrgO/qHVYWkDo8L8eEjz9t5lEdKYvopBU8qQMX2jErmu9shR1j8foW0ANDzQlCYPTRsvsai52oXxfDgPld3wca3p4YX0BRFu5drzShiuMnXh2KwMWRqTmGUTE35TSo9AWRCXSHaDAxvgI+Ox1creJ1P3tkXzbtMH0HJ5Z0cD+gZ+r2TNkM0urUGi5FWAn2006FEGyBfnbK4L6gzUVR9qX9Ypu58K7/G4UwjnHIP3HKSKvNMZKskEHv9xQ3DsvJf8TevqxrUlZMNzGW7chAnch2DL3F+r6THYblOgVjXnnNNkS4Edl+52yyEQlhwkBNdVAvMcAe0RHsRrLQLowyQwlh6Hhc40Id/fAFzREqvBpUmV6Cglhaq2JCje6+f8s+Y63zMt646hFkD31glAqPbXuHPE+knRvsqthT0K2Rrq0TpGTzyC7+g+012n/cw5/8mAIE+T301tZkww+l1h3Ptfra0dZ6VhZoWuAR7v1TuYGcsv2QzdYpFBRJ+8lBNNtbPgEd5U8=; 4:b6PKWOVR2vJzpixDsuzqWQ2mBNptnpD6cKv98ykdi49DADNidTvbcbCedsD6qW5qOjDXGRHk7fp0KSZAWkxhGSte06vXM1ibM46E5twWsKNN2XLq5JY6BoeOoZCRNqJEVj6Lupz7xqxZAF3xnMcm8DyPLon6IxknU17B89QoSHD3ftMhjPwo49pZXmWitkJw0/YiEy8TU+z7U/yuI3aT/x8+8NmDTrdtJRTDLkYT6qETc4p5QNTBuWnngmG0kiBudwpmSEn7Tr4oX04eWiOPQA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(3231311)(944501410)(52105095)(3002001)(10201501046)(149027)(150027)(6041310)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(201708071742011)(7699050); SRVR:BL0PR07MB4994; BCL:0; PCL:0; RULEID:; SRVR:BL0PR07MB4994; X-Forefront-PRVS: 07943272E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(136003)(39860400002)(396003)(366004)(346002)(376002)(199004)(189003)(106356001)(81166006)(53936002)(8676002)(52116002)(110136005)(316002)(8936002)(68736007)(4326008)(2870700001)(2906002)(5660300001)(51416003)(50466002)(6666003)(97736004)(6486002)(81156014)(50226002)(105586002)(76176011)(11346002)(446003)(186003)(7416002)(1857600001)(42882007)(25786009)(16526019)(48376002)(476003)(486006)(5024004)(14444005)(44832011)(26005)(478600001)(36756003)(1076002)(305945005)(2616005)(3846002)(47776003)(386003)(6116002)(66066001)(72206003)(107886003)(956004)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:BL0PR07MB4994; H:jerin.8.8.4.4; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL0PR07MB4994; 23:FUuXMGXyTeSR5Qr1RM/cYPsakST4FtMk5+yv8JqXw?= M2xanzmfMIiuF1s6rhGj4TNon11P0yUSNTzEg44QABXok3TALQW467PXBah9bdhlYiSekstsjxmFqSGaT2CLJ2lOgKbg29HgiUwTmHRselqNlSKQ3hcd9I29Hv+0BZmvmu+AvNJIUIctWC8iN5N7BCG+91QKa8wqzdDlJGDq/KBlJ699I1kY/Degsi0wnfKTFuT5xvneQJb9V9GzKVp0snSje0x9TEQUO7iPMc+rtc+xfMornv1cN7xsyOQRgJol9jWd0dsZDPWHkF0DOdzFGgjr+UnlaxMEGubnDtYVWCoOM1wmCJ7QYNWg1su1ykd77SQrBeAggKiUGeEbs/899pbyic0nrYLiIhHz8/ODT8cria/rPelHumi27fYINe4ngqwDlXdJZha8g9lgv3lGJp8yBrsVLQaqWuojc3omIo9nIhVCKr4nL+VD/4KLhztm9dSSSogScj3VQVJeCX/5/iX/bMzO+2tFRHhi3SYBz6OYBTPCzebOCW9+LLk70wmtYQIuGHeEnTBnCudOd/X6dkgmASr/vREVl/A2Jl6JfgiteUXB/gfxWE89ap4bbdkiUTUrmojV2p+lXhtqSeMAwT6Xex/sVMRxC0ES+TK3+TnbNeaORc6ZPB/OshIxSwUGk6I9HvuxOjPSbzVZpK53m2LVgaWkXumtwCHsFyrPtO8n9LP+1x0c+guLBm7LSG/WYkY/4ZhnlLv20wvYUmBHibvzwXMFxltfAZFmrsjoGgVp2vNfJdonuHLBQLl3iU/zMSiHr8ceVIxGDG4ONYQQL66qYQMroDu9NWVfbvRBr5bCJuLjFrtru98d/3nvZMJujqdA9WypS4FzhU75J39uVNEZ5fUmVBFxMT0y/olN6QqxBvERyZm4GVt+3WaYjZJwkbbmKbJEk7vm5W5X8ihP2zTdu9h597tgObs0DGazZJiRI5zYVzoWBSIT63IAhT06eKB7AA4qfphCyWEmCMT0+1uKZKxeg4kTTO9tiYqrmYhtXoCQJLHNpA3beUkG9XBQMR7qfwzvv2LjvmtpdTSLRpw2P+XQiLTDbETSDco/GOR/iMQQWfcNnKRtYtUHB5ndlLWWoWCz9GK38EJpZzGpOvzM6ZQkVz+gZaUeqrI7OXZ/xYfYhqNlcjehsj5iKc/dG+oCCceFL7lwt4Jtxq2Gd+YC8XdqmGYDAw246/pcFWVs3ELaS0MA9TNCg/8ZF6apisaGYd7eD0NZs+LfdeaMfMFPEyBvcgRdg87NOM9LymlBSosJFDh4KHmq+M6EAsczBY= X-Microsoft-Antispam-Message-Info: +Ue7DGPbl2pFVVwkt5ll/grjLx+aZj9487X8UEpOD5LK0jM11SgkA6VCF2M5Uuhj5D9JxemDVoWPMvMXKRg6bc01OJuuadGeumrnUaKHad27mYXPEQztvljrVn0vHwpr8TY8ze64uLhOJoSco78k0bTvIpadAt7LHw0TL//osoOgYcuglV+rD0UbRc/zub+NRJmwfSC0eqjEELbe6QJwwAn0AoQJGNqvWNhqXr4hF36/g6foa0TKiqp98ukXQvSzGkiCVlhyCIDkJUlYszx1e7oc/UnQt6lRSQjXvU1nw8Qq1TvNIR18wg3mk++mvDq/pYrkgWbUw04BSwgJPXBvsO/QrORULpTAe8yC8WvlCPk= X-Microsoft-Exchange-Diagnostics: 1; BL0PR07MB4994; 6:0+BAtYy7PkGd4VehGZ9iywChNuv25itbNgdFzHtjxivUVSIl1KI8qXDHcEJDdSROZs8WTArIeHKRV+lXIgrVrWuPikXZ+q/50YT/bLtFDdllY2patiVMnJjSiJ7w0DlrG4skT31mDT3L0SHki1qGBoc+AHAz2n3zAvyVVXSfwlunmj9ht4cWA3RHI1XS/kqptmd1O/rpwnagaZKRzP0azZ262TFOSWhQ5cnWQhtlC3QFG/0ZH7oRATzGLTT3tICQbku5qrLuSI2XjWc53dZvNW/AElm704z4Wtr76QkdVGt3TvfYEijcWpZSqMa96ZUdWtH17d87c/NWgKfhsiX0v+JZ2ayfbxdpKLd2QUlaiHYwnAB83rOFcIPtid/TeXYwWP2i8m6iGFZhrcniROzpzdK8pODbjwnh3gSPbn9IrcAttg1WjRoaWf91mfgwo5qe20/HNCfG4p7rrTzm03z7tA==; 5:b2bfrmA4NwkYdjQwu7oA6VMY1Gi8jLIekG4qJQ2208ANW4Izcu0u+yUfNJWpWqMH8dvDxei+sEm7mEyc+XllAdi4s9EhnRbMChxvY45uNgB2kbIhDjCsCQqQc7UOj8kEfogZqMbgpRhOhRJxuQMn+zufHBzcX+nQ+q2JXZAJGjk=; 7:Oh6nmc+pE2yAgRbiW/A50nKCDMusrqG6qSSTOmFdosFEnwrc1WZ6M+UIIyYf0ZvlS4HpLB6Y0S2hC9IoeCWxgPHJHn/Pd3FgQua36st6WleaamGA7NOfSRorrEMX1vhnZTtUfYjViBNGl3OFmT5lZEkd5S3vG8cdq2ewojOmS6o/Nee3/1yBdl7i1IC7tVjRCysH/KJe6enQitkMbdHxA+3rZOsDwEJAq/Yhuyfqmf7cO2Q/pKzD+Csd9Uwwreas SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2018 13:48:24.8514 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f708091-61fb-4acc-669b-08d6197f9606 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB4994 Subject: [dpdk-dev] [PATCH 4/4] ethdev: add Tx offload outer L4 checksum definitions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Introduced DEV_TX_OFFLOAD_OUTER_UDP_CKSUM, DEV_TX_OFFLOAD_OUTER_TCP_CKSUM and DEV_TX_OFFLOAD_OUTER_SCTP_CKSUM offload flags and PKT_TX_OUTER_L4_NO_CKSUM, PKT_TX_OUTER_TCP_CKSUM, PKT_TX_OUTER_SCTP_CKSUM and PKT_TX_OUTER_UDP_CKSUM mbuf ol_flags to enable Tx outer L4 checksum offload. To use hardware Tx outer L4 checksum offload, the user needs to. # enable following in mbuff: - fill outer_l2_len and outer_l3_len in mbuf - set the flags PKT_TX_OUTER_TCP_CKSUM, PKT_TX_OUTER_SCTP_CKSUM or PKT_TX_OUTER_UDP_CKSUM - set the flag PKT_TX_OUTER_IPV4 or PKT_TX_OUTER_IPV6 # configure DEV_TX_OFFLOAD_OUTER_* offload flags in slow path. Signed-off-by: Jerin Jacob --- app/test-pmd/config.c | 27 +++++++++++++++++++++++++++ doc/guides/nics/features.rst | 6 ++++++ lib/librte_ethdev/rte_ethdev.c | 3 +++ lib/librte_ethdev/rte_ethdev.h | 6 ++++++ lib/librte_mbuf/rte_mbuf.c | 5 +++++ lib/librte_mbuf/rte_mbuf.h | 23 ++++++++++++++++++++++- 6 files changed, 69 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 92a177e29..85f832bf0 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -773,6 +773,33 @@ port_offload_cap_display(portid_t port_id) else printf("off\n"); } + + if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) { + printf("TX Outer UDP checksum: "); + if (ports[port_id].dev_conf.txmode.offloads & + DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } + + if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_OUTER_TCP_CKSUM) { + printf("TX Outer TCP checksum: "); + if (ports[port_id].dev_conf.txmode.offloads & + DEV_TX_OFFLOAD_OUTER_TCP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } + + if (dev_info.tx_offload_capa & DEV_TX_OFFLOAD_OUTER_SCTP_CKSUM) { + printf("TX Outer SCTP checksum: "); + if (ports[port_id].dev_conf.txmode.offloads & + DEV_TX_OFFLOAD_OUTER_SCTP_CKSUM) + printf("on\n"); + else + printf("off\n"); + } } int diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index 68420d196..884dbd7a5 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -639,8 +639,14 @@ Inner L4 checksum Supports inner packet L4 checksum. * **[uses] rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_OUTER_UDP_CKSUM,DEV_RX_OFFLOAD_OUTER_TCP_CKSUM,DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM``. +* **[uses] rte_eth_txconf,rte_eth_txmode**: ``offloads:DEV_TX_OFFLOAD_OUTER_UDP_CKSUM,DEV_TX_OFFLOAD_OUTER_TCP_CKSUM,DEV_TX_OFFLOAD_OUTER_SCTP_CKSUM``. +* **[uses] mbuf**: ``mbuf.ol_flags:PKT_TX_OUTER_IPV4`` | ``PKT_TX_OUTER_IPV6``. + ``mbuf.ol_flags:PKT_TX_OUTER_L4_NO_CKSUM`` | ``PKT_TX_OUTER_TCP_CKSUM`` | + ``PKT_TX_OUTER_SCTP_CKSUM`` | ``PKT_TX_OUTER_UDP_CKSUM``. +* **[uses] mbuf**: ``mbuf.outer_l2_len``, ``mbuf.outer_l3_len``. * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_EL4_CKSUM_BAD``. * **[provides] rte_eth_dev_info**: ``rx_offload_capa,rx_queue_offload_capa:DEV_RX_OFFLOAD_OUTER_UDP_CKSUM,DEV_RX_OFFLOAD_OUTER_TCP_CKSUM,DEV_RX_OFFLOAD_OUTER_SCTP_CKSUM``, + ``tx_offload_capa,tx_queue_offload_capa:DEV_TX_OFFLOAD_OUTER_UDP_CKSUM,DEV_TX_OFFLOAD_OUTER_TCP_CKSUM,DEV_TX_OFFLOAD_OUTER_SCTP_CKSUM``. .. _nic_features_packet_type_parsing: diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 547132a8c..6cc5ad055 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -160,6 +160,9 @@ static const struct { RTE_TX_OFFLOAD_BIT2STR(MULTI_SEGS), RTE_TX_OFFLOAD_BIT2STR(MBUF_FAST_FREE), RTE_TX_OFFLOAD_BIT2STR(SECURITY), + RTE_TX_OFFLOAD_BIT2STR(OUTER_UDP_CKSUM), + RTE_TX_OFFLOAD_BIT2STR(OUTER_TCP_CKSUM), + RTE_TX_OFFLOAD_BIT2STR(OUTER_SCTP_CKSUM), }; #undef RTE_TX_OFFLOAD_BIT2STR diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 4665bd6f7..a5b33a27f 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -963,6 +963,12 @@ struct rte_eth_conf { * for tunnel TSO. */ #define DEV_TX_OFFLOAD_IP_TNL_TSO 0x00080000 +/** Device supports outer UDP checksum */ +#define DEV_TX_OFFLOAD_OUTER_UDP_CKSUM 0x00100000 +/** Device supports outer TCP checksum */ +#define DEV_TX_OFFLOAD_OUTER_TCP_CKSUM 0x00200000 +/** Device supports outer SCTP checksum */ +#define DEV_TX_OFFLOAD_OUTER_SCTP_CKSUM 0x00400000 #define RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP 0x00000001 /**< Device supports Rx queue setup after device started*/ diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c index 022e92b3c..af14d9273 100644 --- a/lib/librte_mbuf/rte_mbuf.c +++ b/lib/librte_mbuf/rte_mbuf.c @@ -437,6 +437,11 @@ rte_get_tx_ol_flag_list(uint64_t mask, char *buf, size_t buflen) "PKT_TX_TUNNEL_NONE" }, { PKT_TX_MACSEC, PKT_TX_MACSEC, NULL }, { PKT_TX_SEC_OFFLOAD, PKT_TX_SEC_OFFLOAD, NULL }, + { PKT_TX_OUTER_TCP_CKSUM, PKT_TX_OUTER_L4_MASK, NULL }, + { PKT_TX_OUTER_SCTP_CKSUM, PKT_TX_OUTER_L4_MASK, NULL }, + { PKT_TX_OUTER_UDP_CKSUM, PKT_TX_OUTER_L4_MASK, NULL }, + { PKT_TX_OUTER_L4_NO_CKSUM, PKT_TX_OUTER_L4_MASK, + "PKT_TX_OUTER_L4_NO_CKSUM" }, }; const char *name; unsigned int i; diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 80989483b..541521d7d 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -184,6 +184,26 @@ extern "C" { /* add new TX flags here */ +/** + * Bits 40+41 used for outer L4 packet type with checksum enabled: 00: Reserved, + * 01: Outer TCP checksum, 10: Outer SCTP checksum, 11: Outer UDP checksum. + * To use hardware outer L4 checksum offload, the user needs to: + * - fill outer_l2_len and outer_l3_len in mbuf + * - set the flags PKT_TX_OUTER_TCP_CKSUM, PKT_TX_OUTER_SCTP_CKSUM or + * PKT_TX_OUTER_UDP_CKSUM + * - set the flag PKT_TX_OUTER_IPV4 or PKT_TX_OUTER_IPV6 + */ +#define PKT_TX_OUTER_L4_NO_CKSUM (0ULL << 40) +/**< Disable Outer L4 cksum of TX pkt. */ +#define PKT_TX_OUTER_TCP_CKSUM (1ULL << 40) +/**< Outer TCP cksum of TX pkt. computed by NIC. */ +#define PKT_TX_OUTER_SCTP_CKSUM (2ULL << 40) +/**< Outer SCTP cksum of TX pkt. computed by NIC. */ +#define PKT_TX_OUTER_UDP_CKSUM (3ULL << 40) +/**< Outer UDP cksum of TX pkt. computed by NIC. */ +#define PKT_TX_OUTER_L4_MASK (3ULL << 40) +/**< Mask for Outer L4 cksum offload request. */ + /** * UDP Fragmentation Offload flag. This flag is used for enabling UDP * fragmentation in SW or in HW. When use UFO, mbuf->tso_segsz is used @@ -347,7 +367,8 @@ extern "C" { PKT_TX_TUNNEL_MASK | \ PKT_TX_MACSEC | \ PKT_TX_SEC_OFFLOAD | \ - PKT_TX_UDP_SEG) + PKT_TX_UDP_SEG | \ + PKT_TX_OUTER_L4_MASK) /** * Mbuf having an external buffer attached. shinfo in mbuf must be filled.