From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5D701A055F; Fri, 27 May 2022 10:15:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6C8AE40E5A; Fri, 27 May 2022 10:15:11 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 2FED440E50 for ; Fri, 27 May 2022 10:15:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653639309; x=1685175309; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=c6DQnB7aPuJkOEKr6RWhjTgvGIg/ZDdUhZgjvOgdLNo=; b=dFeDseGfyoxl23085yDQA8epH6e8fWbrSa4lyjNojFq6uW0UD4CZzxec dc2FnRXnE0+s5MVkCTtTNUSAupbhlznXo3GznYCXzpfr0CNhf5GvWwblG Tke8y/I9/h0+axcgWkRvYsm0zbmc6lckoeApxrtILTBvEExlbJE69GfIG wGQ73XUJNq5xnxz/Oalu5iC1PuRp2btod5/DGya5QB7r1STMK+jDo/JdG 8Uc1DaPehBes7q9XvTPkB/GQV1xg06EtcK7ZR/BuVAdYUf7TpiFD9B3yV VRm+XFWwD4UmCKq4BT8cTgqY8FAks/zVawgEMkO2kR11o/TKJAaISmivM A==; X-IronPort-AV: E=McAfee;i="6400,9594,10359"; a="274144211" X-IronPort-AV: E=Sophos;i="5.91,254,1647327600"; d="scan'208";a="274144211" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 May 2022 01:15:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,254,1647327600"; d="scan'208";a="603748761" Received: from npg-dpdk-xuan-cbdma.sh.intel.com ([10.67.110.228]) by orsmga008.jf.intel.com with ESMTP; 27 May 2022 01:15:05 -0700 From: xuan.ding@intel.com To: thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru, mdr@ashroe.eu Cc: stephen@networkplumber.org, mb@smartsharesystems.com, dev@dpdk.org, qi.z.zhang@intel.com, Xuan Ding Subject: [PATCH v6 0/1] ethdev: introduce protocol based buffer split Date: Fri, 27 May 2022 08:14:30 +0000 Message-Id: <20220527081431.27793-1-xuan.ding@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220303060136.36427-1-xuan.ding@intel.com> References: <20220303060136.36427-1-xuan.ding@intel.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Xuan Ding Protocol based buffer split consists of splitting a received packet into several separate segments based on the packet content. It is useful in some scenarios, such as GPU acceleration. The splitting will help to enable true zero copy and hence improve the performance significantly. This patchset aims to support protocol header split based on current buffer split. When Rx queue is configured with RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT offload and corresponding protocol, packets received will be directly split into different mempools. v5->v6: * The header split deprecation notice is sent. * Refine the documents, protocol header based buffer split can actually support multi-segment split. * Add buffer split protocol header capability. * Fix some format issues. v4->v5: * Use protocol and mbuf_offset based buffer split instead of header split. * Use RTE_PTYPE* instead of enum rte_eth_rx_header_split_protocol_type. * Improve the description of rte_eth_rxseg_split.proto. v3->v4: * Use RTE_ETH_RX_HEADER_SPLIT_NONE instead of 0. v2->v3: * Fix a PMD bug. * Add rx queue header split check. * Revise the log and doc. v1->v2: * Add support for all header split protocol types. Wenxuan Wu (1): ethdev: introduce protocol header based buffer split lib/ethdev/rte_ethdev.c | 40 +++++++++++++++++++++++++++++++++------- lib/ethdev/rte_ethdev.h | 28 +++++++++++++++++++++++++++- 2 files changed, 60 insertions(+), 8 deletions(-) -- 2.17.1