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: [dpdk-dev] [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
next 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 ` [dpdk-dev] [PATCH 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
2016-03-29 11:20 ` [dpdk-dev] [PATCH v2 0/2] New RSS offload flags Jerin Jacob
2016-03-29 11:20 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v3 0/2] New RSS offload flags Jerin Jacob
2016-03-30 20:51 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v4 0/2] New RSS offload flags Jerin Jacob
2016-06-22 13:03 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH v4 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
2016-06-22 17:47 ` [dpdk-dev] [PATCH v4 0/2] New RSS offload flags Thomas Monjalon
2016-03-30 20:51 ` [dpdk-dev] [PATCH v3 2/2] ethdev: add ETH_RSS_RETA_SIZE_256 Jerin Jacob
2016-03-29 11:20 ` [dpdk-dev] [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 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).