DPDK patches and discussions
 help / color / mirror / Atom feed
From: Olivier Matz <olivier.matz@6wind.com>
To: Tomasz Kulasek <tomaszx.kulasek@intel.com>, dev@dpdk.org
Cc: konstantin.ananyev@intel.com
Subject: Re: [dpdk-dev] [PATCH v10 1/6] ethdev: add Tx preparation
Date: Tue, 25 Oct 2016 16:41:33 +0200	[thread overview]
Message-ID: <e86291cd-f970-c0c5-4a3b-6da62516ce6a@6wind.com> (raw)
In-Reply-To: <1477327917-18564-2-git-send-email-tomaszx.kulasek@intel.com>

Hi Tomasz,

On 10/24/2016 06:51 PM, Tomasz Kulasek wrote:
> Added API for `rte_eth_tx_prep`
> 
> [...]
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -182,6 +182,7 @@ extern "C" {
>  #include <rte_pci.h>
>  #include <rte_dev.h>
>  #include <rte_devargs.h>
> +#include <rte_errno.h>
>  #include "rte_ether.h"
>  #include "rte_eth_ctrl.h"
>  #include "rte_dev_info.h"
> @@ -699,6 +700,8 @@ struct rte_eth_desc_lim {
>  	uint16_t nb_max;   /**< Max allowed number of descriptors. */
>  	uint16_t nb_min;   /**< Min allowed number of descriptors. */
>  	uint16_t nb_align; /**< Number of descriptors should be aligned to. */
> +	uint16_t nb_seg_max;     /**< Max number of segments per whole packet. */
> +	uint16_t nb_mtu_seg_max; /**< Max number of segments per one MTU */

Sorry if it was not clear in my previous review, but I think this should
be better explained here. You said that the "limitation of number
of segments may differ depend of TSO/non TSO".

As an application developer, I still have some difficulties to
clearly understand what does that mean. Is it the maximum number
of mbuf-segments that contain payload for one tcp-segment sent by
the device?

In that case, it looks quite difficult to verify that in an application.
It looks that this field is not used by validate_offload(), so how
should it be used by an application?


>  };
>  
>  /**
> @@ -1188,6 +1191,11 @@ typedef uint16_t (*eth_tx_burst_t)(void *txq,
>  				   uint16_t nb_pkts);
>  /**< @internal Send output packets on a transmit queue of an Ethernet device. */
>  
> +typedef uint16_t (*eth_tx_prep_t)(void *txq,
> +				   struct rte_mbuf **tx_pkts,
> +				   uint16_t nb_pkts);
> +/**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
> +
>  typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
>  			       struct rte_eth_fc_conf *fc_conf);
>  /**< @internal Get current flow control parameter on an Ethernet device */
> @@ -1622,6 +1630,7 @@ struct rte_eth_rxtx_callback {
>  struct rte_eth_dev {
>  	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
>  	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
> +	eth_tx_prep_t tx_pkt_prep; /**< Pointer to PMD transmit prepare function. */
>  	struct rte_eth_dev_data *data;  /**< Pointer to device data */
>  	const struct eth_driver *driver;/**< Driver for this device */
>  	const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */
> @@ -2816,6 +2825,93 @@ rte_eth_tx_burst(uint8_t port_id, uint16_t queue_id,
>  	return (*dev->tx_pkt_burst)(dev->data->tx_queues[queue_id], tx_pkts, nb_pkts);
>  }
>  
> +/**
> + * Process a burst of output packets on a transmit queue of an Ethernet device.
> + *
> + * The rte_eth_tx_prep() 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_prep() 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.
> + *
> + * The rte_eth_tx_prep() function returns the number of packets ready to be
> + * sent. A return value equal to *nb_pkts* means that all packets are valid and
> + * ready to be sent.
> + *
> + * @param port_id
> + *   The port identifier of the Ethernet device.
> + *   The value must be a valid port id.
> + * @param queue_id
> + *   The index of the transmit queue through which output packets must be
> + *   sent.
> + *   The value must be in the range [0, nb_tx_queue - 1] previously supplied
> + *   to rte_eth_dev_configure().
> + * @param tx_pkts
> + *   The address of an array of *nb_pkts* pointers to *rte_mbuf* structures
> + *   which contain the output packets.
> + * @param nb_pkts
> + *   The maximum number of packets to process.
> + * @return
> + *   The number of packets correct and ready to be sent. The return value can be
> + *   less than the value of the *tx_pkts* parameter when some packet doesn't
> + *   meet devices requirements with rte_errno set appropriately.
> + */

Inserting here the previous comment:

>> Can we add the constraint that invalid packets are left untouched?
>>
>> I think most of the time there will be a software fallback in that case,
>> so it would be good to ensure that this function does not change the flags
>> or the packet data.
> 
> In current implementation, if packet is invalid, its data is never modified. Only checks are done. The only exception is when checksum needs to be updated or initialized, but it's done after packet validation.
> If we want to use/restore packet in application it didn't should be changed in any way for invalid packets.
> 

I think this should be explicitly said in the API comment that
valid packets may be modified (*), but invalid packets (whose index
is >= than the return value) are left untouched.

(*) we still need to discuss that point, see below.

Another comment was made:

>> Another thing that could be interesting for the caller is to know the
>> reason of the failure. Maybe the different errno types could be detailed
>> here. For instance:
>> - EINVAL: offload flags are not correctly set (i.e. would fail whatever
>>   the hardware)
>> - ENOTSUP: the offload feature is not supported by the hardware
>> - ...
>>
> 
> Ok.

Don't you feel it could go in the API comment too?


> [...]
>
> +/**
> + * Fix pseudo header checksum
> + *
> + * This function fixes pseudo header checksum for TSO and non-TSO tcp/udp in
> + * provided mbufs packet data.
> + *
> + * - for non-TSO tcp/udp packets full pseudo-header checksum is counted and set
> + *   in packet data,
> + * - for TSO the IP payload length is not included in pseudo header.
> + *
> + * This function expects that used headers are in the first data segment of
> + * mbuf, and are not fragmented.

There is another requirement about the cloning and reference count.
Sorry I did not answer to Konstantin, but I still think this could be
an issue.

For instance, I think that the zero-copy mode of vhost application
references the packet sent by the guest and send the data. The payload
should not be modified because it is in guest memory (we don't know,
maybe the guest also cloned it for its own purpose).

It means that the tx_prep() API must not be used with clones, i.e
the headers must not reside in a segment whose RTE_MBUF_INDIRECT(seg)
or rte_mbuf_refcnt_read(seg) > 1.

- if we really want this API in 16.11, it should be clearly explained
  in the API comment that it does not work with shared segments

- for next versions, we have to take a decision whether it should be
  supported or not. In my opinion, cloned packets are useful and should
  be supported properly by all dpdk APIs.


Thanks,
Olivier

  reply	other threads:[~2016-10-25 14:41 UTC|newest]

Thread overview: 260+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-26 16:22 [dpdk-dev] [PATCH 0/6] " Tomasz Kulasek
2016-08-26 16:22 ` [dpdk-dev] [PATCH 1/6] ethdev: " Tomasz Kulasek
2016-09-08  7:28   ` Jerin Jacob
2016-09-08 16:09     ` Kulasek, TomaszX
2016-09-09  5:58       ` Jerin Jacob
2016-08-26 16:22 ` [dpdk-dev] [PATCH 2/6] e1000: " Tomasz Kulasek
2016-08-26 16:22 ` [dpdk-dev] [PATCH 3/6] fm10k: " Tomasz Kulasek
2016-08-26 16:22 ` [dpdk-dev] [PATCH 4/6] i40e: " Tomasz Kulasek
2016-08-26 16:22 ` [dpdk-dev] [PATCH 5/6] ixgbe: " Tomasz Kulasek
2016-08-26 16:22 ` [dpdk-dev] [PATCH 6/6] testpmd: add txprep engine Tomasz Kulasek
2016-08-26 17:31 ` [dpdk-dev] [PATCH 0/6] add Tx preparation Stephen Hemminger
2016-08-31 12:34   ` Ananyev, Konstantin
2016-09-12 14:44 ` [dpdk-dev] [PATCH v2 " Tomasz Kulasek
2016-09-12 14:44   ` [dpdk-dev] [PATCH v2 1/6] ethdev: " Tomasz Kulasek
2016-09-19 13:03     ` Ananyev, Konstantin
2016-09-19 15:29       ` Kulasek, TomaszX
2016-09-19 16:06         ` Jerin Jacob
2016-09-20  9:06           ` Ananyev, Konstantin
2016-09-21  8:29             ` Jerin Jacob
2016-09-22  9:36               ` Ananyev, Konstantin
2016-09-22  9:59                 ` Jerin Jacob
2016-09-23  9:41                   ` Ananyev, Konstantin
2016-09-23 10:29                     ` Jerin Jacob
2016-09-12 14:44   ` [dpdk-dev] [PATCH v2 2/6] e1000: " Tomasz Kulasek
2016-09-12 14:44   ` [dpdk-dev] [PATCH v2 3/6] fm10k: " Tomasz Kulasek
2016-09-12 14:44   ` [dpdk-dev] [PATCH v2 4/6] i40e: " Tomasz Kulasek
2016-09-12 14:44   ` [dpdk-dev] [PATCH v2 5/6] ixgbe: " Tomasz Kulasek
2016-09-19 12:54     ` Ananyev, Konstantin
2016-09-19 13:58       ` Kulasek, TomaszX
2016-09-19 15:23         ` Ananyev, Konstantin
2016-09-20  7:15           ` Ananyev, Konstantin
2016-09-12 14:44   ` [dpdk-dev] [PATCH v2 6/6] testpmd: add txprep engine Tomasz Kulasek
2016-09-19 12:59     ` Ananyev, Konstantin
2016-09-28 11:10   ` [dpdk-dev] [PATCH v3 0/6] add Tx preparation Tomasz Kulasek
2016-09-28 11:10     ` [dpdk-dev] [PATCH v3 1/6] ethdev: " Tomasz Kulasek
2016-09-29 10:40       ` Ananyev, Konstantin
2016-09-29 13:04         ` Kulasek, TomaszX
2016-09-29 13:57           ` Ananyev, Konstantin
2016-09-28 11:10     ` [dpdk-dev] [PATCH v3 2/6] e1000: " Tomasz Kulasek
2016-09-28 11:10     ` [dpdk-dev] [PATCH v3 3/6] fm10k: " Tomasz Kulasek
2016-09-28 11:10     ` [dpdk-dev] [PATCH v3 4/6] i40e: " Tomasz Kulasek
2016-09-28 11:10     ` [dpdk-dev] [PATCH v3 5/6] ixgbe: " Tomasz Kulasek
2016-09-29 11:09       ` Ananyev, Konstantin
2016-09-29 15:12         ` Kulasek, TomaszX
2016-09-29 17:01           ` Ananyev, Konstantin
2016-09-28 11:10     ` [dpdk-dev] [PATCH v3 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-09-30  9:00     ` [dpdk-dev] [PATCH v4 0/6] add Tx preparation Tomasz Kulasek
2016-09-30  9:00       ` [dpdk-dev] [PATCH v4 1/6] ethdev: " Tomasz Kulasek
2016-10-10 14:08         ` Thomas Monjalon
2016-10-13  7:08           ` Thomas Monjalon
2016-10-13 10:47             ` Kulasek, TomaszX
2016-09-30  9:00       ` [dpdk-dev] [PATCH v4 2/6] e1000: " Tomasz Kulasek
2016-09-30  9:00       ` [dpdk-dev] [PATCH v4 3/6] fm10k: " Tomasz Kulasek
2016-09-30  9:00       ` [dpdk-dev] [PATCH v4 4/6] i40e: " Tomasz Kulasek
2016-10-10 14:02         ` Wu, Jingjing
2016-10-10 17:20           ` Kulasek, TomaszX
2016-09-30  9:00       ` [dpdk-dev] [PATCH v4 5/6] ixgbe: " Tomasz Kulasek
2016-09-30  9:00       ` [dpdk-dev] [PATCH v4 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-09-30  9:55       ` [dpdk-dev] [PATCH v4 0/6] add Tx preparation Ananyev, Konstantin
2016-10-13 17:36       ` [dpdk-dev] [PATCH v5 " Tomasz Kulasek
2016-10-13 17:36         ` [dpdk-dev] [PATCH v5 1/6] ethdev: " Tomasz Kulasek
2016-10-13 19:21           ` Thomas Monjalon
2016-10-14 14:02             ` Kulasek, TomaszX
2016-10-14 14:20               ` Thomas Monjalon
2016-10-17 16:25                 ` Kulasek, TomaszX
2016-10-13 17:36         ` [dpdk-dev] [PATCH v5 2/6] e1000: " Tomasz Kulasek
2016-10-13 17:36         ` [dpdk-dev] [PATCH v5 3/6] fm10k: " Tomasz Kulasek
2016-10-13 17:37         ` [dpdk-dev] [PATCH v5 4/6] i40e: " Tomasz Kulasek
2016-10-13 17:37         ` [dpdk-dev] [PATCH v5 5/6] ixgbe: " Tomasz Kulasek
2016-10-13 17:37         ` [dpdk-dev] [PATCH v5 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-10-14 15:05         ` [dpdk-dev] [PATCH v6 0/6] add Tx preparation Tomasz Kulasek
2016-10-14 15:05           ` [dpdk-dev] [PATCH v6 1/6] ethdev: " Tomasz Kulasek
2016-10-18 14:57             ` Olivier Matz
2016-10-19 15:42               ` Kulasek, TomaszX
2016-10-19 22:07                 ` Ananyev, Konstantin
2016-10-14 15:05           ` [dpdk-dev] [PATCH v6 2/6] e1000: " Tomasz Kulasek
2016-10-14 15:05           ` [dpdk-dev] [PATCH v6 3/6] fm10k: " Tomasz Kulasek
2016-10-14 15:05           ` [dpdk-dev] [PATCH v6 4/6] i40e: " Tomasz Kulasek
2016-10-14 15:05           ` [dpdk-dev] [PATCH v6 5/6] ixgbe: " Tomasz Kulasek
2016-10-14 15:05           ` [dpdk-dev] [PATCH v6 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-10-18 12:28           ` [dpdk-dev] [PATCH v6 0/6] add Tx preparation Ananyev, Konstantin
2016-10-21 13:42           ` [dpdk-dev] [PATCH v7 " Tomasz Kulasek
2016-10-21 13:42             ` [dpdk-dev] [PATCH v7 1/6] ethdev: " Tomasz Kulasek
2016-10-21 13:42             ` [dpdk-dev] [PATCH v7 2/6] e1000: " Tomasz Kulasek
2016-10-21 13:42             ` [dpdk-dev] [PATCH v7 3/6] fm10k: " Tomasz Kulasek
2016-10-21 13:42             ` [dpdk-dev] [PATCH v7 4/6] i40e: " Tomasz Kulasek
2016-10-21 13:42             ` [dpdk-dev] [PATCH v7 5/6] ixgbe: " Tomasz Kulasek
2016-10-21 13:42             ` [dpdk-dev] [PATCH v7 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-10-21 14:46             ` [dpdk-dev] [PATCH v8 0/6] add Tx preparation Tomasz Kulasek
2016-10-21 14:46               ` [dpdk-dev] [PATCH v8 1/6] ethdev: " Tomasz Kulasek
2016-10-24 12:14                 ` Ananyev, Konstantin
2016-10-24 12:49                   ` Kulasek, TomaszX
2016-10-24 12:56                     ` Ananyev, Konstantin
2016-10-24 14:12                       ` Kulasek, TomaszX
2016-10-21 14:46               ` [dpdk-dev] [PATCH v8 2/6] e1000: " Tomasz Kulasek
2016-10-21 14:46               ` [dpdk-dev] [PATCH v8 3/6] fm10k: " Tomasz Kulasek
2016-10-21 14:46               ` [dpdk-dev] [PATCH v8 4/6] i40e: " Tomasz Kulasek
2016-10-21 14:46               ` [dpdk-dev] [PATCH v8 5/6] ixgbe: " Tomasz Kulasek
2016-10-21 14:46               ` [dpdk-dev] [PATCH v8 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-10-24 14:05               ` [dpdk-dev] [PATCH v9 0/6] add Tx preparation Tomasz Kulasek
2016-10-24 14:05                 ` [dpdk-dev] [PATCH v9 1/6] ethdev: " Tomasz Kulasek
2016-10-24 14:05                 ` [dpdk-dev] [PATCH v9 2/6] e1000: " Tomasz Kulasek
2016-10-24 14:05                 ` [dpdk-dev] [PATCH v9 3/6] fm10k: " Tomasz Kulasek
2016-10-24 14:05                 ` [dpdk-dev] [PATCH v9 4/6] i40e: " Tomasz Kulasek
2016-10-24 14:05                 ` [dpdk-dev] [PATCH v9 5/6] ixgbe: " Tomasz Kulasek
2016-10-24 14:05                 ` [dpdk-dev] [PATCH v9 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-10-24 16:51                 ` [dpdk-dev] [PATCH v10 0/6] add Tx preparation Tomasz Kulasek
2016-10-24 16:51                   ` [dpdk-dev] [PATCH v10 1/6] ethdev: " Tomasz Kulasek
2016-10-25 14:41                     ` Olivier Matz [this message]
2016-10-25 17:28                       ` Kulasek, TomaszX
2016-10-24 16:51                   ` [dpdk-dev] [PATCH v10 2/6] e1000: " Tomasz Kulasek
2016-10-24 16:51                   ` [dpdk-dev] [PATCH v10 3/6] fm10k: " Tomasz Kulasek
2016-10-24 16:51                   ` [dpdk-dev] [PATCH v10 4/6] i40e: " Tomasz Kulasek
2016-10-24 16:51                   ` [dpdk-dev] [PATCH v10 5/6] ixgbe: " Tomasz Kulasek
2016-10-24 16:51                   ` [dpdk-dev] [PATCH v10 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-10-24 17:26                   ` [dpdk-dev] [PATCH v10 0/6] add Tx preparation Ananyev, Konstantin
2016-10-26 12:56                   ` [dpdk-dev] [PATCH v11 " Tomasz Kulasek
2016-10-26 12:56                     ` [dpdk-dev] [PATCH v11 1/6] ethdev: " Tomasz Kulasek
2016-10-27 12:38                       ` Olivier Matz
2016-10-27 15:01                       ` Thomas Monjalon
2016-10-27 15:52                         ` Ananyev, Konstantin
2016-10-27 16:02                           ` Thomas Monjalon
2016-10-27 16:24                             ` Ananyev, Konstantin
2016-10-27 16:39                               ` Thomas Monjalon
2016-10-28 11:29                                 ` Ananyev, Konstantin
2016-10-28 11:34                                   ` Ananyev, Konstantin
2016-10-28 12:23                                     ` Thomas Monjalon
2016-10-28 12:59                                       ` Ananyev, Konstantin
2016-10-28 13:42                                         ` Thomas Monjalon
2016-11-01 12:57                                           ` Ananyev, Konstantin
2016-11-04 11:35                                             ` Thomas Monjalon
2016-10-27 16:39                               ` Kulasek, TomaszX
2016-10-28 10:15                                 ` Ananyev, Konstantin
2016-10-28 10:22                                   ` Kulasek, TomaszX
2016-10-28 10:22                                   ` Thomas Monjalon
2016-10-28 10:28                                     ` Ananyev, Konstantin
2016-10-28 11:02                                       ` Richardson, Bruce
2016-10-28 11:14                                   ` Jerin Jacob
2016-10-27 16:29                         ` Kulasek, TomaszX
2016-10-26 12:56                     ` [dpdk-dev] [PATCH v11 2/6] e1000: " Tomasz Kulasek
2016-10-26 12:56                     ` [dpdk-dev] [PATCH v11 3/6] fm10k: " Tomasz Kulasek
2016-10-26 12:56                     ` [dpdk-dev] [PATCH v11 4/6] i40e: " Tomasz Kulasek
2016-10-26 12:56                     ` [dpdk-dev] [PATCH v11 5/6] ixgbe: " Tomasz Kulasek
2016-10-26 12:56                     ` [dpdk-dev] [PATCH v11 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-11-23 17:36                     ` [dpdk-dev] [PATCH v12 0/6] add Tx preparation Tomasz Kulasek
2016-11-23 17:36                       ` [dpdk-dev] [PATCH v12 1/6] ethdev: " Tomasz Kulasek
2016-11-28 10:54                         ` Thomas Monjalon
2016-12-01 16:24                           ` Thomas Monjalon
2016-12-01 19:20                             ` Kulasek, TomaszX
2016-12-01 19:52                               ` Thomas Monjalon
2016-12-01 21:56                                 ` Jerin Jacob
2016-12-01 22:31                                 ` Kulasek, TomaszX
2016-12-01 23:50                                   ` Thomas Monjalon
2016-12-09 13:25                                     ` Kulasek, TomaszX
2016-12-02  0:10                                   ` Ananyev, Konstantin
2016-12-22 13:14                                     ` Thomas Monjalon
2016-12-22 13:37                                       ` Jerin Jacob
2016-12-01 16:26                         ` Thomas Monjalon
2016-12-01 16:28                         ` Thomas Monjalon
2016-12-02  1:06                           ` Ananyev, Konstantin
2016-12-02  8:24                             ` Olivier Matz
2016-12-02 16:17                               ` Ananyev, Konstantin
2016-12-08 17:24                                 ` Olivier Matz
2016-12-09 17:19                                   ` Kulasek, TomaszX
2016-12-12 11:51                                     ` Ananyev, Konstantin
2016-12-22 13:30                                       ` Thomas Monjalon
2016-12-22 14:11                                         ` Ananyev, Konstantin
2016-11-23 17:36                       ` [dpdk-dev] [PATCH v12 2/6] e1000: " Tomasz Kulasek
2016-11-23 17:36                       ` [dpdk-dev] [PATCH v12 3/6] fm10k: " Tomasz Kulasek
2016-11-23 17:36                       ` [dpdk-dev] [PATCH v12 4/6] i40e: " Tomasz Kulasek
2016-11-23 17:36                       ` [dpdk-dev] [PATCH v12 5/6] ixgbe: " Tomasz Kulasek
2016-11-23 17:36                       ` [dpdk-dev] [PATCH v12 6/6] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-12-07 11:13                         ` Ferruh Yigit
2016-12-07 12:00                           ` Mcnamara, John
2016-12-07 12:12                             ` Kulasek, TomaszX
2016-12-07 12:49                               ` Ananyev, Konstantin
2016-12-07 12:00                           ` Kulasek, TomaszX
2016-11-28 11:03                       ` [dpdk-dev] [PATCH v12 0/6] add Tx preparation Thomas Monjalon
2016-11-30  5:48                         ` John Daley (johndale)
2016-11-30 10:59                           ` Ananyev, Konstantin
2016-11-30  7:40                         ` Adrien Mazarguil
2016-11-30  8:50                           ` Thomas Monjalon
2016-11-30 10:30                             ` Kulasek, TomaszX
2016-12-01  7:19                               ` Adrien Mazarguil
2016-11-30 10:54                           ` Ananyev, Konstantin
2016-12-01  7:15                             ` Adrien Mazarguil
2016-12-01  8:58                               ` Thomas Monjalon
2016-12-01 22:03                                 ` Jerin Jacob
2016-12-02  1:00                               ` Ananyev, Konstantin
2016-12-05 15:03                                 ` Adrien Mazarguil
2016-12-05 16:43                                   ` Ananyev, Konstantin
2016-12-05 18:10                                     ` Adrien Mazarguil
2016-12-06 10:56                                       ` Ananyev, Konstantin
2016-12-06 13:59                                         ` Adrien Mazarguil
2016-12-06 20:31                                           ` Ananyev, Konstantin
2016-12-07 10:08                                             ` Adrien Mazarguil
2016-11-30 16:34                         ` Harish Patil
2016-11-30 17:42                           ` Ananyev, Konstantin
2016-11-30 18:26                             ` Thomas Monjalon
2016-11-30 21:01                               ` Jerin Jacob
2016-12-01 10:50                               ` Ferruh Yigit
2016-12-02 23:55                               ` Yong Wang
2016-12-04 12:11                                 ` Ananyev, Konstantin
2016-12-06 18:25                                   ` Yong Wang
2016-12-07  9:57                                     ` Ferruh Yigit
2016-12-07 10:03                                       ` Ananyev, Konstantin
2016-12-07 14:31                                         ` Alejandro Lucero
2016-12-08 18:20                                         ` Yong Wang
2016-12-09 14:40                                           ` Jan Mędala
2016-12-12 15:02                                             ` Ananyev, Konstantin
2016-12-16  0:15                                               ` Ananyev, Konstantin
2016-12-16 13:53                                                 ` Jan Mędala
2016-12-16 15:27                                                   ` Ananyev, Konstantin
2016-12-16 15:37                                                     ` Jan Mędala
2016-12-12 17:29                                           ` Ananyev, Konstantin
2016-11-30 18:39                             ` Harish Patil
2016-11-30 19:37                         ` Ajit Khaparde
2016-12-01  8:24                         ` Rahul Lakkireddy
2016-12-06 15:53                         ` Ferruh Yigit
2016-12-07  7:55                           ` Andrew Rybchenko
2016-12-07  8:11                           ` Yuanhan Liu
2016-12-07 10:13                             ` Ananyev, Konstantin
2016-12-07 10:18                               ` Yuanhan Liu
2016-12-07 10:22                                 ` Ananyev, Konstantin
2016-12-13 11:59                           ` Ferruh Yigit
2016-12-13 17:41                       ` [dpdk-dev] [PATCH v13 0/7] " Tomasz Kulasek
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 1/7] ethdev: " Tomasz Kulasek
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 2/7] e1000: " Tomasz Kulasek
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 3/7] fm10k: " Tomasz Kulasek
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 4/7] i40e: " Tomasz Kulasek
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 5/7] ixgbe: " Tomasz Kulasek
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 6/7] vmxnet3: " Tomasz Kulasek
2016-12-13 18:15                           ` Yong Wang
2016-12-20 13:36                           ` Ferruh Yigit
2016-12-22 13:10                             ` Thomas Monjalon
2016-12-13 17:41                         ` [dpdk-dev] [PATCH v13 7/7] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-12-22 13:05                         ` [dpdk-dev] [PATCH v14 0/8] add Tx preparation Tomasz Kulasek
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 1/8] ethdev: " Tomasz Kulasek
2016-12-22 14:24                             ` Thomas Monjalon
2016-12-23 18:49                               ` Kulasek, TomaszX
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 2/8] e1000: " Tomasz Kulasek
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 3/8] fm10k: " Tomasz Kulasek
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 4/8] i40e: " Tomasz Kulasek
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 5/8] ixgbe: " Tomasz Kulasek
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 6/8] vmxnet3: " Tomasz Kulasek
2016-12-22 17:59                             ` Yong Wang
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 7/8] ena: " Tomasz Kulasek
2016-12-22 13:05                           ` [dpdk-dev] [PATCH v14 8/8] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2016-12-22 14:28                             ` Thomas Monjalon
2016-12-23 18:40                           ` [dpdk-dev] [PATCH v15 0/8] add Tx preparation Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 1/8] ethdev: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 2/8] e1000: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 3/8] fm10k: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 4/8] i40e: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 5/8] ixgbe: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 6/8] vmxnet3: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 7/8] ena: " Tomasz Kulasek
2016-12-23 18:40                             ` [dpdk-dev] [PATCH v15 8/8] testpmd: use Tx preparation in csum engine Tomasz Kulasek
2017-01-04 19:41                             ` [dpdk-dev] [PATCH v15 0/8] add Tx preparation Thomas Monjalon
2017-01-05 15:43                               ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e86291cd-f970-c0c5-4a3b-6da62516ce6a@6wind.com \
    --to=olivier.matz@6wind.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=tomaszx.kulasek@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).