All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] net/i40e: add support for VXLAN-GPE
@ 2019-01-02 14:38 Qiming Yang
  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
  0 siblings, 2 replies; 27+ messages in thread
From: Qiming Yang @ 2019-01-02 14:38 UTC (permalink / raw)
  To: dev; +Cc: Qiming Yang

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

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

end of thread, other threads:[~2019-04-03  5:29 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-02 14:38 [PATCH 1/2] net/i40e: add support for VXLAN-GPE Qiming Yang
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

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.