All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ethdev: add tunnel and port RSS offload types
@ 2016-03-26 17:55 Jerin Jacob
  2016-03-26 17:55 ` [PATCH 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
  2016-03-29 11:20 ` [PATCH v2 0/2] New RSS offload flags Jerin Jacob
  0 siblings, 2 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-26 17:55 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

- added VXLAN, GENEVE and NVGRE tunnel flow types
- added PORT flow type for accounting physical/virtual
port or channel number in flow creation

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 app/test-pmd/config.c           |  5 +++++
 lib/librte_ether/rte_eth_ctrl.h |  6 +++++-
 lib/librte_ether/rte_ethdev.h   | 16 +++++++++++++++-
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index b1bbec6..479d26c 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -137,6 +137,11 @@ static const struct rss_type_info rss_type_table[] = {
 	{ "ipv6-ex", ETH_RSS_IPV6_EX },
 	{ "ipv6-tcp-ex", ETH_RSS_IPV6_TCP_EX },
 	{ "ipv6-udp-ex", ETH_RSS_IPV6_UDP_EX },
+	{ "port", ETH_RSS_PORT },
+	{ "vxlan", ETH_RSS_VXLAN },
+	{ "geneve", ETH_RSS_GENEVE },
+	{ "nvgre", ETH_RSS_NVGRE },
+
 };
 
 static void
diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index aabd724..2b70676 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -74,7 +74,11 @@ extern "C" {
 #define RTE_ETH_FLOW_IPV6_EX            15
 #define RTE_ETH_FLOW_IPV6_TCP_EX        16
 #define RTE_ETH_FLOW_IPV6_UDP_EX        17
-#define RTE_ETH_FLOW_MAX                18
+#define RTE_ETH_FLOW_PORT               18
+#define RET_ETH_FLOW_VXLAN              19
+#define RET_ETH_FLOW_GENEVE             20
+#define RET_ETH_FLOW_NVGRE              21
+#define RTE_ETH_FLOW_MAX                22
 
 /**
  * Feature filter types
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index e7de34a..cf2e7f4 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -406,6 +406,10 @@ struct rte_eth_rss_conf {
 #define ETH_RSS_IPV6_EX            (1ULL << RTE_ETH_FLOW_IPV6_EX)
 #define ETH_RSS_IPV6_TCP_EX        (1ULL << RTE_ETH_FLOW_IPV6_TCP_EX)
 #define ETH_RSS_IPV6_UDP_EX        (1ULL << RTE_ETH_FLOW_IPV6_UDP_EX)
+#define ETH_RSS_PORT               (1ULL << RTE_ETH_FLOW_PORT)
+#define ETH_RSS_VXLAN              (1ULL << RET_ETH_FLOW_VXLAN)
+#define ETH_RSS_GENEVE             (1ULL << RET_ETH_FLOW_GENEVE)
+#define ETH_RSS_NVGRE              (1ULL << RET_ETH_FLOW_NVGRE)
 
 #define ETH_RSS_IP ( \
 	ETH_RSS_IPV4 | \
@@ -430,6 +434,12 @@ struct rte_eth_rss_conf {
 	ETH_RSS_NONFRAG_IPV4_SCTP | \
 	ETH_RSS_NONFRAG_IPV6_SCTP)
 
+#define ETH_RSS_TUNNEL ( \
+	ETH_RSS_VXLAN  | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
+
+
 /**< Mask of valid RSS hash protocols */
 #define ETH_RSS_PROTO_MASK ( \
 	ETH_RSS_IPV4 | \
@@ -447,7 +457,11 @@ struct rte_eth_rss_conf {
 	ETH_RSS_L2_PAYLOAD | \
 	ETH_RSS_IPV6_EX | \
 	ETH_RSS_IPV6_TCP_EX | \
-	ETH_RSS_IPV6_UDP_EX)
+	ETH_RSS_IPV6_UDP_EX | \
+	ETH_RSS_PORT  | \
+	ETH_RSS_VXLAN | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
 
 /*
  * Definitions used for redirection table entry size.
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 2/2] ethdev: add ETH_RSS_RETA_SIZE_256
  2016-03-26 17:55 [PATCH 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-03-26 17:55 ` Jerin Jacob
  2016-03-29 11:20 ` [PATCH v2 0/2] New RSS offload flags Jerin Jacob
  1 sibling, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-26 17:55 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_ether/rte_ethdev.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index cf2e7f4..2f4cd09 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -470,6 +470,7 @@ struct rte_eth_rss_conf {
  */
 #define ETH_RSS_RETA_SIZE_64  64
 #define ETH_RSS_RETA_SIZE_128 128
+#define ETH_RSS_RETA_SIZE_256 256
 #define ETH_RSS_RETA_SIZE_512 512
 #define RTE_RETA_GROUP_SIZE   64
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH v2 0/2] New RSS offload flags
  2016-03-26 17:55 [PATCH 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-03-26 17:55 ` [PATCH 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
@ 2016-03-29 11:20 ` Jerin Jacob
  2016-03-29 11:20   ` [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-03-29 11:20   ` [PATCH v2 " Jerin Jacob
  1 sibling, 2 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-29 11:20 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

v1..v2
- Added cover letter
- Corrected typo in RET_ETH_FLOW_VXLAN name
- Updated test-pmd application to access newly defined RSS offload flags

Jerin Jacob (2):
  ethdev: add tunnel and port RSS offload types
  ethdev: add ETH_RSS_RETA_SIZE_256

 app/test-pmd/cmdline.c          | 18 +++++++++++++++---
 app/test-pmd/config.c           |  9 +++++++++
 lib/librte_ether/rte_eth_ctrl.h |  6 +++++-
 lib/librte_ether/rte_ethdev.h   | 17 ++++++++++++++++-
 4 files changed, 45 insertions(+), 5 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-29 11:20 ` [PATCH v2 0/2] New RSS offload flags Jerin Jacob
@ 2016-03-29 11:20   ` Jerin Jacob
  2016-03-29 11:26     ` Mcnamara, John
                       ` (2 more replies)
  2016-03-29 11:20   ` [PATCH v2 " Jerin Jacob
  1 sibling, 3 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-29 11:20 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

- added VXLAN, GENEVE and NVGRE tunnel flow types
- added PORT flow type for accounting physical/virtual
port or channel number in flow creation

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 app/test-pmd/cmdline.c          | 18 +++++++++++++++---
 app/test-pmd/config.c           |  9 +++++++++
 lib/librte_ether/rte_eth_ctrl.h |  6 +++++-
 lib/librte_ether/rte_ethdev.h   | 16 +++++++++++++++-
 4 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 93203f4..5fe8239 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -565,7 +565,7 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"    Set crc-strip/rx-checksum/hardware-vlan/drop_en"
 			" for ports.\n\n"
 
-			"port config all rss (all|ip|tcp|udp|sctp|ether|none)\n"
+			"port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n"
 			"    Set the RSS mode.\n\n"
 
 			"port config port-id rss reta (hash,queue)[,(hash,queue)]\n"
@@ -1545,6 +1545,14 @@ cmd_config_rss_parsed(void *parsed_result,
 		rss_conf.rss_hf = ETH_RSS_SCTP;
 	else if (!strcmp(res->value, "ether"))
 		rss_conf.rss_hf = ETH_RSS_L2_PAYLOAD;
+	else if (!strcmp(res->value, "port"))
+		rss_conf.rss_hf = ETH_RSS_PORT;
+	else if (!strcmp(res->value, "vxlan"))
+		rss_conf.rss_hf = ETH_RSS_VXLAN;
+	else if (!strcmp(res->value, "geneve"))
+		rss_conf.rss_hf = ETH_RSS_GENEVE;
+	else if (!strcmp(res->value, "nvgre"))
+		rss_conf.rss_hf = ETH_RSS_NVGRE;
 	else if (!strcmp(res->value, "none"))
 		rss_conf.rss_hf = 0;
 	else {
@@ -1566,12 +1574,12 @@ cmdline_parse_token_string_t cmd_config_rss_name =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_rss, name, "rss");
 cmdline_parse_token_string_t cmd_config_rss_value =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_rss, value,
-		"all#ip#tcp#udp#sctp#ether#none");
+		"all#ip#tcp#udp#sctp#ether#port#vxlan#geneve#nvgre#none");
 
 cmdline_parse_inst_t cmd_config_rss = {
 	.f = cmd_config_rss_parsed,
 	.data = NULL,
-	.help_str = "port config all rss all|ip|tcp|udp|sctp|ether|none",
+	.help_str = "port config all rss all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none",
 	.tokens = {
 		(void *)&cmd_config_rss_port,
 		(void *)&cmd_config_rss_keyword,
@@ -9304,6 +9312,10 @@ flowtype_to_str(uint16_t ftype)
 		{"ipv6-sctp", RTE_ETH_FLOW_NONFRAG_IPV6_SCTP},
 		{"ipv6-other", RTE_ETH_FLOW_NONFRAG_IPV6_OTHER},
 		{"l2_payload", RTE_ETH_FLOW_L2_PAYLOAD},
+		{"port", RTE_ETH_FLOW_PORT},
+		{"vxlan", RTE_ETH_FLOW_VXLAN},
+		{"geneve", RTE_ETH_FLOW_GENEVE},
+		{"nvgre", RTE_ETH_FLOW_NVGRE},
 	};
 
 	for (i = 0; i < RTE_DIM(ftype_table); i++) {
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index b1bbec6..0b3619d 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -137,6 +137,11 @@ static const struct rss_type_info rss_type_table[] = {
 	{ "ipv6-ex", ETH_RSS_IPV6_EX },
 	{ "ipv6-tcp-ex", ETH_RSS_IPV6_TCP_EX },
 	{ "ipv6-udp-ex", ETH_RSS_IPV6_UDP_EX },
+	{ "port", ETH_RSS_PORT },
+	{ "vxlan", ETH_RSS_VXLAN },
+	{ "geneve", ETH_RSS_GENEVE },
+	{ "nvgre", ETH_RSS_NVGRE },
+
 };
 
 static void
@@ -2028,6 +2033,10 @@ flowtype_to_str(uint16_t flow_type)
 		{"ipv6-sctp", RTE_ETH_FLOW_NONFRAG_IPV6_SCTP},
 		{"ipv6-other", RTE_ETH_FLOW_NONFRAG_IPV6_OTHER},
 		{"l2_payload", RTE_ETH_FLOW_L2_PAYLOAD},
+		{"port", RTE_ETH_FLOW_PORT},
+		{"vxlan", RTE_ETH_FLOW_VXLAN},
+		{"geneve", RTE_ETH_FLOW_GENEVE},
+		{"nvgre", RTE_ETH_FLOW_NVGRE},
 	};
 
 	for (i = 0; i < RTE_DIM(flowtype_str_table); i++) {
diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index aabd724..d57e967 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -74,7 +74,11 @@ extern "C" {
 #define RTE_ETH_FLOW_IPV6_EX            15
 #define RTE_ETH_FLOW_IPV6_TCP_EX        16
 #define RTE_ETH_FLOW_IPV6_UDP_EX        17
-#define RTE_ETH_FLOW_MAX                18
+#define RTE_ETH_FLOW_PORT               18
+#define RTE_ETH_FLOW_VXLAN              19
+#define RTE_ETH_FLOW_GENEVE             20
+#define RTE_ETH_FLOW_NVGRE              21
+#define RTE_ETH_FLOW_MAX                22
 
 /**
  * Feature filter types
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index e7de34a..a4eeeba 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -406,6 +406,10 @@ struct rte_eth_rss_conf {
 #define ETH_RSS_IPV6_EX            (1ULL << RTE_ETH_FLOW_IPV6_EX)
 #define ETH_RSS_IPV6_TCP_EX        (1ULL << RTE_ETH_FLOW_IPV6_TCP_EX)
 #define ETH_RSS_IPV6_UDP_EX        (1ULL << RTE_ETH_FLOW_IPV6_UDP_EX)
+#define ETH_RSS_PORT               (1ULL << RTE_ETH_FLOW_PORT)
+#define ETH_RSS_VXLAN              (1ULL << RTE_ETH_FLOW_VXLAN)
+#define ETH_RSS_GENEVE             (1ULL << RTE_ETH_FLOW_GENEVE)
+#define ETH_RSS_NVGRE              (1ULL << RTE_ETH_FLOW_NVGRE)
 
 #define ETH_RSS_IP ( \
 	ETH_RSS_IPV4 | \
@@ -430,6 +434,12 @@ struct rte_eth_rss_conf {
 	ETH_RSS_NONFRAG_IPV4_SCTP | \
 	ETH_RSS_NONFRAG_IPV6_SCTP)
 
+#define ETH_RSS_TUNNEL ( \
+	ETH_RSS_VXLAN  | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
+
+
 /**< Mask of valid RSS hash protocols */
 #define ETH_RSS_PROTO_MASK ( \
 	ETH_RSS_IPV4 | \
@@ -447,7 +457,11 @@ struct rte_eth_rss_conf {
 	ETH_RSS_L2_PAYLOAD | \
 	ETH_RSS_IPV6_EX | \
 	ETH_RSS_IPV6_TCP_EX | \
-	ETH_RSS_IPV6_UDP_EX)
+	ETH_RSS_IPV6_UDP_EX | \
+	ETH_RSS_PORT  | \
+	ETH_RSS_VXLAN | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
 
 /*
  * Definitions used for redirection table entry size.
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH v2 2/2] ethdev: add ETH_RSS_RETA_SIZE_256
  2016-03-29 11:20 ` [PATCH v2 0/2] New RSS offload flags Jerin Jacob
  2016-03-29 11:20   ` [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-03-29 11:20   ` Jerin Jacob
  1 sibling, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-29 11:20 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_ether/rte_ethdev.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index a4eeeba..d93f85a 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -470,6 +470,7 @@ struct rte_eth_rss_conf {
  */
 #define ETH_RSS_RETA_SIZE_64  64
 #define ETH_RSS_RETA_SIZE_128 128
+#define ETH_RSS_RETA_SIZE_256 256
 #define ETH_RSS_RETA_SIZE_512 512
 #define RTE_RETA_GROUP_SIZE   64
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-29 11:20   ` [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-03-29 11:26     ` Mcnamara, John
  2016-03-29 11:58     ` De Lara Guarch, Pablo
  2016-03-30 20:51     ` [PATCH v3 0/2] New RSS offload flags Jerin Jacob
  2 siblings, 0 replies; 25+ messages in thread
From: Mcnamara, John @ 2016-03-29 11:26 UTC (permalink / raw)
  To: Jerin Jacob, dev; +Cc: thomas.monjalon, Richardson, Bruce

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> Sent: Tuesday, March 29, 2016 12:20 PM
> To: dev@dpdk.org
> Cc: thomas.monjalon@6wind.com; Richardson, Bruce
> <bruce.richardson@intel.com>; Jerin Jacob <jerin.jacob@caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH v2 1/2] ethdev: add tunnel and port RSS offload
> types
> 
> ...
>
> -			"port config all rss (all|ip|tcp|udp|sctp|ether|none)\n"
> +			"port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n"

Hi,

Just a reminder that if the testpmd interface is changed you need to update the testpmd documentation as well.

John 

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-29 11:20   ` [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-03-29 11:26     ` Mcnamara, John
@ 2016-03-29 11:58     ` De Lara Guarch, Pablo
  2016-03-30 20:47       ` Jerin Jacob
  2016-03-30 20:51     ` [PATCH v3 0/2] New RSS offload flags Jerin Jacob
  2 siblings, 1 reply; 25+ messages in thread
From: De Lara Guarch, Pablo @ 2016-03-29 11:58 UTC (permalink / raw)
  To: Jerin Jacob, dev; +Cc: thomas.monjalon, Richardson, Bruce

Hi Jerin,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> Sent: Tuesday, March 29, 2016 12:20 PM
> To: dev@dpdk.org
> Cc: thomas.monjalon@6wind.com; Richardson, Bruce; Jerin Jacob
> Subject: [dpdk-dev] [PATCH v2 1/2] ethdev: add tunnel and port RSS offload
> types
> 
> - added VXLAN, GENEVE and NVGRE tunnel flow types
> - added PORT flow type for accounting physical/virtual
> port or channel number in flow creation
> 
> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> ---
>  app/test-pmd/cmdline.c          | 18 +++++++++++++++---
>  app/test-pmd/config.c           |  9 +++++++++
>  lib/librte_ether/rte_eth_ctrl.h |  6 +++++-
>  lib/librte_ether/rte_ethdev.h   | 16 +++++++++++++++-
>  4 files changed, 44 insertions(+), 5 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index 93203f4..5fe8239 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -565,7 +565,7 @@ static void cmd_help_long_parsed(void
> *parsed_result,
>  			"    Set crc-strip/rx-checksum/hardware-
> vlan/drop_en"
>  			" for ports.\n\n"
> 
> -			"port config all rss
> (all|ip|tcp|udp|sctp|ether|none)\n"
> +			"port config all rss
> (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n"

Could you update the testpmd document and extend the options in the command line help?

Thanks,
Pablo

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-29 11:58     ` De Lara Guarch, Pablo
@ 2016-03-30 20:47       ` Jerin Jacob
  0 siblings, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-30 20:47 UTC (permalink / raw)
  To: De Lara Guarch, Pablo; +Cc: dev, thomas.monjalon, Richardson, Bruce

On Tue, Mar 29, 2016 at 11:58:47AM +0000, De Lara Guarch, Pablo wrote:
> Hi Jerin,
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> > Sent: Tuesday, March 29, 2016 12:20 PM
> > To: dev@dpdk.org
> > Cc: thomas.monjalon@6wind.com; Richardson, Bruce; Jerin Jacob
> > Subject: [dpdk-dev] [PATCH v2 1/2] ethdev: add tunnel and port RSS offload
> > types
> > 
> > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > - added PORT flow type for accounting physical/virtual
> > port or channel number in flow creation
> > 
> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > ---
> >  app/test-pmd/cmdline.c          | 18 +++++++++++++++---
> >  app/test-pmd/config.c           |  9 +++++++++
> >  lib/librte_ether/rte_eth_ctrl.h |  6 +++++-
> >  lib/librte_ether/rte_ethdev.h   | 16 +++++++++++++++-
> >  4 files changed, 44 insertions(+), 5 deletions(-)
> > 
> > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> > index 93203f4..5fe8239 100644
> > --- a/app/test-pmd/cmdline.c
> > +++ b/app/test-pmd/cmdline.c
> > @@ -565,7 +565,7 @@ static void cmd_help_long_parsed(void
> > *parsed_result,
> >  			"    Set crc-strip/rx-checksum/hardware-
> > vlan/drop_en"
> >  			" for ports.\n\n"
> > 
> > -			"port config all rss
> > (all|ip|tcp|udp|sctp|ether|none)\n"
> > +			"port config all rss
> > (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n"
> 
> Could you update the testpmd document and extend the options in the command line help?
Hi John and Pablo,

I will send the V3 with testpmd document update. Command line help is
already part of V2

> 
> Thanks,
> Pablo
> 
> 

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v3 0/2] New RSS offload flags
  2016-03-29 11:20   ` [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-03-29 11:26     ` Mcnamara, John
  2016-03-29 11:58     ` De Lara Guarch, Pablo
@ 2016-03-30 20:51     ` Jerin Jacob
  2016-03-30 20:51       ` [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-03-30 20:51       ` [PATCH v3 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
  2 siblings, 2 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-30 20:51 UTC (permalink / raw)
  To: dev
  Cc: thomas.monjalon, bruce.richardson, pablo.de.lara.guarch,
	john.mcnamara, Jerin Jacob

v1..v2
- Added cover letter
- Corrected typo in RET_ETH_FLOW_VXLAN name
- Updated test-pmd application to access newly defined RSS offload flags

v2..v3
-testpmd document update(Suggested by John and Pablo)

Jerin Jacob (2):
  ethdev: add tunnel and port RSS offload types
  ethdev: add ETH_RSS_RETA_SIZE_256

 app/test-pmd/cmdline.c                      | 18 +++++++++++++++---
 app/test-pmd/config.c                       |  9 +++++++++
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  6 +++++-
 lib/librte_ether/rte_eth_ctrl.h             |  6 +++++-
 lib/librte_ether/rte_ethdev.h               | 17 ++++++++++++++++-
 5 files changed, 50 insertions(+), 6 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-30 20:51     ` [PATCH v3 0/2] New RSS offload flags Jerin Jacob
@ 2016-03-30 20:51       ` Jerin Jacob
  2016-04-01 14:04         ` Thomas Monjalon
                           ` (2 more replies)
  2016-03-30 20:51       ` [PATCH v3 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
  1 sibling, 3 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-30 20:51 UTC (permalink / raw)
  To: dev
  Cc: thomas.monjalon, bruce.richardson, pablo.de.lara.guarch,
	john.mcnamara, Jerin Jacob

- added VXLAN, GENEVE and NVGRE tunnel flow types
- added PORT flow type for accounting physical/virtual
port or channel number in flow creation

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 app/test-pmd/cmdline.c                      | 18 +++++++++++++++---
 app/test-pmd/config.c                       |  9 +++++++++
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  6 +++++-
 lib/librte_ether/rte_eth_ctrl.h             |  6 +++++-
 lib/librte_ether/rte_ethdev.h               | 16 +++++++++++++++-
 5 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 93203f4..5fe8239 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -565,7 +565,7 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"    Set crc-strip/rx-checksum/hardware-vlan/drop_en"
 			" for ports.\n\n"
 
-			"port config all rss (all|ip|tcp|udp|sctp|ether|none)\n"
+			"port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n"
 			"    Set the RSS mode.\n\n"
 
 			"port config port-id rss reta (hash,queue)[,(hash,queue)]\n"
@@ -1545,6 +1545,14 @@ cmd_config_rss_parsed(void *parsed_result,
 		rss_conf.rss_hf = ETH_RSS_SCTP;
 	else if (!strcmp(res->value, "ether"))
 		rss_conf.rss_hf = ETH_RSS_L2_PAYLOAD;
+	else if (!strcmp(res->value, "port"))
+		rss_conf.rss_hf = ETH_RSS_PORT;
+	else if (!strcmp(res->value, "vxlan"))
+		rss_conf.rss_hf = ETH_RSS_VXLAN;
+	else if (!strcmp(res->value, "geneve"))
+		rss_conf.rss_hf = ETH_RSS_GENEVE;
+	else if (!strcmp(res->value, "nvgre"))
+		rss_conf.rss_hf = ETH_RSS_NVGRE;
 	else if (!strcmp(res->value, "none"))
 		rss_conf.rss_hf = 0;
 	else {
@@ -1566,12 +1574,12 @@ cmdline_parse_token_string_t cmd_config_rss_name =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_rss, name, "rss");
 cmdline_parse_token_string_t cmd_config_rss_value =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_rss, value,
-		"all#ip#tcp#udp#sctp#ether#none");
+		"all#ip#tcp#udp#sctp#ether#port#vxlan#geneve#nvgre#none");
 
 cmdline_parse_inst_t cmd_config_rss = {
 	.f = cmd_config_rss_parsed,
 	.data = NULL,
-	.help_str = "port config all rss all|ip|tcp|udp|sctp|ether|none",
+	.help_str = "port config all rss all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none",
 	.tokens = {
 		(void *)&cmd_config_rss_port,
 		(void *)&cmd_config_rss_keyword,
@@ -9304,6 +9312,10 @@ flowtype_to_str(uint16_t ftype)
 		{"ipv6-sctp", RTE_ETH_FLOW_NONFRAG_IPV6_SCTP},
 		{"ipv6-other", RTE_ETH_FLOW_NONFRAG_IPV6_OTHER},
 		{"l2_payload", RTE_ETH_FLOW_L2_PAYLOAD},
+		{"port", RTE_ETH_FLOW_PORT},
+		{"vxlan", RTE_ETH_FLOW_VXLAN},
+		{"geneve", RTE_ETH_FLOW_GENEVE},
+		{"nvgre", RTE_ETH_FLOW_NVGRE},
 	};
 
 	for (i = 0; i < RTE_DIM(ftype_table); i++) {
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index b1bbec6..0b3619d 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -137,6 +137,11 @@ static const struct rss_type_info rss_type_table[] = {
 	{ "ipv6-ex", ETH_RSS_IPV6_EX },
 	{ "ipv6-tcp-ex", ETH_RSS_IPV6_TCP_EX },
 	{ "ipv6-udp-ex", ETH_RSS_IPV6_UDP_EX },
+	{ "port", ETH_RSS_PORT },
+	{ "vxlan", ETH_RSS_VXLAN },
+	{ "geneve", ETH_RSS_GENEVE },
+	{ "nvgre", ETH_RSS_NVGRE },
+
 };
 
 static void
@@ -2028,6 +2033,10 @@ flowtype_to_str(uint16_t flow_type)
 		{"ipv6-sctp", RTE_ETH_FLOW_NONFRAG_IPV6_SCTP},
 		{"ipv6-other", RTE_ETH_FLOW_NONFRAG_IPV6_OTHER},
 		{"l2_payload", RTE_ETH_FLOW_L2_PAYLOAD},
+		{"port", RTE_ETH_FLOW_PORT},
+		{"vxlan", RTE_ETH_FLOW_VXLAN},
+		{"geneve", RTE_ETH_FLOW_GENEVE},
+		{"nvgre", RTE_ETH_FLOW_NVGRE},
 	};
 
 	for (i = 0; i < RTE_DIM(flowtype_str_table); i++) {
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 94fba6a..e8839c2 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -177,6 +177,10 @@ For example:
      ipv6-sctp
      ipv6-other
      l2_payload
+     port
+     vxlan
+     geneve
+     nvgre
 
 show port rss reta
 ~~~~~~~~~~~~~~~~~~
@@ -1258,7 +1262,7 @@ port config - RSS
 
 Set the RSS (Receive Side Scaling) mode on or off::
 
-   testpmd> port config all rss (all|ip|tcp|udp|sctp|ether|none)
+   testpmd> port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)
 
 RSS is on by default.
 
diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index b8c7be9..8afbd92 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -74,7 +74,11 @@ extern "C" {
 #define RTE_ETH_FLOW_IPV6_EX            15
 #define RTE_ETH_FLOW_IPV6_TCP_EX        16
 #define RTE_ETH_FLOW_IPV6_UDP_EX        17
-#define RTE_ETH_FLOW_MAX                18
+#define RTE_ETH_FLOW_PORT               18
+#define RTE_ETH_FLOW_VXLAN              19
+#define RTE_ETH_FLOW_GENEVE             20
+#define RTE_ETH_FLOW_NVGRE              21
+#define RTE_ETH_FLOW_MAX                22
 
 /**
  * Feature filter types
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index e7de34a..a4eeeba 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -406,6 +406,10 @@ struct rte_eth_rss_conf {
 #define ETH_RSS_IPV6_EX            (1ULL << RTE_ETH_FLOW_IPV6_EX)
 #define ETH_RSS_IPV6_TCP_EX        (1ULL << RTE_ETH_FLOW_IPV6_TCP_EX)
 #define ETH_RSS_IPV6_UDP_EX        (1ULL << RTE_ETH_FLOW_IPV6_UDP_EX)
+#define ETH_RSS_PORT               (1ULL << RTE_ETH_FLOW_PORT)
+#define ETH_RSS_VXLAN              (1ULL << RTE_ETH_FLOW_VXLAN)
+#define ETH_RSS_GENEVE             (1ULL << RTE_ETH_FLOW_GENEVE)
+#define ETH_RSS_NVGRE              (1ULL << RTE_ETH_FLOW_NVGRE)
 
 #define ETH_RSS_IP ( \
 	ETH_RSS_IPV4 | \
@@ -430,6 +434,12 @@ struct rte_eth_rss_conf {
 	ETH_RSS_NONFRAG_IPV4_SCTP | \
 	ETH_RSS_NONFRAG_IPV6_SCTP)
 
+#define ETH_RSS_TUNNEL ( \
+	ETH_RSS_VXLAN  | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
+
+
 /**< Mask of valid RSS hash protocols */
 #define ETH_RSS_PROTO_MASK ( \
 	ETH_RSS_IPV4 | \
@@ -447,7 +457,11 @@ struct rte_eth_rss_conf {
 	ETH_RSS_L2_PAYLOAD | \
 	ETH_RSS_IPV6_EX | \
 	ETH_RSS_IPV6_TCP_EX | \
-	ETH_RSS_IPV6_UDP_EX)
+	ETH_RSS_IPV6_UDP_EX | \
+	ETH_RSS_PORT  | \
+	ETH_RSS_VXLAN | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
 
 /*
  * Definitions used for redirection table entry size.
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH v3 2/2] ethdev: add ETH_RSS_RETA_SIZE_256
  2016-03-30 20:51     ` [PATCH v3 0/2] New RSS offload flags Jerin Jacob
  2016-03-30 20:51       ` [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-03-30 20:51       ` Jerin Jacob
  1 sibling, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-03-30 20:51 UTC (permalink / raw)
  To: dev
  Cc: thomas.monjalon, bruce.richardson, pablo.de.lara.guarch,
	john.mcnamara, Jerin Jacob

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_ether/rte_ethdev.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index a4eeeba..d93f85a 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -470,6 +470,7 @@ struct rte_eth_rss_conf {
  */
 #define ETH_RSS_RETA_SIZE_64  64
 #define ETH_RSS_RETA_SIZE_128 128
+#define ETH_RSS_RETA_SIZE_256 256
 #define ETH_RSS_RETA_SIZE_512 512
 #define RTE_RETA_GROUP_SIZE   64
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-30 20:51       ` [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-04-01 14:04         ` Thomas Monjalon
  2016-04-01 14:29           ` Jerin Jacob
  2016-06-21 21:02         ` Thomas Monjalon
  2016-06-22 13:03         ` [PATCH v4 0/2] New RSS offload flags Jerin Jacob
  2 siblings, 1 reply; 25+ messages in thread
From: Thomas Monjalon @ 2016-04-01 14:04 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

2016-03-31 02:21, Jerin Jacob:
> - added VXLAN, GENEVE and NVGRE tunnel flow types
> - added PORT flow type for accounting physical/virtual
> port or channel number in flow creation

These API change could be considered for 16.07 if they are motivated
by any use. Please bring some use cases, thanks.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-04-01 14:04         ` Thomas Monjalon
@ 2016-04-01 14:29           ` Jerin Jacob
  2016-06-16 11:46             ` Jerin Jacob
  0 siblings, 1 reply; 25+ messages in thread
From: Jerin Jacob @ 2016-04-01 14:29 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

On Fri, Apr 01, 2016 at 04:04:13PM +0200, Thomas Monjalon wrote:
> 2016-03-31 02:21, Jerin Jacob:
> > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > - added PORT flow type for accounting physical/virtual
> > port or channel number in flow creation
>
> These API change could be considered for 16.07 if they are motivated
> by any use. Please bring some use cases, thanks.

The use case is to spray the packets to multiple queues using RSS on
Tunnel type packets.

Considering the case if RSS hash does not account inner packet in tunnel
case, the packet always to go a particular queue as mostly likely
outer header remains same in tunnel packets and RSS spread
will not be achieved in tunnel packets case.

This feature is part of the RSS capability of ThunderX
NIC HW. Which, we are planning to upstream on next release.

I thought of pushing the common code changes first.

Jerin

>

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-04-01 14:29           ` Jerin Jacob
@ 2016-06-16 11:46             ` Jerin Jacob
  0 siblings, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-06-16 11:46 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

On Fri, Apr 01, 2016 at 07:59:33PM +0530, Jerin Jacob wrote:
> On Fri, Apr 01, 2016 at 04:04:13PM +0200, Thomas Monjalon wrote:
> > 2016-03-31 02:21, Jerin Jacob:
> > > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > > - added PORT flow type for accounting physical/virtual
> > > port or channel number in flow creation
> >
> > These API change could be considered for 16.07 if they are motivated
> > by any use. Please bring some use cases, thanks.
> 
> The use case is to spray the packets to multiple queues using RSS on
> Tunnel type packets.
> 
> Considering the case if RSS hash does not account inner packet in tunnel
> case, the packet always to go a particular queue as mostly likely
> outer header remains same in tunnel packets and RSS spread
> will not be achieved in tunnel packets case.
> 
> This feature is part of the RSS capability of ThunderX
> NIC HW. Which, we are planning to upstream on next release.
> 
> I thought of pushing the common code changes first.

Ping

Can we merge this changeset if their are no concerns?
and their is a real consumer for this,
http://dpdk.org/ml/archives/dev/2016-June/041374.html

Jerin

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-03-30 20:51       ` [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-04-01 14:04         ` Thomas Monjalon
@ 2016-06-21 21:02         ` Thomas Monjalon
  2016-06-22  3:30           ` Jerin Jacob
  2016-06-22 13:03         ` [PATCH v4 0/2] New RSS offload flags Jerin Jacob
  2 siblings, 1 reply; 25+ messages in thread
From: Thomas Monjalon @ 2016-06-21 21:02 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

Hi Jerin,

I wanted to push this patch which is now a dependency of ThunderX
but I do not fully understand it.

2016-03-31 02:21, Jerin Jacob:
> - added VXLAN, GENEVE and NVGRE tunnel flow types
> - added PORT flow type for accounting physical/virtual
> port or channel number in flow creation
[...]
> --- a/lib/librte_ether/rte_eth_ctrl.h
> +++ b/lib/librte_ether/rte_eth_ctrl.h
> @@ -74,7 +74,11 @@ extern "C" {
>  #define RTE_ETH_FLOW_IPV6_EX            15
>  #define RTE_ETH_FLOW_IPV6_TCP_EX        16
>  #define RTE_ETH_FLOW_IPV6_UDP_EX        17
> -#define RTE_ETH_FLOW_MAX                18
> +#define RTE_ETH_FLOW_PORT               18
> +#define RTE_ETH_FLOW_VXLAN              19
> +#define RTE_ETH_FLOW_GENEVE             20
> +#define RTE_ETH_FLOW_NVGRE              21
> +#define RTE_ETH_FLOW_MAX                22

Please could you explain more what is PORT flow?
Does it need a comment in the code?

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-21 21:02         ` Thomas Monjalon
@ 2016-06-22  3:30           ` Jerin Jacob
  2016-06-22  6:43             ` Thomas Monjalon
  0 siblings, 1 reply; 25+ messages in thread
From: Jerin Jacob @ 2016-06-22  3:30 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

On Tue, Jun 21, 2016 at 11:02:59PM +0200, Thomas Monjalon wrote:
> Hi Jerin,

Hi Thomas,

> 
> I wanted to push this patch which is now a dependency of ThunderX
> but I do not fully understand it.
> 
> 2016-03-31 02:21, Jerin Jacob:
> > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > - added PORT flow type for accounting physical/virtual
> > port or channel number in flow creation
> [...]
> > --- a/lib/librte_ether/rte_eth_ctrl.h
> > +++ b/lib/librte_ether/rte_eth_ctrl.h
> > @@ -74,7 +74,11 @@ extern "C" {
> >  #define RTE_ETH_FLOW_IPV6_EX            15
> >  #define RTE_ETH_FLOW_IPV6_TCP_EX        16
> >  #define RTE_ETH_FLOW_IPV6_UDP_EX        17
> > -#define RTE_ETH_FLOW_MAX                18
> > +#define RTE_ETH_FLOW_PORT               18
> > +#define RTE_ETH_FLOW_VXLAN              19
> > +#define RTE_ETH_FLOW_GENEVE             20
> > +#define RTE_ETH_FLOW_NVGRE              21
> > +#define RTE_ETH_FLOW_MAX                22
> 
> Please could you explain more what is PORT flow?

For example, a NIC card with two physical port where application
configures RTE_ETH_FLOW_IPV4 for both, In that case
HW generate same RSS value for a similar IPV4 packet,  However, in-case if
application want to generate a flow that account physical port also then
it can configure with RTE_ETH_FLOW_IPV4 | RTE_ETH_FLOW_PORT.

RTE_ETH_FLOW_PORT useful for the case where one physical port assigned for
INBOUND traffic and other-one for OUTBOUND traffic etc


> Does it need a comment in the code?
Not sure, commit log has description.

Jerin

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-22  3:30           ` Jerin Jacob
@ 2016-06-22  6:43             ` Thomas Monjalon
  2016-06-22  7:15               ` Jerin Jacob
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Monjalon @ 2016-06-22  6:43 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

2016-06-22 09:00, Jerin Jacob:
> On Tue, Jun 21, 2016 at 11:02:59PM +0200, Thomas Monjalon wrote:
> > Hi Jerin,
> 
> Hi Thomas,
> 
> > 
> > I wanted to push this patch which is now a dependency of ThunderX
> > but I do not fully understand it.
> > 
> > 2016-03-31 02:21, Jerin Jacob:
> > > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > > - added PORT flow type for accounting physical/virtual
> > > port or channel number in flow creation
> > [...]
> > > --- a/lib/librte_ether/rte_eth_ctrl.h
> > > +++ b/lib/librte_ether/rte_eth_ctrl.h
> > > @@ -74,7 +74,11 @@ extern "C" {
> > >  #define RTE_ETH_FLOW_IPV6_EX            15
> > >  #define RTE_ETH_FLOW_IPV6_TCP_EX        16
> > >  #define RTE_ETH_FLOW_IPV6_UDP_EX        17
> > > -#define RTE_ETH_FLOW_MAX                18
> > > +#define RTE_ETH_FLOW_PORT               18
> > > +#define RTE_ETH_FLOW_VXLAN              19
> > > +#define RTE_ETH_FLOW_GENEVE             20
> > > +#define RTE_ETH_FLOW_NVGRE              21
> > > +#define RTE_ETH_FLOW_MAX                22
> > 
> > Please could you explain more what is PORT flow?
> 
> For example, a NIC card with two physical port where application
> configures RTE_ETH_FLOW_IPV4 for both, In that case
> HW generate same RSS value for a similar IPV4 packet,  However, in-case if
> application want to generate a flow that account physical port also then
> it can configure with RTE_ETH_FLOW_IPV4 | RTE_ETH_FLOW_PORT.
> 
> RTE_ETH_FLOW_PORT useful for the case where one physical port assigned for
> INBOUND traffic and other-one for OUTBOUND traffic etc

OK

> > Does it need a comment in the code?
> Not sure, commit log has description.

How do you expect the user to understand this new value in the API?
Users do not check in the git history.
They use doxygen, headers comments and/or examples.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-22  6:43             ` Thomas Monjalon
@ 2016-06-22  7:15               ` Jerin Jacob
  2016-06-22  7:52                 ` Thomas Monjalon
  0 siblings, 1 reply; 25+ messages in thread
From: Jerin Jacob @ 2016-06-22  7:15 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara

On Wed, Jun 22, 2016 at 08:43:52AM +0200, Thomas Monjalon wrote:
> 2016-06-22 09:00, Jerin Jacob:
> > On Tue, Jun 21, 2016 at 11:02:59PM +0200, Thomas Monjalon wrote:
> > > Hi Jerin,
> > 
> > Hi Thomas,
> > 
> > > 
> > > I wanted to push this patch which is now a dependency of ThunderX
> > > but I do not fully understand it.
> > > 
> > > 2016-03-31 02:21, Jerin Jacob:
> > > > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > > > - added PORT flow type for accounting physical/virtual
> > > > port or channel number in flow creation
> > > [...]
> > > > --- a/lib/librte_ether/rte_eth_ctrl.h
> > > > +++ b/lib/librte_ether/rte_eth_ctrl.h
> > > > @@ -74,7 +74,11 @@ extern "C" {
> > > >  #define RTE_ETH_FLOW_IPV6_EX            15
> > > >  #define RTE_ETH_FLOW_IPV6_TCP_EX        16
> > > >  #define RTE_ETH_FLOW_IPV6_UDP_EX        17
> > > > -#define RTE_ETH_FLOW_MAX                18
> > > > +#define RTE_ETH_FLOW_PORT               18
> > > > +#define RTE_ETH_FLOW_VXLAN              19
> > > > +#define RTE_ETH_FLOW_GENEVE             20
> > > > +#define RTE_ETH_FLOW_NVGRE              21
> > > > +#define RTE_ETH_FLOW_MAX                22
> > > 
> > > Please could you explain more what is PORT flow?
> > 
> > For example, a NIC card with two physical port where application
> > configures RTE_ETH_FLOW_IPV4 for both, In that case
> > HW generate same RSS value for a similar IPV4 packet,  However, in-case if
> > application want to generate a flow that account physical port also then
> > it can configure with RTE_ETH_FLOW_IPV4 | RTE_ETH_FLOW_PORT.
> > 
> > RTE_ETH_FLOW_PORT useful for the case where one physical port assigned for
> > INBOUND traffic and other-one for OUTBOUND traffic etc
> 
> OK
> 
> > > Does it need a comment in the code?
> > Not sure, commit log has description.
> 
> How do you expect the user to understand this new value in the API?
> Users do not check in the git history.
> They use doxygen, headers comments and/or examples.

The reason why I said because none of flow type has comments in the
list. If you think RTE_ETH_FLOW_PORT needs a doxygen comment then I can
add it.

It would be nice some else could add the comments for following,
RTE_ETH_FLOW_RAW,
RTE_ETH_FLOW_L2_PAYLOAD

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-22  7:15               ` Jerin Jacob
@ 2016-06-22  7:52                 ` Thomas Monjalon
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Monjalon @ 2016-06-22  7:52 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, bruce.richardson, pablo.de.lara.guarch, john.mcnamara, Zhang, Helin

2016-06-22 12:45, Jerin Jacob:
> On Wed, Jun 22, 2016 at 08:43:52AM +0200, Thomas Monjalon wrote:
> > 2016-06-22 09:00, Jerin Jacob:
> > > On Tue, Jun 21, 2016 at 11:02:59PM +0200, Thomas Monjalon wrote:
> > > > 2016-03-31 02:21, Jerin Jacob:
> > > > > +#define RTE_ETH_FLOW_PORT               18
> > > > > +#define RTE_ETH_FLOW_VXLAN              19
> > > > > +#define RTE_ETH_FLOW_GENEVE             20
> > > > > +#define RTE_ETH_FLOW_NVGRE              21
> > > > > +#define RTE_ETH_FLOW_MAX                22
> > > > 
> > > > Please could you explain more what is PORT flow?
> > > 
> > > For example, a NIC card with two physical port where application
> > > configures RTE_ETH_FLOW_IPV4 for both, In that case
> > > HW generate same RSS value for a similar IPV4 packet,  However, in-case if
> > > application want to generate a flow that account physical port also then
> > > it can configure with RTE_ETH_FLOW_IPV4 | RTE_ETH_FLOW_PORT.
> > > 
> > > RTE_ETH_FLOW_PORT useful for the case where one physical port assigned for
> > > INBOUND traffic and other-one for OUTBOUND traffic etc
> > 
> > OK
> > 
> > > > Does it need a comment in the code?
> > > Not sure, commit log has description.
> > 
> > How do you expect the user to understand this new value in the API?
> > Users do not check in the git history.
> > They use doxygen, headers comments and/or examples.
> 
> The reason why I said because none of flow type has comments in the
> list. If you think RTE_ETH_FLOW_PORT needs a doxygen comment then I can
> add it.
> 
> It would be nice some else could add the comments for following,
> RTE_ETH_FLOW_RAW,
> RTE_ETH_FLOW_L2_PAYLOAD

These values passed without a proper check.
That's why we must not accept any line in API without good comment.

Please go ahead with what you can do and we'll fix or remove
the remaining later.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v4 0/2] New RSS offload flags
  2016-03-30 20:51       ` [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-04-01 14:04         ` Thomas Monjalon
  2016-06-21 21:02         ` Thomas Monjalon
@ 2016-06-22 13:03         ` Jerin Jacob
  2016-06-22 13:03           ` [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
                             ` (2 more replies)
  2 siblings, 3 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-06-22 13:03 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

v1..v2
- Added cover letter
- Corrected typo in RET_ETH_FLOW_VXLAN name
- Updated test-pmd application to access newly defined RSS offload flags

v2..v3
-testpmd document update(Suggested by John and Pablo)

v3..v4
- Added doxgen comments for new FLOW types(Suggested by Thomas)

Jerin Jacob (2):
  ethdev: add tunnel and port RSS offload types
  ethdev: add ETH_RSS_RETA_SIZE_256

 app/test-pmd/cmdline.c                      | 18 +++++++++++++++---
 app/test-pmd/config.c                       |  9 +++++++++
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  6 +++++-
 lib/librte_ether/rte_eth_ctrl.h             |  7 ++++++-
 lib/librte_ether/rte_ethdev.h               | 17 ++++++++++++++++-
 5 files changed, 51 insertions(+), 6 deletions(-)

-- 
2.5.5

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-22 13:03         ` [PATCH v4 0/2] New RSS offload flags Jerin Jacob
@ 2016-06-22 13:03           ` Jerin Jacob
  2016-06-22 15:06             ` Thomas Monjalon
  2016-06-22 13:03           ` [PATCH v4 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
  2016-06-22 17:47           ` [PATCH v4 0/2] New RSS offload flags Thomas Monjalon
  2 siblings, 1 reply; 25+ messages in thread
From: Jerin Jacob @ 2016-06-22 13:03 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

- added VXLAN, GENEVE and NVGRE tunnel flow types
- added PORT flow type for accounting physical/virtual
port or channel number in flow creation

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 app/test-pmd/cmdline.c                      | 18 +++++++++++++++---
 app/test-pmd/config.c                       |  9 +++++++++
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  6 +++++-
 lib/librte_ether/rte_eth_ctrl.h             |  7 ++++++-
 lib/librte_ether/rte_ethdev.h               | 16 +++++++++++++++-
 5 files changed, 50 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 9d3e4e8..b6b61ad 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -565,7 +565,7 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"    Set crc-strip/scatter/rx-checksum/hardware-vlan/drop_en"
 			" for ports.\n\n"
 
-			"port config all rss (all|ip|tcp|udp|sctp|ether|none)\n"
+			"port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n"
 			"    Set the RSS mode.\n\n"
 
 			"port config port-id rss reta (hash,queue)[,(hash,queue)]\n"
@@ -1552,6 +1552,14 @@ cmd_config_rss_parsed(void *parsed_result,
 		rss_conf.rss_hf = ETH_RSS_SCTP;
 	else if (!strcmp(res->value, "ether"))
 		rss_conf.rss_hf = ETH_RSS_L2_PAYLOAD;
+	else if (!strcmp(res->value, "port"))
+		rss_conf.rss_hf = ETH_RSS_PORT;
+	else if (!strcmp(res->value, "vxlan"))
+		rss_conf.rss_hf = ETH_RSS_VXLAN;
+	else if (!strcmp(res->value, "geneve"))
+		rss_conf.rss_hf = ETH_RSS_GENEVE;
+	else if (!strcmp(res->value, "nvgre"))
+		rss_conf.rss_hf = ETH_RSS_NVGRE;
 	else if (!strcmp(res->value, "none"))
 		rss_conf.rss_hf = 0;
 	else {
@@ -1578,12 +1586,12 @@ cmdline_parse_token_string_t cmd_config_rss_name =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_rss, name, "rss");
 cmdline_parse_token_string_t cmd_config_rss_value =
 	TOKEN_STRING_INITIALIZER(struct cmd_config_rss, value,
-		"all#ip#tcp#udp#sctp#ether#none");
+		"all#ip#tcp#udp#sctp#ether#port#vxlan#geneve#nvgre#none");
 
 cmdline_parse_inst_t cmd_config_rss = {
 	.f = cmd_config_rss_parsed,
 	.data = NULL,
-	.help_str = "port config all rss all|ip|tcp|udp|sctp|ether|none",
+	.help_str = "port config all rss all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none",
 	.tokens = {
 		(void *)&cmd_config_rss_port,
 		(void *)&cmd_config_rss_keyword,
@@ -9499,6 +9507,10 @@ flowtype_to_str(uint16_t ftype)
 		{"ipv6-sctp", RTE_ETH_FLOW_NONFRAG_IPV6_SCTP},
 		{"ipv6-other", RTE_ETH_FLOW_NONFRAG_IPV6_OTHER},
 		{"l2_payload", RTE_ETH_FLOW_L2_PAYLOAD},
+		{"port", RTE_ETH_FLOW_PORT},
+		{"vxlan", RTE_ETH_FLOW_VXLAN},
+		{"geneve", RTE_ETH_FLOW_GENEVE},
+		{"nvgre", RTE_ETH_FLOW_NVGRE},
 	};
 
 	for (i = 0; i < RTE_DIM(ftype_table); i++) {
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index cb71c09..9ccabf9 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -138,6 +138,11 @@ static const struct rss_type_info rss_type_table[] = {
 	{ "ipv6-ex", ETH_RSS_IPV6_EX },
 	{ "ipv6-tcp-ex", ETH_RSS_IPV6_TCP_EX },
 	{ "ipv6-udp-ex", ETH_RSS_IPV6_UDP_EX },
+	{ "port", ETH_RSS_PORT },
+	{ "vxlan", ETH_RSS_VXLAN },
+	{ "geneve", ETH_RSS_GENEVE },
+	{ "nvgre", ETH_RSS_NVGRE },
+
 };
 
 static void
@@ -2119,6 +2124,10 @@ flowtype_to_str(uint16_t flow_type)
 		{"ipv6-sctp", RTE_ETH_FLOW_NONFRAG_IPV6_SCTP},
 		{"ipv6-other", RTE_ETH_FLOW_NONFRAG_IPV6_OTHER},
 		{"l2_payload", RTE_ETH_FLOW_L2_PAYLOAD},
+		{"port", RTE_ETH_FLOW_PORT},
+		{"vxlan", RTE_ETH_FLOW_VXLAN},
+		{"geneve", RTE_ETH_FLOW_GENEVE},
+		{"nvgre", RTE_ETH_FLOW_NVGRE},
 	};
 
 	for (i = 0; i < RTE_DIM(flowtype_str_table); i++) {
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 4e19229..30e410d 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -179,6 +179,10 @@ For example:
      ipv6-sctp
      ipv6-other
      l2_payload
+     port
+     vxlan
+     geneve
+     nvgre
 
 show port rss reta
 ~~~~~~~~~~~~~~~~~~
@@ -1286,7 +1290,7 @@ port config - RSS
 
 Set the RSS (Receive Side Scaling) mode on or off::
 
-   testpmd> port config all rss (all|ip|tcp|udp|sctp|ether|none)
+   testpmd> port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)
 
 RSS is on by default.
 
diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/librte_ether/rte_eth_ctrl.h
index b8c7be9..c04a488 100644
--- a/lib/librte_ether/rte_eth_ctrl.h
+++ b/lib/librte_ether/rte_eth_ctrl.h
@@ -74,7 +74,12 @@ extern "C" {
 #define RTE_ETH_FLOW_IPV6_EX            15
 #define RTE_ETH_FLOW_IPV6_TCP_EX        16
 #define RTE_ETH_FLOW_IPV6_UDP_EX        17
-#define RTE_ETH_FLOW_MAX                18
+#define RTE_ETH_FLOW_PORT               18
+	/**< Physical/virtual port number based flow */
+#define RTE_ETH_FLOW_VXLAN              19 /**< VXLAN protocol based flow */
+#define RTE_ETH_FLOW_GENEVE             20 /**< GENEVE protocol based flow */
+#define RTE_ETH_FLOW_NVGRE              21 /**< NVGRE protocol based flow */
+#define RTE_ETH_FLOW_MAX                22
 
 /**
  * Feature filter types
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index bd93bf6..1579cb0 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -413,6 +413,10 @@ struct rte_eth_rss_conf {
 #define ETH_RSS_IPV6_EX            (1ULL << RTE_ETH_FLOW_IPV6_EX)
 #define ETH_RSS_IPV6_TCP_EX        (1ULL << RTE_ETH_FLOW_IPV6_TCP_EX)
 #define ETH_RSS_IPV6_UDP_EX        (1ULL << RTE_ETH_FLOW_IPV6_UDP_EX)
+#define ETH_RSS_PORT               (1ULL << RTE_ETH_FLOW_PORT)
+#define ETH_RSS_VXLAN              (1ULL << RTE_ETH_FLOW_VXLAN)
+#define ETH_RSS_GENEVE             (1ULL << RTE_ETH_FLOW_GENEVE)
+#define ETH_RSS_NVGRE              (1ULL << RTE_ETH_FLOW_NVGRE)
 
 #define ETH_RSS_IP ( \
 	ETH_RSS_IPV4 | \
@@ -437,6 +441,12 @@ struct rte_eth_rss_conf {
 	ETH_RSS_NONFRAG_IPV4_SCTP | \
 	ETH_RSS_NONFRAG_IPV6_SCTP)
 
+#define ETH_RSS_TUNNEL ( \
+	ETH_RSS_VXLAN  | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
+
+
 /**< Mask of valid RSS hash protocols */
 #define ETH_RSS_PROTO_MASK ( \
 	ETH_RSS_IPV4 | \
@@ -454,7 +464,11 @@ struct rte_eth_rss_conf {
 	ETH_RSS_L2_PAYLOAD | \
 	ETH_RSS_IPV6_EX | \
 	ETH_RSS_IPV6_TCP_EX | \
-	ETH_RSS_IPV6_UDP_EX)
+	ETH_RSS_IPV6_UDP_EX | \
+	ETH_RSS_PORT  | \
+	ETH_RSS_VXLAN | \
+	ETH_RSS_GENEVE | \
+	ETH_RSS_NVGRE)
 
 /*
  * Definitions used for redirection table entry size.
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH v4 2/2] ethdev: add ETH_RSS_RETA_SIZE_256
  2016-06-22 13:03         ` [PATCH v4 0/2] New RSS offload flags Jerin Jacob
  2016-06-22 13:03           ` [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-06-22 13:03           ` Jerin Jacob
  2016-06-22 17:47           ` [PATCH v4 0/2] New RSS offload flags Thomas Monjalon
  2 siblings, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-06-22 13:03 UTC (permalink / raw)
  To: dev; +Cc: thomas.monjalon, bruce.richardson, Jerin Jacob

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_ether/rte_ethdev.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 1579cb0..6cf4c58 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -477,6 +477,7 @@ struct rte_eth_rss_conf {
  */
 #define ETH_RSS_RETA_SIZE_64  64
 #define ETH_RSS_RETA_SIZE_128 128
+#define ETH_RSS_RETA_SIZE_256 256
 #define ETH_RSS_RETA_SIZE_512 512
 #define RTE_RETA_GROUP_SIZE   64
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-22 13:03           ` [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
@ 2016-06-22 15:06             ` Thomas Monjalon
  2016-06-22 16:48               ` Jerin Jacob
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Monjalon @ 2016-06-22 15:06 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev, bruce.richardson

2016-06-22 18:33, Jerin Jacob:
> - added VXLAN, GENEVE and NVGRE tunnel flow types
> - added PORT flow type for accounting physical/virtual
> port or channel number in flow creation
[...]
> +#define RTE_ETH_FLOW_PORT               18
> +	/**< Physical/virtual port number based flow */

What about
"Consider device port number as a flow differentiator" ?

I can make the change if you (Jerin and/or Bruce) agree.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types
  2016-06-22 15:06             ` Thomas Monjalon
@ 2016-06-22 16:48               ` Jerin Jacob
  0 siblings, 0 replies; 25+ messages in thread
From: Jerin Jacob @ 2016-06-22 16:48 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, bruce.richardson

On Wed, Jun 22, 2016 at 05:06:30PM +0200, Thomas Monjalon wrote:
> 2016-06-22 18:33, Jerin Jacob:
> > - added VXLAN, GENEVE and NVGRE tunnel flow types
> > - added PORT flow type for accounting physical/virtual
> > port or channel number in flow creation
> [...]
> > +#define RTE_ETH_FLOW_PORT               18
> > +	/**< Physical/virtual port number based flow */
> 
> What about
> "Consider device port number as a flow differentiator" ?
> 
> I can make the change if you (Jerin and/or Bruce) agree.

Looks OK to me. No strong opinion on this.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH v4 0/2] New RSS offload flags
  2016-06-22 13:03         ` [PATCH v4 0/2] New RSS offload flags Jerin Jacob
  2016-06-22 13:03           ` [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
  2016-06-22 13:03           ` [PATCH v4 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
@ 2016-06-22 17:47           ` Thomas Monjalon
  2 siblings, 0 replies; 25+ messages in thread
From: Thomas Monjalon @ 2016-06-22 17:47 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: dev, bruce.richardson

> Jerin Jacob (2):
>   ethdev: add tunnel and port RSS offload types
>   ethdev: add ETH_RSS_RETA_SIZE_256

Applied with suggested rewording, thanks

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2016-06-22 17:47 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-26 17:55 [PATCH 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
2016-03-26 17:55 ` [PATCH 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
2016-03-29 11:20 ` [PATCH v2 0/2] New RSS offload flags Jerin Jacob
2016-03-29 11:20   ` [PATCH v2 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
2016-03-29 11:26     ` Mcnamara, John
2016-03-29 11:58     ` De Lara Guarch, Pablo
2016-03-30 20:47       ` Jerin Jacob
2016-03-30 20:51     ` [PATCH v3 0/2] New RSS offload flags Jerin Jacob
2016-03-30 20:51       ` [PATCH v3 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
2016-04-01 14:04         ` Thomas Monjalon
2016-04-01 14:29           ` Jerin Jacob
2016-06-16 11:46             ` Jerin Jacob
2016-06-21 21:02         ` Thomas Monjalon
2016-06-22  3:30           ` Jerin Jacob
2016-06-22  6:43             ` Thomas Monjalon
2016-06-22  7:15               ` Jerin Jacob
2016-06-22  7:52                 ` Thomas Monjalon
2016-06-22 13:03         ` [PATCH v4 0/2] New RSS offload flags Jerin Jacob
2016-06-22 13:03           ` [PATCH v4 1/2] ethdev: add tunnel and port RSS offload types Jerin Jacob
2016-06-22 15:06             ` Thomas Monjalon
2016-06-22 16:48               ` Jerin Jacob
2016-06-22 13:03           ` [PATCH v4 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
2016-06-22 17:47           ` [PATCH v4 0/2] New RSS offload flags Thomas Monjalon
2016-03-30 20:51       ` [PATCH v3 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
2016-03-29 11:20   ` [PATCH v2 " Jerin Jacob

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.