From patchwork Sat Mar 26 17:55:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 11761 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 64A8D5A95; Sat, 26 Mar 2016 18:56:51 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0099.outbound.protection.outlook.com [157.56.111.99]) by dpdk.org (Postfix) with ESMTP id C5D955A84 for ; Sat, 26 Mar 2016 18:56:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-caviumnetworks-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=y8C6fh6PeJz5+yvHEXhplcoliZbB+oruyF747Lj8zSA=; b=UDyMGH1JKSdMAMhggmIngivkRBPjYLDT5gbrP459djpa09DsmY4XVfqu5v1kZf3pvneVVinOkDB8HTd82RsXBblut0d5Fr4Yd56Afi7W7zHxfVAaxhlLqHxhnsX9PKbuI/ZkrXKrrlzgAej8A/Fu2HmIVubYonMP1GOnyrwt5n4= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain.localdomain (202.83.57.205) by BLUPR0701MB1715.namprd07.prod.outlook.com (10.163.85.141) with Microsoft SMTP Server (TLS) id 15.1.447.15; Sat, 26 Mar 2016 17:56:45 +0000 From: Jerin Jacob To: CC: , , Jerin Jacob Date: Sat, 26 Mar 2016 23:25:36 +0530 Message-ID: <1459014937-852-1-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.1.0 MIME-Version: 1.0 X-Originating-IP: [202.83.57.205] X-ClientProxiedBy: MA1PR01CA0030.INDPRD01.PROD.OUTLOOK.COM (10.164.117.37) To BLUPR0701MB1715.namprd07.prod.outlook.com (10.163.85.141) X-MS-Office365-Filtering-Correlation-Id: 91cc42d1-8316-4ffe-3422-08d3559fffc3 X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 2:QNkHfTgj9PhL7G6883BdhUkhP2GNEoJEgJWrZ2HMxTmNwq48dDa5go4r0Znb2o7WTstO15dDmb/a3mbv/Ka6/1IrOU/HvLzRqNkC5EuAvGwfXxMZHw8oC4eI/85PNJaVUmqbAIPbYv214TE9I5NicIte/rvismaP9VMoeL3JRQIoN4nb2LqPU8XBJVL543Ob; 3:sL0B3R7OgVvfgR4sj7v0MXiCF5wpaaiwno5KjdwUf1gu3aIsKOTKeosJq4EZLm7xo6SdLpc2V8kGIvhHbdRysoIkfxXzBjBUBCPBrtcDNrhCa56H3HzBgdjRLzUiINoi; 25:lUn4J36OMeK/uZgAZyB8bunkXl1RvBj2rHwwcXzaG6sk/j5VJo8Jukg9v09gnxX8JplJDJoGTFqIw/+tjtzbIW01X6GLTWMy+a78lMlw28wS6LmG5J1IO4gaMS0vrYGHz/CwgkLTcR7ymr9pfVnSGIAX2IWjB0VBJo5b+vCVKUi2YGdFM8c8tJPt54zRMX7TqflUxjjLTg7uPr1LyPNBxrcolQc3/iSgir0HFSPhzBiXMb/yH41gprsV4Hr7vJ0h9O1YWsghWrhnL6ASNE9gm0es7c38E+2jmBSrylgeli/OaCHzpUYZ+g6bF28qxwk2kZK/+AISUZbdLTz4Wpn2W5ds1sXdgT2hPekFUODxHgY7wuQhpMtwrsIFV1AOC8LcPDlo5udWG74qJiKuMuNcuLkq6j2e+ClghIJtv61QDuUgZ8PTqVoKMCOTS2JjQWDAS9UHIcZLFSIIcCmk8mWyBy7YZaSZzOIO5HF/NnxN7e1oLprjxSC61tiVRuckMZB5Ml8aKHCfR0t8RxS47aRW2LJI4weTGnkflgYQJS79MJyWiGFU2QNKgdjmTZ/Wd0VF3L81WjZIgxY3YOEETMFMK5l53thtJg1va2xHdAyv1K8= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1715; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 20:PHbXYI1JydJT0jHUk9eEamJLIoxwjISZkjad6gLVz84TozXSF7p1RMBcCnvJmLC6pcP7Z3NEkY/hrhRnogD86OLhLEeGhBsdzvm9I6PxIUU9qelkVGO8rvQmx6ypI796+K0uYyFr2n4Ud6IClaeAdVSaSRLPFLLxDcXTVjlJXXi20KcknEame+AyZUj95kNClosKe71sPaXPRQmqXfpP+3BqhIEgM6AZQJWy9dS537HLJTsBRGsPYUeiX5hwBMg39Gf3dtZUAyYM549sTVjB8rMOPYiGaiZNIbZZ3Fdpul5dXcjoysT+Iai0Ju3EC6T/8Sx9COxeuAcMouqJt7NR5yxfwBiUtRqdJK4GzMTWuDVNbZ6Pw8Q9thjJhQSLSig8zpDrJ5/fUBF2DJYfwRAu9PCNDCXYshmpFoaZZE6rS9+Wop2GDDThiJpYuIrWiLYjzWzPfYzCqDT3H3xgWeVD2kqAG+VsdavT5Hy9uPQ8dT1bq5xUUNe7DuNhb029CRjid5Gzhuu07u87WvuYX0//u6BD2ZFl4suxSeX5m9QfYp06i2boUS9BdYbrZpVQsHUP96H0MCu1cNXqx/k/0Vb9Ep01iUUJJUhG2UdwfIbx+1Q= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BLUPR0701MB1715; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1715; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 4:6M6leU1oEz9+QWtfIHUCrzgdyJpKVlpjQcx4BndL2sClpEnXVY9CvyagJbWcBP0FWpT4eAVDyaigN9Kmt2YIwo2FWSvdnemMAubjjoBXqY1zvW5WhHlZetJyjaOO0G+8rpJUo5+5riYf+dnoJ8ybW957qscYzPC+boANapdB6I1Ge0vP5ubsPopSm870aRm4+34f6Vq/3mlBYw2SM3HlWOo/Pi2du9ed+TpyJnw/33cQTNR0ABzIjO/2m+iwy48/kmkVA6h68+RscaqrYaRMl2WfytJ+4oyX4TYXcOJ97SNSK8GO/RMDjybmqy2AFtFXuFHIsMVzmI25gS0fyEqCduj5IS7D6KQSVVZYR8l7Se1iYzeU9/u/Lrf1C544WE6w X-Forefront-PRVS: 0893636978 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(42186005)(5008740100001)(6116002)(50226001)(3846002)(586003)(1096002)(110136002)(107886002)(77096005)(33646002)(66066001)(4001430100002)(4326007)(229853001)(50986999)(47776003)(2906002)(86362001)(48376002)(50466002)(2351001)(81166005)(19580395003)(92566002)(19580405001)(5004730100002)(189998001)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1715; H:localhost.localdomain.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 23:8KdCINV8dDm2XEURs0lKrNzxhDI1eTQF4RKitIX8Ab/vc6WEktXZFX6L7YXJ4ghJOn71a3X/ymY7FJ8uJlp5BMb64UW6vcD0lbUjoEZ3eX4D9ZHXMxoe32kJN6DyHH9K4zMKShIi3k7tSiodKySP+QAru/UJsZQDjr/v0iJjTYQiRUmZvOUCTM9AsmQU7Sd6add4WvAYGwhkr7A7R4h84foiz8RFWAtT6xWDkAD6SwsfqYxoNkGknzJse3r6My4+dJwboqeNbqlEefcxfWioeIgWL7lX0eJlUWr7HnC8U/M7aJt72YuUXfRRpC6yRJINa+Wftz3kbFWOyC/xa4sE+TiP5ZRgzV1XOgcJUPLxa2gRCVfFZlkMmmSH5cyMX6DpDKutdnW/fL6jIt+9sTtj7setiAltKEuJBJ8X3A3qHs9M3pO1m6MslQaTdXi5c1bDwOttjrorEu9Gi75OZDNSXvhRlQbkcrsSIxy5c3mVlu1Gkxcvfd+N2tB2QUcn3tn/XIyX9lbUXxAoMLKEEKOC2NjQE2RehmwjsSFTwiH4BebBglDMZp/AvVrmDH9w57jklblIh/CscMtewoPqIO0GFUTQa7m30ViTW+J4AmjHhmvmuO7BKC7OmL/ixrHjKectmPqmYRdBA8ep7L4QIorJED+yH22c0p2H97gI/x+YSbqDY8GWfwANxcOrc3RI4suEYLiw3LjBg558XQx0h4F0u33nba5CBYr8Z+c8Fhyw9YtjX58SJXh72lc/sCu+va409nrzY70Xa47DWRHCzNon9goyJrEAxyP1JEpbrhuN4GjnmkC4/wzykgQUA95S6chR6VuUCI3GqUjrojS2ztnsdmwppBVLu5dSd+inDf+owob8gtNAXgK0tTay+3+BJe8B X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1715; 5:ZHuIP8ZiesDqI+hAqmQbM9TTGRfz1wlE/orv3cGsoJbvV6VZAImaTk8aNkbsnmNNJzK46oRT6WrGxkMmjebwGffdxBcU1m2msBWk6IE3bkXuCcpzvF7ZN8+sYt9YitPuO62/XrpRHhzXBVzigbAAyQ==; 24:ZwgHmXOYg2DJ5L8K4QUXNCz46TkQ5FV1xOjte61Aj3oRWJx+dL2WJAXP+JWinpQ4/vvA5Mf7U0UI3ine3+KMChYKAPruhLZz6v+5WefisQI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2016 17:56:45.0383 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1715 Subject: [dpdk-dev] [PATCH 1/2] ethdev: add tunnel and port RSS offload types X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" - 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 --- 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.