DPDK patches and discussions
 help / color / mirror / Atom feed
From: "De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>
To: "Wu, Jingjing" <jingjing.wu@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 20/20] app/test-pmd: add test command to	configure flexible masks
Date: Mon, 13 Oct 2014 15:58:10 +0000	[thread overview]
Message-ID: <E115CCD9D858EF4F90C690B0DCB4D8972262B7BF@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <1411711418-12881-21-git-send-email-jingjing.wu@intel.com>



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jingjing Wu
> Sent: Friday, September 26, 2014 7:04 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v3 20/20] app/test-pmd: add test command to
> configure flexible masks
> 
> add test command to configure flexible masks for each flow type
> 
> Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
> Acked-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
> Acked-by: Helin Zhang <helin.zhang@intel.com>
> ---
>  app/test-pmd/cmdline.c | 173
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 173 insertions(+)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index da77752..073b929 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -690,6 +690,11 @@ static void cmd_help_long_parsed(void
> *parsed_result,
>  			"flow_director_flex_payload (port_id)"
>  			" (l2|l3|l4) (config)\n"
>  			"    configure flexible payload selection.\n\n"
> +
> +			"flow_director_flex_mask (port_id)"
> +			" flow
> (ether|ip4|tcp4|udp4|sctp4|ip6|tcp6|udp6|sctp6)"
> +			" words_mask (words) (word_mask_list)"
> +			"    configure masks of flexible payload.\n\n"
>  		);
>  	}
>  }
> @@ -8046,6 +8051,173 @@ cmdline_parse_inst_t
> cmd_set_flow_director_flex_payload = {
>  	},
>  };
> 
> +/* *** deal with flow director mask on flexible payload *** */
> +struct cmd_flow_director_flex_mask_result {
> +	cmdline_fixed_string_t flow_director_flexmask;
> +	uint8_t port_id;
> +	cmdline_fixed_string_t flow;
> +	cmdline_fixed_string_t flow_type;
> +	cmdline_fixed_string_t words_mask;
> +	uint8_t words;
> +	cmdline_fixed_string_t word_mask_list;
> +};
> +
> +static inline int
> +parse_word_masks_cfg(const char *q_arg,
> +			     struct rte_eth_fdir_flex_masks *masks)
> +{
> +	char s[256];
> +	const char *p, *p0 = q_arg;
> +	char *end;
> +	enum fieldnames {
> +		FLD_OFFSET = 0,
> +		FLD_MASK,
> +		_NUM_FLD
> +	};
> +	unsigned long int_fld[_NUM_FLD];
> +	char *str_fld[_NUM_FLD];
> +	int i;
> +	unsigned size;
> +
> +	masks->nb_field = 0;
> +	p = strchr(p0, '(');
> +	while (p != NULL) {
> +		++p;
> +		p0 = strchr(p, ')');
> +		if (p0 == NULL)
> +			return -1;
> +
> +		size = p0 - p;
> +		if (size >= sizeof(s))
> +			return -1;
> +
> +		snprintf(s, sizeof(s), "%.*s", size, p);
> +		if (rte_strsplit(s, sizeof(s), str_fld, _NUM_FLD, ',') !=
> _NUM_FLD)
> +			return -1;
> +		for (i = 0; i < _NUM_FLD; i++) {
> +			errno = 0;
> +			int_fld[i] = strtoul(str_fld[i], &end, 0);
> +			if (errno != 0 || end == str_fld[i] || int_fld[i] >
> UINT16_MAX)
> +				return -1;
> +		}
> +		masks->field[masks->nb_field].offset =
> +			(uint16_t)int_fld[FLD_OFFSET];
> +		masks->field[masks->nb_field].bitmask =
> +			~(uint16_t)int_fld[FLD_MASK];
> +		masks->nb_field++;
> +		if (masks->nb_field > 2) {
> +			printf("exceeded max number of fields: %hu\n",
> +				masks->nb_field);

masks->nb_field is an uint8_t, so you should change from %hu to %hhu or %PRIu8.

> +			return -1;
> +		}
> +		p = strchr(p0, '(');
> +	}
> +	return 0;
> +}
> +
> +static void
> +cmd_flow_director_flex_mask_parsed(void *parsed_result,
> +			  __attribute__((unused)) struct cmdline *cl,
> +			  __attribute__((unused)) void *data)
> +{
> +	struct cmd_flow_director_flex_mask_result *res = parsed_result;
> +	struct rte_eth_fdir_flex_masks *flex_masks;
> +	struct rte_eth_fdir_cfg fdir_cfg;
> +	int ret = 0;
> +	int cfg_size = 2 * sizeof(struct rte_eth_flex_mask) +
> +		  offsetof(struct rte_eth_fdir_flex_masks, field);
> +
> +	ret = rte_eth_dev_filter_supported(res->port_id,
> RTE_ETH_FILTER_FDIR);
> +	if (ret < 0) {
> +		printf("flow director is not supported on port %u.\n",
> +			res->port_id);
> +		return;
> +	}
> +
> +	memset(&fdir_cfg, 0, sizeof(struct rte_eth_fdir_cfg));
> +
> +	flex_masks = (struct rte_eth_fdir_flex_masks
> *)rte_zmalloc_socket("CLI",
> +		cfg_size, CACHE_LINE_SIZE, rte_socket_id());
> +
> +	if (flex_masks == NULL) {
> +		printf("fail to malloc memory to configure flexi masks\n");
> +		return;
> +	}
> +
> +	if (!strcmp(res->flow_type, "ip4"))
> +		flex_masks->flow_type =
> RTE_ETH_FLOW_TYPE_IPV4_OTHER;
> +	else if (!strcmp(res->flow_type, "udp4"))
> +		flex_masks->flow_type = RTE_ETH_FLOW_TYPE_UDPV4;
> +	else if (!strcmp(res->flow_type, "tcp4"))
> +		flex_masks->flow_type = RTE_ETH_FLOW_TYPE_TCPV4;
> +	else if (!strcmp(res->flow_type, "sctp4"))
> +		flex_masks->flow_type = RTE_ETH_FLOW_TYPE_SCTPV4;
> +	else if (!strcmp(res->flow_type, "ip6"))
> +		flex_masks->flow_type =
> RTE_ETH_FLOW_TYPE_IPV6_OTHER;
> +	else if (!strcmp(res->flow_type, "udp6"))
> +		flex_masks->flow_type = RTE_ETH_FLOW_TYPE_UDPV6;
> +	else if (!strcmp(res->flow_type, "tcp6"))
> +		flex_masks->flow_type = RTE_ETH_FLOW_TYPE_TCPV6;
> +	else if (!strcmp(res->flow_type, "sctp6"))
> +		flex_masks->flow_type = RTE_ETH_FLOW_TYPE_SCTPV6;
> +
> +	flex_masks->words_mask = res->words;
> +	ret = parse_word_masks_cfg(res->word_mask_list, flex_masks);
> +	if (ret < 0) {
> +		printf("fdir flex masks error\n");
> +		rte_free(flex_masks);
> +		return;
> +	}
> +
> +	fdir_cfg.cmd = RTE_ETH_FDIR_CFG_FLX_MASK;
> +	fdir_cfg.cfg = flex_masks;
> +	ret = rte_eth_dev_filter_ctrl(res->port_id, RTE_ETH_FILTER_FDIR,
> +				     RTE_ETH_FILTER_OP_SET, &fdir_cfg);
> +	if (ret < 0)
> +		printf("fdir flex mask setting error: (%s)\n", strerror(-ret));
> +	rte_free(flex_masks);
> +}
> +
> +cmdline_parse_token_string_t cmd_flow_director_flexmask =
> +	TOKEN_STRING_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +				 flow_director_flexmask,
> +				 "flow_director_flex_mask");
> +cmdline_parse_token_num_t cmd_flow_director_flexmask_port_id =
> +	TOKEN_NUM_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +			      port_id, UINT8);
> +cmdline_parse_token_string_t cmd_flow_director_flexmask_flow =
> +	TOKEN_STRING_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +				 flow, "flow");
> +cmdline_parse_token_string_t cmd_flow_director_flexmask_flow_type =
> +	TOKEN_STRING_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +				 flow_type,
> +
> "ip4#tcp4#udp4#sctp4#ip6#tcp6#udp6#sctp6");
> +cmdline_parse_token_string_t cmd_flow_director_flexmask_words_mask
> =
> +	TOKEN_STRING_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +				 words_mask, "words_mask");
> +cmdline_parse_token_num_t cmd_flow_director_flexmask_words =
> +	TOKEN_NUM_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +			      words, UINT8);
> +cmdline_parse_token_string_t
> cmd_flow_director_flexmask_word_mask_list =
> +	TOKEN_STRING_INITIALIZER(struct
> cmd_flow_director_flex_mask_result,
> +				 word_mask_list, NULL);
> +
> +cmdline_parse_inst_t cmd_set_flow_director_flex_mask = {
> +	.f = cmd_flow_director_flex_mask_parsed,
> +	.data = NULL,
> +	.help_str = "set flow director's flex masks on NIC",
> +	.tokens = {
> +		(void *)&cmd_flow_director_flexmask,
> +		(void *)&cmd_flow_director_flexmask_port_id,
> +		(void *)&cmd_flow_director_flexmask_flow,
> +		(void *)&cmd_flow_director_flexmask_flow_type,
> +		(void *)&cmd_flow_director_flexmask_words_mask,
> +		(void *)&cmd_flow_director_flexmask_words,
> +		(void *)&cmd_flow_director_flexmask_word_mask_list,
> +		NULL,
> +	},
> +};
> +
>  /*
> **********************************************************
> ********************** */
> 
>  /* list of instructions */
> @@ -8177,6 +8349,7 @@ cmdline_parse_ctx_t main_ctx[] = {
>  	(cmdline_parse_inst_t *)&cmd_add_del_sctp_flow_director,
>  	(cmdline_parse_inst_t *)&cmd_flush_flow_director,
>  	(cmdline_parse_inst_t *)&cmd_set_flow_director_flex_payload,
> +	(cmdline_parse_inst_t *)&cmd_set_flow_director_flex_mask,
>  	NULL,
>  };
> 
> --
> 1.8.1.4

  reply	other threads:[~2014-10-13 15:51 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-26  6:03 [dpdk-dev] [PATCH v3 00/20] Support flow director programming on Fortville Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 01/20] i40e: set up and initialize flow director Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 02/20] i40e: tear down " Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 03/20] i40e: initialize flexible payload setting Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 04/20] lib/librte_ether: new filter APIs definition Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 05/20] lib/librte_ether: define structures for adding/deleting flow director Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 06/20] i40e: implement operations to add/delete " Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 07/20] app/test-pmd: add test commands to add/delete flow director filter Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 08/20] i40e: match counter for flow director Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 09/20] i40e: report flow director match info to mbuf Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 10/20] lib/librte_ether: define structures for getting flow director information Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 11/20] i40e: implement operations to get fdir info Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 12/20] app/test-pmd: display fdir statistics Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 13/20] i40e: implement operation to flush flow director table Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 14/20] app/test-pmd: add test command " Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 15/20] lib/librte_ether: define structures for configuring flexible payload Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v316/20] i40e: implement operations to configure " Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 17/20] app/test-pmd: add test command " Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 18/20] lib/librte_ether: define structures for configuring flex masks Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 19/20] i40e: implement operations to configure flexible masks Jingjing Wu
2014-09-26  6:03 ` [dpdk-dev] [PATCH v3 20/20] app/test-pmd: add test command " Jingjing Wu
2014-10-13 15:58   ` De Lara Guarch, Pablo [this message]
2014-10-22  1:01 ` [dpdk-dev] [PATCH v4 00/21] Support flow director programming on Fortville Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 01/21] i40e: set up and initialize flow director Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 02/21] i40e: tear down " Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 03/21] i40e: initialize flexible payload setting Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 04/21] ethdev: define structures for adding/deleting flow director Jingjing Wu
2014-10-27 16:57     ` Thomas Monjalon
2014-10-28  1:18       ` Wu, Jingjing
2014-10-28 13:17         ` Thomas Monjalon
2014-10-29  1:29           ` Wu, Jingjing
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 05/21] i40e: implement operations to add/delete " Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 06/21] testpmd: add test commands to add/delete flow director filter Jingjing Wu
2014-10-28 13:23     ` Thomas Monjalon
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 07/21] i40e: match counter for flow director Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 08/21] mbuf: extend fdir field Jingjing Wu
2014-10-28 13:28     ` Thomas Monjalon
2014-10-29  1:45       ` Wu, Jingjing
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 09/21] i40e: report flow director match info to mbuf Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 10/21] testpmd: print extended fdir info in mbuf Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 11/21] ethdev: define structures for getting flow director information Jingjing Wu
2014-10-28 13:44     ` Thomas Monjalon
2014-10-29  2:10       ` Wu, Jingjing
2014-10-29  9:48         ` Thomas Monjalon
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 12/21] i40e: implement operations to get fdir info Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 13/21] testpmd: display fdir statistics Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 14/21] i40e: implement operation to flush flow director table Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 15/21] testpmd: add test command " Jingjing Wu
2014-10-28 13:53     ` Thomas Monjalon
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 16/21] ethdev: define structures for configuring flexible payload Jingjing Wu
2014-10-28 14:14     ` Thomas Monjalon
2014-10-29  3:21       ` Wu, Jingjing
2014-10-29  9:55         ` Thomas Monjalon
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 17/21] i40e: implement operations to configure " Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 18/21] testpmd: add test command " Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 19/21] ethdev: define structures for configuring flex masks Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 20/21] i40e: implement operations to configure flexible masks Jingjing Wu
2014-10-22  1:01   ` [dpdk-dev] [PATCH v4 21/21] testpmd: add test command " Jingjing Wu
2014-10-28 14:18     ` Thomas Monjalon
2014-10-29  2:35       ` Wu, Jingjing
2014-10-27 15:22   ` [dpdk-dev] [PATCH v4 00/21] Support flow director programming on Fortville Thomas Monjalon
2014-10-28  0:48   ` Zhang, Helin
2014-10-30  7:26   ` [dpdk-dev] [PATCH v5 " Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 01/21] i40e: set up and initialize flow director Jingjing Wu
2014-10-30  8:25       ` Wu, Jingjing
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 02/21] i40e: tear down " Jingjing Wu
2014-11-19  7:53       ` Cao, Min
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 03/21] i40e: initialize flexible payload setting Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 04/21] ethdev: define structures for adding/deleting flow director Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 05/21] i40e: implement operations to add/delete " Jingjing Wu
2014-11-05 21:18       ` De Lara Guarch, Pablo
2014-11-13  9:50         ` Thomas Monjalon
2014-11-13 11:36           ` Wu, Jingjing
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 06/21] testpmd: add test commands to add/delete flow director filter Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 07/21] i40e: match counter for flow director Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 08/21] mbuf: extend fdir field Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 09/21] i40e: report flow director match info to mbuf Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 10/21] testpmd: print extended fdir info in mbuf Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 11/21] ethdev: define structures for getting flow director information Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 12/21] i40e: implement operations to get fdir info Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 13/21] testpmd: display fdir statistics Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 14/21] i40e: implement operation to flush flow director table Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 15/21] testpmd: add test command " Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 16/21] ethdev: define structures for configuring flexible payload Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 17/21] i40e: implement operations to configure " Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 18/21] testpmd: add test command " Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 19/21] ethdev: define structures for configuring flex masks Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 20/21] i40e: implement operations to configure flexible masks Jingjing Wu
2014-10-30  7:26     ` [dpdk-dev] [PATCH v5 21/21] testpmd: add test command " Jingjing Wu
2014-10-30  8:07     ` [dpdk-dev] [PATCH v5 01/21] i40e: set up and initialize flow director Jingjing Wu
2014-11-21  0:46     ` [dpdk-dev] [PATCH v6 00/22] Support flow director programming on Fortville Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 01/22] i40e: set up and initialize flow director Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 02/22] i40e: tear down " Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 03/22] i40e: initialize flexible payload setting Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 04/22] ethdev: define structures for adding/deleting flow director Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 05/22] i40e: define functions for transition between flow_type and pctype Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 06/22] i40e: implement operations to add/delete flow director Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 07/22] testpmd: add test commands to add/delete flow director filter Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 08/22] i40e: match counter for flow director Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 09/22] mbuf: extend fdir field Jingjing Wu
2014-11-21 17:03         ` Chilikin, Andrey
2014-11-21 19:34           ` Ananyev, Konstantin
2014-11-21 19:37             ` Chilikin, Andrey
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 10/22] i40e: report flow director match info to mbuf Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 11/22] testpmd: print extended fdir info in mbuf Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 12/22] i40e: implement operation to flush flow director table Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 13/22] testpmd: add test command " Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 14/22] ethdev: define structures for getting flow director information Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 15/22] i40e: implement operations to get fdir info Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 16/22] ethdev: define structures for getting flow director statistics Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 17/22] i40e: implement operations to get fdir statistics Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 18/22] testpmd: display fdir info Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 19/22] ethdev: add flexible payload setting in eth_conf Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 20/22] i40e: take flow director flexible payload configuration Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 21/22] testpmd: add test command to configure flexible mask Jingjing Wu
2014-11-21  0:46       ` [dpdk-dev] [PATCH v6 22/22] testpmd: add test command to configure flexible payload Jingjing Wu
2014-11-21 11:34       ` [dpdk-dev] [PATCH v6 00/22] Support flow director programming on Fortville Ananyev, Konstantin
2014-11-24 23:20         ` Thomas Monjalon
2014-11-25  4:51           ` Wu, Jingjing
2014-11-25  9:23             ` Thomas Monjalon
2014-10-30  7:34   ` [dpdk-dev] [PATCH v4 00/21] " Cao, Min
2014-11-19  7:53   ` Cao, Min
2014-10-30  7:12 ` [dpdk-dev] [PATCH v3 00/20] " Cao, Min

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=E115CCD9D858EF4F90C690B0DCB4D8972262B7BF@IRSMSX108.ger.corp.intel.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@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).