From patchwork Fri Nov 24 20:35:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 31663 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D4C632B86; Fri, 24 Nov 2017 21:36:41 +0100 (CET) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0049.outbound.protection.outlook.com [104.47.36.49]) by dpdk.org (Postfix) with ESMTP id F3C542B83 for ; Fri, 24 Nov 2017 21:36:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=IqSsiW0jCgGa5lz1w1ApBYjkKKMpsbu4Qd1At2TCd2g=; b=Df9Jv6S1/S+Eayn7uy/mm+xczR6QR27DC1KdYkZmgZe0iOKVkkeYgR3INZFC584+VZU3IjOMRLn/mORmDVR+yiH1IQDuYQFGRf1wkuTo6z+QMuGvTSNr7csHr7f5MiCmr67t3MQCZ1FVHkDa3igMS0LTBV5c2nhqS00qhErN8JA= Received: from cavium.com (198.186.0.2) by MWHPR0701MB3833.namprd07.prod.outlook.com (2603:10b6:301:7f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.4; Fri, 24 Nov 2017 20:36:36 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Shahed Shaikh , Dept-EngDPDKDev@cavium.com Date: Fri, 24 Nov 2017 12:35:44 -0800 Message-Id: <1511555745-13793-5-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1511555745-13793-1-git-send-email-rasesh.mody@cavium.com> References: <1511555745-13793-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: DM5PR2001CA0004.namprd20.prod.outlook.com (2603:10b6:4:16::14) To MWHPR0701MB3833.namprd07.prod.outlook.com (2603:10b6:301:7f::26) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199); SRVR:MWHPR0701MB3833; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3833; 3:UmdeJ7+Ah4Kysb0Wv3kLRteMBDpnlFuQU9oIDqxRuFNvPMGb88sxcSflfzam0khMchKjA8u4BEYu19QkhxpUyyRkYL8tv6NLlAn5TdRhUZE/cR3c+9NVYrNxTiEdyhLXjOcEL1qMnbmYWfjLJLN/f6VVQgqvmBW4Wqoy6f3t4sMajAX+M9zE79eKhD9W23uejXwt+l6HWWtlkxgAGIPPL8DckMfyCzv3b572nP+ZSisSv/q2eknMzJN4VPOlnaHS; 25:asvLe3tQlVyYnJXpBZhx3GTJbFOvDNOM2wuX/zmtiepIQvehaeK5kwNmc+qintfXAMAPH5PH1NMAFG1XaZKQRIvwy4uOmkaaj+cXlT7T5QnBq9/7jwawE8bJ85O0M6FX057jtm4Ta0eziqj+hFAwnE3LPpxLLyFvH/VnKHIXFU+rSPX3f7ujC5B/PICgcQ9GKtyP2qz617jYz4kA5SaL4aZH6yo7sZMWP2yriyv77tbuWWZCB7AyLUK+QU6tWMTwjhT7Iv6/UUc9lCZJjYZp6jHutldfWLmvneh0L2wx9D0v4ot5spya/OTPVabVHw0CHYBWooRmlftBdYBIDMVLAQ==; 31:ilCK94pA9Do75X+U3MwGT5J+hcuxTtBCVVJIE/IT8fnm/IxVn4yqvHbGd17pqcJtxIoVkRzIwt8Z2Gr6wrwCBKqXVoTEz0oIL7T539kxu2INHbdYmecG4vJzlJoE375RbiVnZQiRUNnH1GnrWHvqOh9O0pW6NXPHRjb2PJIejKAHj/VMx55dvCncaLVphb8yx+iDePWNuhGxllJDsiOrGqk1RpOFV0pHT9nGhTMQaCs= X-MS-TrafficTypeDiagnostic: MWHPR0701MB3833: X-MS-Office365-Filtering-Correlation-Id: 7bd28870-f9d6-495d-ef9b-08d5337b0f11 X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3833; 20:8h5ki54MTkifTN7dsm4VI227xVMfBe8tGs54/Jv+MLIgYYhXT49g3caA9vlFMFqW47PWQd9m4XLce3IFOuUNdDwA5z4xfxsgJzhs1g4B+y3dUTlk+8hGrWP+UxMfo0QfCrPYWBQEVlbIgIOpFWb2/6KrmbXQ3/UwF7ROG1/LngQ4UOPa5OzmAJyiyArRqh4NeZZeB/EEw63FTu6v3OKTVChITRUbEY+idILhb0hl6BYvOz2wPCLm0xWV/ARVKydh/Rh58HOhnfdOWbrzQ7mXp7rbDTD0JM2z2U1pL2VHL19Pr2zjVvYMdAPgR33VFVuJd5Ph87eRsYOJRY643AhA0EPXyB5Pa4uMpdJMQS+dlR8Hf8RQjuvnI3OrH8O734G9BIL2gD0YXfTmjNpo9hTPBEfpTUE4bVvZEXu2k0imGda8GNc5K9oZGhvpMrlsqLTdlRRvFZFb2k/GK2MsX/81aU6egE1waxi3eeL88L7925gvYGj3DpfOZNY71ieJh4JR; 4:iww1i4a55Nbsg3H6j/QXiZaTOoqDz04gMTlRX5nqtqRh+ZMUPK0N+Yt7CwduCeAjdv1jVTrJb9Lwu7GF9JnXcG8iccXyWFozERRn4WTrGQZvUy4fltNNxqs9S3JipUuBJ5G61dA8siloSVJyK0sbwLbWE1Yid0k7kg8qWMVHhY2Nff+pdKQVmBUr/eb7LRAtlZLGYEcQ/CW/Eckb4tDdNaRQMkXagYSpXKE8kYV/pCPGZr+d58B3VqqcydhSOhf8kiCugYu3oojQwmykcB46CyCW63oO+n43WZZZ265SwREesY3b/8iRBI5nknx5BN+N X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(3231022)(93006095)(93001095)(3002001)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123562025)(20161123558100)(20161123555025)(6072148)(201708071742011); SRVR:MWHPR0701MB3833; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:MWHPR0701MB3833; X-Forefront-PRVS: 05015EB482 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(366004)(199003)(189002)(21086003)(305945005)(97736004)(7736002)(50986999)(81166006)(76176999)(81156014)(2351001)(50226002)(105586002)(8676002)(33646002)(2361001)(101416001)(66066001)(107886003)(7696005)(36756003)(106356001)(68736007)(47776003)(16586007)(316002)(6116002)(3846002)(5660300001)(2906002)(48376002)(50466002)(52116002)(69596002)(8936002)(4720700003)(4326008)(6666003)(72206003)(2950100002)(6916009)(53936002)(478600001)(189998001)(16526018)(25786009)(51416003)(86362001)(55016002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR0701MB3833; H:cavium.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR0701MB3833; 23:SYR4ePN9EwTkOHESWV+IdFGLNtXlk2ixGRtUlI/?= AO3BK9yl0HwWXLvSJER1111yZ/iUqnGxVKEy4o7or3bWAkel1dBZbMBUNGglF3cmwFzzK4apQO5WRgBaI8TSsm+gFgBVstRcC0cAQ1JgZihcl23pVL3nTYCFFev8620uAD0mytTtHZ6SwwQHC4xBMaJoc7C+QnMtgtMK3Fo397EXcm2UW34xgre4DknHyPSOoudx5/qmUTlz4D4pav1NKKhtiiUtlmxJn4lyRbUoWiM42fI7C+8WZ9tJrXBVHiVnup1haLpMpajxCg2rlbSg1E6eHNQnjQ6yW/FbqXugUKHebJ374+ztDxU4nT+LjnvDcnW/NGbQOp4zKe+c4ln8FCEjM53HWh7wS9KYFg6d/xvdIuCSR3XoK0AP3SS2SGE35LWgz57lA77CPXAHn7PAvqG2EaEhmDaFb0I9d3eL2Si4YaLKKb0R8Ttd9w9qJf9qc01trqqRDuGKL6taLdnBMPXE7WhFm2aWTdGC5tD0WwpU0gr+kw0QTSz3tGCrSjvIij3uVYQ5tjamFMpRA5rpGy6tMW1EFQS4vy3p+rN2UhzSDCHX8bzaxGK5Qmxq1hlh6N8pXVD01ZTqSU2drPJ4kj9L5wz5JtWOmHLHMqO76gpDta2SMyhNJbVSTBn8Hrr1YNqRH8DjDmqT0Z0uHw8OP8eftqUXNNZ3VikfrnEfhX4U46GlHfOf56TWYFQWYmH4ecKKt2PNi0E49w8kGA9RtGDV4sQ2pThPrr729HH9kgLacoCHcqx9WuCZ7GImqVSs5Zk8GTJs+/TYCj33HPqU2mx+Q3sYLy4DQg+Ch7hDpT3Zl9XmLUg43gAqtBpqM1GzZmY+iNlCrRpIUPnmzLmRsiycXl6RsbJ/HJIc7e6Q8no/wrSwyz5JnjX0IFu53CQol8QMZuK/gkjKjaqhk59Y7q7VOCfsYyzkyLpfHgOZyKllyW7AefA+21ubMI0rhJUNK4HcOqmXLJR10kU21JURsMfWqgrdDar1CDEVbLqljcvmDRYBkUSi7ROLKCrh0rP3Oo42BmozgQ7ruPshoo+IIJjJL3TUcWhGM2u3C8+iAr/oiygCCnd0KZHrXXNIKqii6cqWUNYfb08Ebig+dmNEwyCr118x4zxUoLa0TtwmKftuFh7CNhNgI/MxeYMFndxKafZITHOpSEULYSgtj5p7v/fY95nipVlh1ZiGT8mYw1IIxLQ== X-Microsoft-Exchange-Diagnostics: 1; MWHPR0701MB3833; 6:hBG7moigMnm9BSrqQamW+BcT+bQcDLWn9u2Iprrx+qpVnt4tiODpFz7ClCaKMd6J4m/CtPZg80wwalSacR3ea+HbxUcq9z07oDcJ9xO7oMymmNVF6g+XdrAes8EdsYEh4IQwlRnuwjHK8jDJ/DG7XZBTYAJly0zxXnaj34iQTc8qYPiwQhKmwptp7dq1Wtd9lpxX0vhRRpBDVPuO/a8y01pQMYKwrkDUmoMRZiW4FpIQLCzDBAJCvcm3O3bP9kWJHT5Itzii+0OpvIM/8+IA4I60vERS3yp7/6weO1udk7K4qPXr4JXWN0SUhFvwbTpASw83srFcqk+DK0n2gXRb5bKvsXp0mCQvW8Ee0HS1pYg=; 5:FLYhpjEVmkxc48qui1ZMaOSt+W9HMmGDC+cjcPsHGG7rhWNDX73XNr0hYSE+tLLtyXH4IsGjeVwuUocI6TB9oZizV5YzotiIdYGuiy56ZvTILrAeaXhl6Wt/IPFyid6qAhXXUDaE7UfgzZJnVW9n9s6viWpIZ5t0dpwTua+RF8s=; 24:MC3D63GH1Sok0+HiQzmDttNhlLPvcupg9M8/lHMS8bI3bpH7jJDNFjfZfLdiE1bim0E+iZ7pHGKyYkE1oOh6IQkXieebh3O6pzvBux2m8Qs=; 7:6gTiM+J/VcLtByQHk5g5y3843fmnCZNHmrYeS2mGD7R+vvon2mdBG9T94XayltoycUXRo+ri4h4UyqiKJcTS2bKMnie+fSuLjI/n7iNko2j1g5auc4Xoyt0EJ9ZOlH/5bVgfbHaYDaxvk0TzBZuqytRh1g3xCD9XuH3GV6AJHDvLFGVEkbKTbZgUXwGrJbvbSzU5v0vIhunwtK+crGWprHMRDbLM6pfKmgZQURLRLpLWdVIYXWk05UNpwx4OmnSF SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2017 20:36:36.5402 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7bd28870-f9d6-495d-ef9b-08d5337b0f11 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0701MB3833 Subject: [dpdk-dev] [PATCH 4/5] app/testpmd: add configuration for udp port tunnel type X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Shahed Shaikh Replace rx_vxlan_port command with rx_tunnel_udp_port to support both VXLAN and GENEVE udp ports. Signed-off-by: Shahed Shaikh --- app/test-pmd/cmdline.c | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index f71d963..4b5a8cd 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -402,11 +402,11 @@ static void cmd_help_long_parsed(void *parsed_result, "imac-tenid|imac|omac-imac-tenid|oip|iip) (tenant_id) (queue_id)\n" " remove a tunnel filter of a port.\n\n" - "rx_vxlan_port add (udp_port) (port_id)\n" - " Add an UDP port for VXLAN packet filter on a port\n\n" + "rx_tunnel_udp_port add vxlan|geneve (udp_port) (port_id)\n" + " Add an UDP port for VXLAN/GENEVE packet filter on a port\n\n" - "rx_vxlan_port rm (udp_port) (port_id)\n" - " Remove an UDP port for VXLAN packet filter on a port\n\n" + "rx_tunnel_udp_port rm vxlan|geneve (udp_port) (port_id)\n" + " Remove an UDP port for VXLAN/GENEVE packet filter on a port\n\n" "tx_vlan set (port_id) vlan_id[, vlan_id_outer]\n" " Set hardware insertion of VLAN IDs (single or double VLAN " @@ -7984,6 +7984,8 @@ struct cmd_tunnel_filter_result { tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_NVGRE; else if (!strcmp(res->tunnel_type, "ipingre")) tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_IP_IN_GRE; + else if (!strcmp(res->tunnel_type, "geneve")) + tunnel_filter_conf.tunnel_type = RTE_TUNNEL_TYPE_GENEVE; else { printf("The tunnel type %s not supported.\n", res->tunnel_type); return; @@ -8029,7 +8031,7 @@ struct cmd_tunnel_filter_result { ip_value); cmdline_parse_token_string_t cmd_tunnel_filter_tunnel_type = TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result, - tunnel_type, "vxlan#nvgre#ipingre"); + tunnel_type, "vxlan#nvgre#ipingre#geneve"); cmdline_parse_token_string_t cmd_tunnel_filter_filter_type = TOKEN_STRING_INITIALIZER(struct cmd_tunnel_filter_result, @@ -8046,7 +8048,7 @@ struct cmd_tunnel_filter_result { .f = cmd_tunnel_filter_parsed, .data = (void *)0, .help_str = "tunnel_filter add|rm " - " vxlan|nvgre|ipingre oip|iip|imac-ivlan|" + " vxlan|nvgre|ipingre|geneve oip|iip|imac-ivlan|" "imac-ivlan-tenid|imac-tenid|imac|omac-imac-tenid " ": Add/Rm tunnel filter of a port", .tokens = { @@ -8069,6 +8071,7 @@ struct cmd_tunnel_filter_result { struct cmd_tunnel_udp_config { cmdline_fixed_string_t cmd; cmdline_fixed_string_t what; + cmdline_fixed_string_t tunnel_type; uint16_t udp_port; portid_t port_id; }; @@ -8084,9 +8087,12 @@ struct cmd_tunnel_udp_config { tunnel_udp.udp_port = res->udp_port; - if (!strcmp(res->cmd, "rx_vxlan_port")) + if (!strcmp(res->tunnel_type, "vxlan")) tunnel_udp.prot_type = RTE_TUNNEL_TYPE_VXLAN; + if (!strcmp(res->tunnel_type, "geneve")) + tunnel_udp.prot_type = RTE_TUNNEL_TYPE_GENEVE; + if (!strcmp(res->what, "add")) ret = rte_eth_dev_udp_tunnel_port_add(res->port_id, &tunnel_udp); @@ -8100,10 +8106,13 @@ struct cmd_tunnel_udp_config { cmdline_parse_token_string_t cmd_tunnel_udp_config_cmd = TOKEN_STRING_INITIALIZER(struct cmd_tunnel_udp_config, - cmd, "rx_vxlan_port"); + cmd, "rx_tunnel_udp_port"); cmdline_parse_token_string_t cmd_tunnel_udp_config_what = TOKEN_STRING_INITIALIZER(struct cmd_tunnel_udp_config, what, "add#rm"); +cmdline_parse_token_string_t cmd_tunnel_udp_config_tunnel_type = + TOKEN_STRING_INITIALIZER(struct cmd_tunnel_udp_config, + tunnel_type, "vxlan#geneve"); cmdline_parse_token_num_t cmd_tunnel_udp_config_udp_port = TOKEN_NUM_INITIALIZER(struct cmd_tunnel_udp_config, udp_port, UINT16); @@ -8114,11 +8123,12 @@ struct cmd_tunnel_udp_config { cmdline_parse_inst_t cmd_tunnel_udp_config = { .f = cmd_tunnel_udp_config_parsed, .data = (void *)0, - .help_str = "rx_vxlan_port add|rm : " + .help_str = "rx_tunnel_udp_port add|rm vxlan|geneve : " "Add/Remove a tunneling UDP port filter", .tokens = { (void *)&cmd_tunnel_udp_config_cmd, (void *)&cmd_tunnel_udp_config_what, + (void *)&cmd_tunnel_udp_config_tunnel_type, (void *)&cmd_tunnel_udp_config_udp_port, (void *)&cmd_tunnel_udp_config_port_id, NULL,