All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiayu Hu <jiayu.hu@intel.com>
To: "Wu, Jingjing" <jingjing.wu@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"yliu@fridaylinux.org" <yliu@fridaylinux.org>,
	"Wiles, Keith" <keith.wiles@intel.com>,
	"Tan, Jianfeng" <jianfeng.tan@intel.com>,
	"Bie, Tiwei" <tiwei.bie@intel.com>,
	"Yao, Lei A" <lei.a.yao@intel.com>
Subject: Re: [PATCH v5 3/3] app/testpmd: enable TCP/IPv4 GRO
Date: Mon, 19 Jun 2017 11:22:38 +0800	[thread overview]
Message-ID: <20170619032238.GA40216@localhost.localdomain> (raw)
In-Reply-To: <9BB6961774997848B5B42BEC655768F810DA943D@SHSMSX103.ccr.corp.intel.com>

On Mon, Jun 19, 2017 at 10:27:05AM +0800, Wu, Jingjing wrote:
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jiayu Hu
> > Sent: Sunday, June 18, 2017 3:21 PM
> > To: dev@dpdk.org
> > Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; yliu@fridaylinux.org;
> > Wiles, Keith <keith.wiles@intel.com>; Tan, Jianfeng <jianfeng.tan@intel.com>;
> > Bie, Tiwei <tiwei.bie@intel.com>; Yao, Lei A <lei.a.yao@intel.com>; Hu, Jiayu
> > <jiayu.hu@intel.com>
> > Subject: [dpdk-dev] [PATCH v5 3/3] app/testpmd: enable TCP/IPv4 GRO
> > 
> > This patch demonstrates the usage of GRO library in testpmd. By default, GRO
> > is turned off. Command, "gro on (port_id)", turns on GRO for the given port;
> > command, "gro off (port_id)", turns off GRO for the given port. Currently, GRO
> > only supports to process TCP/IPv4 packets and works in IO forward mode.
> > Besides, only GRO lightweight mode is enabled.
> > 
> > Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
> > ---
> >  app/test-pmd/cmdline.c | 45
> > +++++++++++++++++++++++++++++++++++++++++++++
> >  app/test-pmd/config.c  | 29 +++++++++++++++++++++++++++++
> >  app/test-pmd/iofwd.c   |  6 ++++++
> >  app/test-pmd/testpmd.c |  3 +++
> >  app/test-pmd/testpmd.h | 11 +++++++++++
> >  5 files changed, 94 insertions(+)
> > 
> > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> > 105c71f..d1ca8df 100644
> > --- a/app/test-pmd/cmdline.c
> > +++ b/app/test-pmd/cmdline.c
> > @@ -76,6 +76,7 @@
> >  #include <rte_devargs.h>
> >  #include <rte_eth_ctrl.h>
> >  #include <rte_flow.h>
> > +#include <rte_gro.h>
> > 
> >  #include <cmdline_rdline.h>
> >  #include <cmdline_parse.h>
> > @@ -423,6 +424,9 @@ static void cmd_help_long_parsed(void *parsed_result,
> >  			"tso show (portid)"
> >  			"    Display the status of TCP Segmentation
> > Offload.\n\n"
> > 
> > +			"gro (on|off) (port_id)"
> > +			"    Enable or disable Generic Receive Offload.\n\n"
> > +
> >  			"set fwd (%s)\n"
> >  			"    Set packet forwarding mode.\n\n"
> > 
> > @@ -3831,6 +3835,46 @@ cmdline_parse_inst_t cmd_tunnel_tso_show = {
> >  	},
> >  };
> > 
> > +/* *** SET GRO FOR A PORT *** */
> > +struct cmd_gro_result {
> > +	cmdline_fixed_string_t cmd_keyword;
> > +	cmdline_fixed_string_t mode;
> > +	uint8_t port_id;
> > +};
> > +
> > +static void
> > +cmd_set_gro_parsed(void *parsed_result,
> > +		__attribute__((unused)) struct cmdline *cl,
> > +		__attribute__((unused)) void *data)
> > +{
> > +	struct cmd_gro_result *res;
> > +
> > +	res = parsed_result;
> > +	setup_gro(res->mode, res->port_id);
> > +}
> > +
> > +cmdline_parse_token_string_t cmd_gro_keyword =
> > +	TOKEN_STRING_INITIALIZER(struct cmd_gro_result,
> > +			cmd_keyword, "gro");
> > +cmdline_parse_token_string_t cmd_gro_mode =
> > +	TOKEN_STRING_INITIALIZER(struct cmd_gro_result,
> > +			mode, "on#off");
> > +cmdline_parse_token_num_t cmd_gro_pid =
> > +	TOKEN_NUM_INITIALIZER(struct cmd_gro_result,
> > +			port_id, UINT8);
> > +
> > +cmdline_parse_inst_t cmd_set_gro = {
> > +	.f = cmd_set_gro_parsed,
> > +	.data = NULL,
> > +	.help_str = "gro (on|off) (port_id)",
> > +	.tokens = {
> > +		(void *)&cmd_gro_keyword,
> > +		(void *)&cmd_gro_mode,
> > +		(void *)&cmd_gro_pid,
> > +		NULL,
> > +	},
> > +};
> > +
> >  /* *** ENABLE/DISABLE FLUSH ON RX STREAMS *** */  struct
> > cmd_set_flush_rx {
> >  	cmdline_fixed_string_t set;
> > @@ -13710,6 +13754,7 @@ cmdline_parse_ctx_t main_ctx[] = {
> >  	(cmdline_parse_inst_t *)&cmd_tso_show,
> >  	(cmdline_parse_inst_t *)&cmd_tunnel_tso_set,
> >  	(cmdline_parse_inst_t *)&cmd_tunnel_tso_show,
> > +	(cmdline_parse_inst_t *)&cmd_set_gro,
> >  	(cmdline_parse_inst_t *)&cmd_link_flow_control_set,
> >  	(cmdline_parse_inst_t *)&cmd_link_flow_control_set_rx,
> >  	(cmdline_parse_inst_t *)&cmd_link_flow_control_set_tx, diff --git
> > a/app/test-pmd/config.c b/app/test-pmd/config.c index 3cd4f31..858342d
> > 100644
> > --- a/app/test-pmd/config.c
> > +++ b/app/test-pmd/config.c
> > @@ -71,6 +71,7 @@
> >  #ifdef RTE_LIBRTE_BNXT_PMD
> >  #include <rte_pmd_bnxt.h>
> >  #endif
> > +#include <rte_gro.h>
> > 
> >  #include "testpmd.h"
> > 
> > @@ -2414,6 +2415,34 @@ set_tx_pkt_segments(unsigned *seg_lengths,
> > unsigned nb_segs)
> >  	tx_pkt_nb_segs = (uint8_t) nb_segs;
> >  }
> > 
> > +void
> > +setup_gro(const char *mode, uint8_t port_id) {
> > +	if (!rte_eth_dev_is_valid_port(port_id)) {
> > +		printf("invalid port id %u\n", port_id);
> > +		return;
> > +	}
> > +	if (strcmp(mode, "on") == 0) {
> > +		if (test_done == 0) {
> > +			printf("before enable GRO,"
> > +					" please stop forwarding first\n");
> > +			return;
> > +		}
> > +		gro_ports[port_id].enable = 1;
> > +		gro_ports[port_id].param.max_flow_num = 4;
> > +		gro_ports[port_id].param.max_item_per_flow = 32;
> Is 4 and 32 the default value for GRO? If so, how about to define the MACRO in rte_gro.h

The values of param.max_flow_num and param.max_item_per_flow should
depend on the specific usage scenarios. In testpmd case, the number
of packets returned by rte_eth_rx_burst each time is always less
than or equal to 32. So I simply hard-code this value. Besides, I
assume the flow number per queue receives is less than 4. So does
the value of param.max_flow_num. Maybe I should add commands in
testpmd to enable users to set these two values dynamically. How
do you think?

> 
> > +		gro_ports[port_id].param.desired_gro_types = GRO_TCP_IPV4;
> > +		gro_ports[port_id].param.max_packet_size = UINT16_MAX;
> > +	} else if (strcmp(mode, "off") == 0) {
> 
> "else" is enough, no need to compare it with "off".

Thanks. I will modify it in next patch.

> 
> > +		if (test_done == 0) {
> > +			printf("before disable GRO,"
> > +					" please stop forwarding first\n");
> > +			return;
> > +		}
> 
> How about to move the test_done before the mode checking?

Thanks. I will modify it in next patch.

> 
> > +		gro_ports[port_id].enable = 0;
> > +	}
> > +}
> > +
> >  char*
> >  list_pkt_forwarding_modes(void)
> >  {
> > diff --git a/app/test-pmd/iofwd.c b/app/test-pmd/iofwd.c index
> > 15cb4a2..d9ec528 100644
> > --- a/app/test-pmd/iofwd.c
> > +++ b/app/test-pmd/iofwd.c
> > @@ -65,6 +65,7 @@
> >  #include <rte_ethdev.h>
> >  #include <rte_string_fns.h>
> >  #include <rte_flow.h>
> > +#include <rte_gro.h>
> > 
> >  #include "testpmd.h"
> > 
> > @@ -99,6 +100,11 @@ pkt_burst_io_forward(struct fwd_stream *fs)
> >  			pkts_burst, nb_pkt_per_burst);
> >  	if (unlikely(nb_rx == 0))
> >  		return;
> > +	if (unlikely(gro_ports[fs->rx_port].enable)) {
> > +		nb_rx = rte_gro_reassemble_burst(pkts_burst,
> > +				nb_rx,
> > +				gro_ports[fs->rx_port].param);
> > +	}
> >  	fs->rx_packets += nb_rx;
> > 
> >  #ifdef RTE_TEST_PMD_RECORD_BURST_STATS
> > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index
> > b29328a..ed27c7a 100644
> > --- a/app/test-pmd/testpmd.c
> > +++ b/app/test-pmd/testpmd.c
> > @@ -90,6 +90,7 @@
> >  #ifdef RTE_LIBRTE_LATENCY_STATS
> >  #include <rte_latencystats.h>
> >  #endif
> > +#include <rte_gro.h>
> > 
> >  #include "testpmd.h"
> > 
> > @@ -378,6 +379,8 @@ lcoreid_t bitrate_lcore_id;  uint8_t bitrate_enabled;
> > #endif
> > 
> > +struct gro_status gro_ports[RTE_MAX_ETHPORTS];
> > +
> >  /* Forward function declarations */
> >  static void map_port_queue_stats_mapping_registers(uint8_t pi, struct
> > rte_port *port);  static void check_all_ports_link_status(uint32_t port_mask);
> > diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index
> > 364502d..0471e99 100644
> > --- a/app/test-pmd/testpmd.h
> > +++ b/app/test-pmd/testpmd.h
> > @@ -34,6 +34,8 @@
> >  #ifndef _TESTPMD_H_
> >  #define _TESTPMD_H_
> > 
> > +#include <rte_gro.h>
> > +
> >  #define RTE_PORT_ALL            (~(portid_t)0x0)
> > 
> >  #define RTE_TEST_RX_DESC_MAX    2048
> > @@ -109,6 +111,8 @@ struct fwd_stream {
> >  	queueid_t  tx_queue;  /**< TX queue to send forwarded packets */
> >  	streamid_t peer_addr; /**< index of peer ethernet address of packets
> > */
> > 
> > +	uint16_t tbl_idx;	/**< TCP IPv4 GRO lookup tale index */
> > +
> >  	unsigned int retry_enabled;
> > 
> >  	/* "read-write" results */
> > @@ -428,6 +432,12 @@ extern struct ether_addr
> > peer_eth_addrs[RTE_MAX_ETHPORTS];  extern uint32_t burst_tx_delay_time;
> > /**< Burst tx delay time(us) for mac-retry. */  extern uint32_t
> > burst_tx_retry_num;  /**< Burst tx retry number for mac-retry. */
> > 
> > +struct gro_status {
> > +	struct rte_gro_param param;
> > +	uint8_t enable;
> > +};
> > +extern struct gro_status gro_ports[RTE_MAX_ETHPORTS];
> > +
> >  static inline unsigned int
> >  lcore_num(void)
> >  {
> > @@ -626,6 +636,7 @@ void get_2tuple_filter(uint8_t port_id, uint16_t index);
> > void get_5tuple_filter(uint8_t port_id, uint16_t index);  int
> > rx_queue_id_is_invalid(queueid_t rxq_id);  int
> > tx_queue_id_is_invalid(queueid_t txq_id);
> > +void setup_gro(const char *mode, uint8_t port_id);
> > 
> >  /* Functions to manage the set of filtered Multicast MAC addresses */  void
> > mcast_addr_add(uint8_t port_id, struct ether_addr *mc_addr);
> > --
> > 2.7.4
> 
> Looks fine to me, just don't forget the doc update "doc/guides/testpmd_app_ug/" due to new command line

Thanks for you comments. I will update it.

BRs,
Jiayu

  reply	other threads:[~2017-06-19  3:21 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22  9:32 [PATCH 0/2] lib: add TCP IPv4 GRO support Jiayu Hu
2017-03-22  9:32 ` [PATCH 1/2] lib: add Generic Receive Offload support for TCP IPv4 packets Jiayu Hu
2017-03-22  9:32 ` [PATCH 2/2] app/testpmd: provide TCP IPv4 GRO function in iofwd mode Jiayu Hu
     [not found] ` <1B893F1B-4DA8-4F88-9583-8C0BAA570832@intel.com>
     [not found]   ` <20170323021502.GA114662@localhost.localdomain>
     [not found]     ` <C830A6FC-F440-4E68-AB4E-2FD502722E3F@intel.com>
     [not found]       ` <20170323062433.GA120139@localhost.localdomain>
     [not found]         ` <59AF69C657FD0841A61C55336867B5B066729E3F@IRSMSX103.ger.corp.intel.com>
     [not found]           ` <20170323102135.GA124301@localhost.localdomain>
     [not found]             ` <2601191342CEEE43887BDE71AB9772583FAD410A@IRSMSX109.ger.corp.intel.com>
2017-03-24  2:23               ` [PATCH 0/2] lib: add TCP IPv4 GRO support Jiayu Hu
2017-03-24  6:18                 ` Wiles, Keith
2017-03-24  7:22                   ` Yuanhan Liu
2017-03-24  8:06                     ` Jiayu Hu
2017-03-24 11:43                       ` Ananyev, Konstantin
2017-03-24 14:37                         ` Wiles, Keith
2017-03-24 14:59                           ` Olivier Matz
2017-03-24 15:07                             ` Wiles, Keith
2017-03-28 13:40                               ` Wiles, Keith
2017-03-28 13:57                                 ` Hu, Jiayu
2017-03-28 16:06                                   ` Wiles, Keith
2017-03-29 10:47                         ` Morten Brørup
2017-03-29 12:12                           ` Wiles, Keith
2017-04-04 12:31 ` [PATCH v2 0/3] support GRO in DPDK Jiayu Hu
2017-04-04 12:31   ` [PATCH v2 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-04-04 12:31   ` [PATCH v2 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-04-04 12:31   ` [PATCH v2 3/3] app/testpmd: enable GRO feature Jiayu Hu
2017-04-24  8:09   ` [PATCH v3 0/3] support GRO in DPDK Jiayu Hu
2017-04-24  8:09     ` [PATCH v3 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-05-22  9:19       ` Ananyev, Konstantin
2017-05-23 10:31         ` Jiayu Hu
2017-05-24 12:38           ` Ananyev, Konstantin
2017-05-26  7:26             ` Jiayu Hu
2017-05-26 23:10               ` Ananyev, Konstantin
2017-05-27  3:41                 ` Jiayu Hu
2017-05-27 11:12                   ` Ananyev, Konstantin
2017-05-27 14:09                     ` Jiayu Hu
2017-05-27 16:51                       ` Ananyev, Konstantin
2017-05-29 10:22                         ` Hu, Jiayu
2017-05-29 12:18                           ` Bruce Richardson
2017-05-30 14:10                             ` Hu, Jiayu
2017-05-29 12:51                           ` Ananyev, Konstantin
2017-05-30  5:29                             ` Hu, Jiayu
2017-05-30 11:56                               ` Ananyev, Konstantin
2017-04-24  8:09     ` [PATCH v3 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-04-24  8:09     ` [PATCH v3 3/3] app/testpmd: enable GRO feature Jiayu Hu
2017-06-07  9:24       ` Wu, Jingjing
2017-06-07 11:08     ` [PATCH v4 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-06-07 11:08       ` [PATCH v4 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-06-07 11:08       ` [PATCH v4 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-06-07 11:08       ` [PATCH v4 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-06-18  7:21       ` [PATCH v5 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-06-18  7:21         ` [PATCH v5 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-06-19  4:03           ` Tiwei Bie
2017-06-19  5:16             ` Jiayu Hu
2017-06-19 15:43           ` Tan, Jianfeng
2017-06-19 15:55           ` Stephen Hemminger
2017-06-20  1:48             ` Jiayu Hu
2017-06-18  7:21         ` [PATCH v5 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-06-19 15:43           ` Tan, Jianfeng
2017-06-20  3:22             ` Jiayu Hu
2017-06-20 15:15               ` Ananyev, Konstantin
2017-06-20 16:16                 ` Jiayu Hu
2017-06-20 15:21               ` Ananyev, Konstantin
2017-06-20 23:30               ` Tan, Jianfeng
2017-06-20 23:55                 ` Stephen Hemminger
2017-06-22  7:39                 ` Jiayu Hu
2017-06-22  8:18             ` Jiayu Hu
2017-06-22  9:35               ` Tan, Jianfeng
2017-06-22 13:55                 ` Jiayu Hu
2017-06-18  7:21         ` [PATCH v5 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-06-19  1:24           ` Yao, Lei A
2017-06-19  2:27           ` Wu, Jingjing
2017-06-19  3:22             ` Jiayu Hu [this message]
2017-06-19  1:39         ` [PATCH v5 0/3] Support TCP/IPv4 GRO in DPDK Tan, Jianfeng
2017-06-19  3:07           ` Jiayu Hu
2017-06-19  5:12             ` Jiayu Hu
2017-06-23 14:43         ` [PATCH v6 " Jiayu Hu
2017-06-23 14:43           ` [PATCH v6 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-06-25 16:53             ` Tan, Jianfeng
2017-06-23 14:43           ` [PATCH v6 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-06-25 16:53             ` Tan, Jianfeng
2017-06-26  1:58               ` Jiayu Hu
2017-06-23 14:43           ` [PATCH v6 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-06-24  8:01             ` Yao, Lei A
2017-06-25 16:03           ` [PATCH v6 0/3] Support TCP/IPv4 GRO in DPDK Tan, Jianfeng
2017-06-26  1:35             ` Jiayu Hu
2017-06-26  6:43           ` [PATCH v7 " Jiayu Hu
2017-06-26  6:43             ` [PATCH v7 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-06-27 23:42               ` Ananyev, Konstantin
2017-06-28  2:17                 ` Jiayu Hu
2017-06-28 17:41                   ` Ananyev, Konstantin
2017-06-29  1:19                     ` Jiayu Hu
2017-06-26  6:43             ` [PATCH v7 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-06-28 23:56               ` Ananyev, Konstantin
2017-06-29  2:26                 ` Jiayu Hu
2017-06-30 12:07                   ` Ananyev, Konstantin
2017-06-30 15:40                     ` Hu, Jiayu
2017-06-26  6:43             ` [PATCH v7 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-06-29 10:58             ` [PATCH v8 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-06-29 10:58               ` [PATCH v8 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-06-29 10:58               ` [PATCH v8 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-06-29 17:51                 ` Stephen Hemminger
2017-06-30  2:07                   ` Jiayu Hu
2017-06-29 10:59               ` [PATCH v8 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-06-30  2:26                 ` Wu, Jingjing
2017-06-30  6:53               ` [PATCH v9 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-06-30  6:53                 ` [PATCH v9 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-06-30  6:53                 ` [PATCH v9 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-06-30  6:53                 ` [PATCH v9 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-07-01 11:08                 ` [PATCH v10 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-07-01 11:08                   ` [PATCH v10 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-07-02 10:19                     ` Tan, Jianfeng
2017-07-03  5:56                       ` Hu, Jiayu
2017-07-04  8:11                         ` Yuanhan Liu
2017-07-04  8:37                     ` Yuanhan Liu
2017-07-04 16:01                       ` Hu, Jiayu
2017-07-01 11:08                   ` [PATCH v10 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-07-02 10:19                     ` Tan, Jianfeng
2017-07-03  5:13                       ` Hu, Jiayu
2017-07-04  9:03                     ` Yuanhan Liu
2017-07-04 16:03                       ` Hu, Jiayu
2017-07-01 11:08                   ` [PATCH v10 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-07-05  4:08                   ` [PATCH v11 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-07-05  4:08                     ` [PATCH v11 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-07-07  6:55                       ` Tan, Jianfeng
2017-07-07  9:19                         ` Tan, Jianfeng
2017-07-05  4:08                     ` [PATCH v11 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-07-07  6:55                       ` Tan, Jianfeng
2017-07-05  4:08                     ` [PATCH v11 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-07-07 10:39                     ` [PATCH v12 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-07-07 10:39                       ` [PATCH v12 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-07-08 16:37                         ` Tan, Jianfeng
2017-07-07 10:39                       ` [PATCH v12 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-07-08 16:37                         ` Tan, Jianfeng
2017-07-07 10:39                       ` [PATCH v12 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-07-09  1:13                       ` [PATCH v13 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-07-09  1:13                         ` [PATCH v13 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-07-09  1:13                         ` [PATCH v13 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-07-09  1:13                         ` [PATCH v13 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-07-09  5:46                         ` [PATCH v14 0/3] Support TCP/IPv4 GRO in DPDK Jiayu Hu
2017-07-09  5:46                           ` [PATCH v14 1/3] lib: add Generic Receive Offload API framework Jiayu Hu
2017-07-09  5:46                           ` [PATCH v14 2/3] lib/gro: add TCP/IPv4 GRO support Jiayu Hu
2017-07-09  5:46                           ` [PATCH v14 3/3] app/testpmd: enable TCP/IPv4 GRO Jiayu Hu
2017-07-09  7:59                             ` Yao, Lei A
2017-07-09 16:14                           ` [PATCH v14 0/3] Support TCP/IPv4 GRO in DPDK Thomas Monjalon
2017-07-10  2:21                             ` Hu, Jiayu
2017-07-10  7:03                               ` Thomas Monjalon

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=20170619032238.GA40216@localhost.localdomain \
    --to=jiayu.hu@intel.com \
    --cc=dev@dpdk.org \
    --cc=jianfeng.tan@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=keith.wiles@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=lei.a.yao@intel.com \
    --cc=tiwei.bie@intel.com \
    --cc=yliu@fridaylinux.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.