From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v12 1/6] ethdev: add Tx preparation Date: Thu, 01 Dec 2016 17:28:52 +0100 Message-ID: <7834627.cBDVu3uoNi@xps13> References: <1477486575-25148-1-git-send-email-tomaszx.kulasek@intel.com> <1479922585-8640-1-git-send-email-tomaszx.kulasek@intel.com> <1479922585-8640-2-git-send-email-tomaszx.kulasek@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, konstantin.ananyev@intel.com, olivier.matz@6wind.com To: Tomasz Kulasek Return-path: Received: from mail-wm0-f51.google.com (mail-wm0-f51.google.com [74.125.82.51]) by dpdk.org (Postfix) with ESMTP id C660558C8 for ; Thu, 1 Dec 2016 17:28:54 +0100 (CET) Received: by mail-wm0-f51.google.com with SMTP id f82so253680778wmf.1 for ; Thu, 01 Dec 2016 08:28:54 -0800 (PST) In-Reply-To: <1479922585-8640-2-git-send-email-tomaszx.kulasek@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-11-23 18:36, Tomasz Kulasek: > +/** > + * Process a burst of output packets on a transmit queue of an Ethernet device. > + * > + * The rte_eth_tx_prepare() function is invoked to prepare output packets to be > + * transmitted on the output queue *queue_id* of the Ethernet device designated > + * by its *port_id*. > + * The *nb_pkts* parameter is the number of packets to be prepared which are > + * supplied in the *tx_pkts* array of *rte_mbuf* structures, each of them > + * allocated from a pool created with rte_pktmbuf_pool_create(). > + * For each packet to send, the rte_eth_tx_prepare() function performs > + * the following operations: > + * > + * - Check if packet meets devices requirements for tx offloads. > + * > + * - Check limitations about number of segments. > + * > + * - Check additional requirements when debug is enabled. > + * > + * - Update and/or reset required checksums when tx offload is set for packet. > + * > + * Since this function can modify packet data, provided mbufs must be safely > + * writable (e.g. modified data cannot be in shared segment). I think we will have to remove this limitation in next releases. As we don't know how it could affect the API, I suggest to declare this API EXPERIMENTAL.