All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: <dev@dpdk.org>
Cc: <thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,
	Jerin Jacob <jerin.jacob@caviumnetworks.com>
Subject: [PATCH 1/2] ethdev: add tunnel and port RSS offload types
Date: Sat, 26 Mar 2016 23:25:36 +0530	[thread overview]
Message-ID: <1459014937-852-1-git-send-email-jerin.jacob@caviumnetworks.com> (raw)

- 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

             reply	other threads:[~2016-03-26 17:56 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-26 17:55 Jerin Jacob [this message]
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

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=1459014937-852-1-git-send-email-jerin.jacob@caviumnetworks.com \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.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 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.