From: Qiming Yang <qiming.yang@intel.com>
To: dev@dpdk.org
Cc: Qiming Yang <qiming.yang@intel.com>
Subject: [PATCH 1/2] net/i40e: add support for VXLAN-GPE
Date: Wed, 2 Jan 2019 22:38:28 +0800 [thread overview]
Message-ID: <20190102143829.7624-1-qiming.yang@intel.com> (raw)
Can recognize new packet type VXLAN-GPE in i40e driver.
Added inner IP/TCP/UDP checksum and RSS support for VXLAN-GPE
packet.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
app/test-pmd/cmdline.c | 6 ++++--
drivers/net/i40e/i40e_ethdev.c | 13 +++++++++----
lib/librte_ethdev/rte_eth_ctrl.h | 1 +
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 3ddc3e0..51c7fac 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -8877,6 +8877,8 @@ cmd_cfg_tunnel_udp_port_parsed(void *parsed_result,
tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN;
} else if (!strcmp(res->tunnel_type, "geneve")) {
tunnel_udp.prot_type = RTE_TUNNEL_TYPE_GENEVE;
+ } else if (!strcmp(res->tunnel_type, "vxlan-gpe")) {
+ tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN_GPE;
} else {
printf("Invalid tunnel type\n");
return;
@@ -8911,7 +8913,7 @@ cmdline_parse_token_string_t cmd_config_tunnel_udp_port_action =
"add#rm");
cmdline_parse_token_string_t cmd_config_tunnel_udp_port_tunnel_type =
TOKEN_STRING_INITIALIZER(struct cmd_config_tunnel_udp_port, tunnel_type,
- "vxlan#geneve");
+ "vxlan#geneve#vxlan-gpe");
cmdline_parse_token_num_t cmd_config_tunnel_udp_port_value =
TOKEN_NUM_INITIALIZER(struct cmd_config_tunnel_udp_port, udp_port,
UINT16);
@@ -8919,7 +8921,7 @@ cmdline_parse_token_num_t cmd_config_tunnel_udp_port_value =
cmdline_parse_inst_t cmd_cfg_tunnel_udp_port = {
.f = cmd_cfg_tunnel_udp_port_parsed,
.data = NULL,
- .help_str = "port config <port_id> udp_tunnel_port add|rm vxlan|geneve <udp_port>",
+ .help_str = "port config <port_id> udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe <udp_port>",
.tokens = {
(void *)&cmd_config_tunnel_udp_port_port,
(void *)&cmd_config_tunnel_udp_port_config,
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 8dc1a4a..1dd04e6 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -8338,7 +8338,7 @@ i40e_get_vxlan_port_idx(struct i40e_pf *pf, uint16_t port)
}
static int
-i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
+i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port, int udp_type)
{
int idx, ret;
uint8_t filter_idx;
@@ -8361,7 +8361,7 @@ i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
return -ENOSPC;
}
- ret = i40e_aq_add_udp_tunnel(hw, port, I40E_AQC_TUNNEL_TYPE_VXLAN,
+ ret = i40e_aq_add_udp_tunnel(hw, port, udp_type,
&filter_idx, NULL);
if (ret < 0) {
PMD_DRV_LOG(ERR, "Failed to add VXLAN UDP port %d", port);
@@ -8429,9 +8429,13 @@ i40e_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
switch (udp_tunnel->prot_type) {
case RTE_TUNNEL_TYPE_VXLAN:
- ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port);
+ ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+ I40E_AQC_TUNNEL_TYPE_VXLAN);
break;
-
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
+ ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+ I40E_AQC_TUNNEL_TYPE_VXLAN_GPE);
+ break;
case RTE_TUNNEL_TYPE_GENEVE:
case RTE_TUNNEL_TYPE_TEREDO:
PMD_DRV_LOG(ERR, "Tunnel type is not supported now.");
@@ -8460,6 +8464,7 @@ i40e_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
switch (udp_tunnel->prot_type) {
case RTE_TUNNEL_TYPE_VXLAN:
+ case RTE_TUNNEL_TYPE_VXLAN_GPE:
ret = i40e_del_vxlan_port(pf, udp_tunnel->udp_port);
break;
case RTE_TUNNEL_TYPE_GENEVE:
diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
index 5ea8ae2..b341634 100644
--- a/lib/librte_ethdev/rte_eth_ctrl.h
+++ b/lib/librte_ethdev/rte_eth_ctrl.h
@@ -229,6 +229,7 @@ enum rte_eth_tunnel_type {
RTE_TUNNEL_TYPE_NVGRE,
RTE_TUNNEL_TYPE_IP_IN_GRE,
RTE_L2_TUNNEL_TYPE_E_TAG,
+ RTE_TUNNEL_TYPE_VXLAN_GPE,
RTE_TUNNEL_TYPE_MAX,
};
--
2.9.5
next reply other threads:[~2019-01-02 7:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-02 14:38 Qiming Yang [this message]
2019-01-02 14:38 ` [PATCH 2/2] net/i40e: support VXLAN-GPE classification Qiming Yang
2019-03-18 13:32 ` [PATCH v2 0/4] Supported VXLAN-GPE in i40e Qiming Yang
2019-03-18 13:32 ` [PATCH v2 1/4] net/i40e: add support for VXLAN-GPE Qiming Yang
2019-03-18 13:32 ` [PATCH v2 2/4] net/i40e: support VXLAN-GPE classification Qiming Yang
2019-03-18 13:32 ` [PATCH v2 3/4] app/testpmd: add VXLAN-GPE to tunnel type Qiming Yang
2019-03-18 13:32 ` [PATCH v2 4/4] doc: add release note for VXLAN-GPE support Qiming Yang
2019-03-18 15:41 ` [PATCH v3 0/5] Supported VXLAN-GPE in i40e Qiming Yang
2019-03-18 12:33 ` Zhang, Qi Z
2019-03-18 15:41 ` [PATCH v3 1/5] eal: add VXLAN-GPE macro Qiming Yang
2019-03-18 15:41 ` [PATCH v3 2/5] net/i40e: add support for VXLAN-GPE Qiming Yang
2019-03-18 12:25 ` Zhang, Qi Z
2019-03-18 15:41 ` [PATCH v3 3/5] net/i40e: support VXLAN-GPE classification Qiming Yang
2019-03-18 15:41 ` [PATCH v3 4/5] app/testpmd: add VXLAN-GPE to tunnel type Qiming Yang
2019-03-18 15:42 ` [PATCH v3 5/5] doc: add release note for VXLAN-GPE support Qiming Yang
2019-03-19 16:36 ` [PATCH v4 0/5] Supported VXLAN-GPE in i40e Qiming Yang
2019-03-19 13:03 ` Zhang, Qi Z
2019-03-19 16:36 ` [PATCH v4 1/5] eal: add VXLAN-GPE macro Qiming Yang
2019-03-19 13:50 ` David Marchand
2019-03-19 16:34 ` Ferruh Yigit
2019-03-19 16:36 ` [PATCH v4 2/5] net/i40e: add support for VXLAN-GPE Qiming Yang
2019-03-19 16:36 ` [PATCH v4 3/5] net/i40e: support VXLAN-GPE classification Qiming Yang
2019-03-19 16:36 ` [PATCH v4 4/5] app/testpmd: add VXLAN-GPE to tunnel type Qiming Yang
2019-03-27 11:04 ` Iremonger, Bernard
2019-03-28 10:49 ` Iremonger, Bernard
2019-04-03 5:29 ` Yang, Qiming
2019-03-19 16:36 ` [PATCH v4 5/5] doc: add release note for VXLAN-GPE support Qiming Yang
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=20190102143829.7624-1-qiming.yang@intel.com \
--to=qiming.yang@intel.com \
--cc=dev@dpdk.org \
/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.