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
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 ` [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.