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 704BBA0506; Tue, 29 Mar 2022 08:54:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 19BDA42807; Tue, 29 Mar 2022 08:54:08 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 3B08840691 for ; Tue, 29 Mar 2022 08:54:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648536846; x=1680072846; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=3ijw+sRM0pNT+zrYUESPyZLOPURQ+69nn+LtWIzozLk=; b=AB2s0iiwaN7cT/IF8rst6EjcRg00gp4f5UHA4CXb7+n0iZS2SmLpFL5k PnRLVv7etKjuElaBZZig9APr86ymWXe5X22g8Cz3X07PZpzomJjaxr3CA ZoXjNITZrmK0JJ3e7nRak1l75vE11Tjan9HiE7B4HBWrMV8OuZwUVf7BD dDt0z/qeIBja349SPOOaa9ypaC5VNjhFf67WSyRMydcfL0uCmDemn/yj4 9tc/mapU8WRNwwXdMQFw1LNjOCeTpbCEM/0awklxOPGKO07/MXycldRZn SBcFXHR109IB5xMI9zmGdEP6bUYP8M3mB5qe3hef+xNkB0+FUPqoZbfuC w==; X-IronPort-AV: E=McAfee;i="6200,9189,10300"; a="258892245" X-IronPort-AV: E=Sophos;i="5.90,219,1643702400"; d="scan'208";a="258892245" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2022 23:54:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,219,1643702400"; d="scan'208";a="564372102" Received: from npg-dpdk-xuan-cbdma.sh.intel.com ([10.67.110.228]) by orsmga008.jf.intel.com with ESMTP; 28 Mar 2022 23:54:01 -0700 From: xuan.ding@intel.com To: thomas@monjalon.net, ferruh.yigit@intel.com, andrew.rybchenko@oktetlabs.ru Cc: dev@dpdk.org, stephen@networkplumber.org, mb@smartsharesystems.com, viacheslavo@nvidia.com, qi.z.zhang@intel.com, ping.yu@intel.com, wenxuanx.wu@intel.com, Xuan Ding Subject: [RFC,v3 0/3] ethdev: introduce protocol type based header split Date: Tue, 29 Mar 2022 06:49:42 +0000 Message-Id: <20220329064945.54777-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 Header split consists of splitting a received packet into two separate regions based on the packet content. It is useful in some scenarios, such as GPU acceleration. The spliting will help to enable true zero copy and hence improve the performance significantly. This patchset extends the current buffer split to support protocol based header split. When Rx queue is configured with header split feature, packets received will be directly splited into two different mempools. rfc v2->v3: * Fix a PMD bug. * Add rx queue header split check. * Revise the log and doc. rfc v1->v2: * Add support for all header split protocol types. Xuan Ding (3): ethdev: introduce protocol type based header split app/testpmd: add header split configuration net/ice: support header split in Rx data path app/test-pmd/cmdline.c | 117 ++++++++++++++ app/test-pmd/testpmd.c | 6 +- app/test-pmd/testpmd.h | 2 + drivers/net/ice/ice_ethdev.c | 10 +- drivers/net/ice/ice_rxtx.c | 223 ++++++++++++++++++++++---- drivers/net/ice/ice_rxtx.h | 16 ++ drivers/net/ice/ice_rxtx_vec_common.h | 3 + lib/ethdev/rte_ethdev.c | 34 +++- lib/ethdev/rte_ethdev.h | 48 +++++- 9 files changed, 417 insertions(+), 42 deletions(-) -- 2.17.1